Skip to content

Commit

Permalink
add max_result_set_writers and excess check
Browse files Browse the repository at this point in the history
  • Loading branch information
YoshiakiNishimura committed Feb 20, 2025
1 parent e04a31a commit 1e9e445
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
5 changes: 3 additions & 2 deletions docs/config-parameters-en.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Target component
| thread_pool_size | Integer | Number of threads used by the task scheduler in the SQL service. The default value is set according to the environment by the following formula. MIN( <default worker coefficient> * <number of physical cores>, <maximum default worker count> ) If the result is less than 1, it is set to 1. Here, the default worker coefficient = 0.8, and the maximum default worker count = 32. |
| enable_index_join | Boolean (true/false) | Whether to use index-based join processing for performance improvement. The default value is true. | This is for development and may be deleted in the future. |
| stealing_enabled | Boolean (true/false) | Whether the scheduler steals tasks to utilize idle CPU cores. The default value is true. |
| default_partitions | Integer | Number of partitions when data is divided for parallelizable relational operators. The default value is 5. |
| default_partitions | Integer | Number of partitions when data is divided for parallelizable relational operators. The default value is 5. If the value exceeds max_result_set_writers, an error message will be displayed. |
| use_preferred_worker_for_current_thread | Boolean (true/false) | Whether the scheduler uses a fixed worker for each thread that submits a task. The default is true. | This is for development and may be deleted in the future. |
| stealing_wait | Integer | Coefficient of the number of times the task queue is checked before the worker of the task scheduler performs stealing. The worker checks its task queue more times by <number of workers> * <stealing_wait>. The default value is 1. | This is for development and may be deleted/changed in the future. |
| task_polling_wait | Integer | Time (us) the worker of the task scheduler waits until the next polling when it fails to check its task queue or steal candidates. The default value is 0. | This is for development and may be deleted/changed in the future. |
Expand All @@ -75,12 +75,13 @@ Target component
| dev_rtx_parallel_scan| Boolean (true/false) | Whether to enable parallel scan for RTX. The default value is false. | This is for development and may be deleted in the future. |
|dev_thousandths_ratio_check_local_first| Integer | This parameter defines whether the worker of the task scheduler gives priority to dequeue the local task queue or the sticky task queue. Specify the number of times (greater than or equal to 1 and less than 1000) to give priority to the local task queue out of 1000 dequeue executions. The default is 100. |This is for development and may be deleted in the future. |
|dev_direct_commit_callback| Boolean (true/false) | Whether commit processing thread in shirakami directly notifies client of commit result. Effective only when `commit_response` is either `ACCEPTED` or `AVAILABLE`. The default value is false. | This is for development and may be deleted in the future. |
|scan_default_parallel| Integer | Maximum Degree of Parallelism for Scan Tasks. The default is 4. | This value must be less than the value of default_partitions. This is for development and may be deleted in the future. |
|scan_default_parallel| Integer | Maximum Degree of Parallelism for Scan Tasks. The default is 4. If the value exceeds max_result_set_writers, an error message will be displayed. | This value must be less than the value of default_partitions. This is for development and may be deleted in the future. |
|dev_inplace_teardown| Boolean (true/false) | Whether to process job completion (teardown) on current thread without creating new task. The default value is true. | This is for development and may be deleted in the future. |
|dev_inplace_dag_schedule| Boolean (true/false) | Whether to process state management by plan scheduler (dag controller) on current thread without creating new task. The default value is true. | This is for development and may be deleted in the future. |
|enable_join_scan| Boolean (true/false) | Whether to enable `join_scan`, an operator that scans and searches for candidates using a portion (prefix) of the data in an index-join process, when the data for the whole key columns are not available. Effective only if `enable_index_join=true`. The default value is true. | This is for development and may be deleted in the future. |
|dev_rtx_key_distribution| String | Specifies the method used to split key range used by RTX parallel scan. Choose one of the following `simple`, `uniform`, or `sampling`. Valid only if `dev_rtx_parallel_scan=true`. Default is `uniform` | This is for development and may be deleted in the future. |
|dev_enable_blob_cast| Boolean (true/false) | Whether to enable cast expression with BLOB/CLOB. The default value is false.| This is for development and may be deleted in the future.|
| `max_result_set_writers` | Integer | The maximum number of result set writers. The default value is 64. If the value exceeds 256, an error message will be displayed.|

## ipc_endpoint section

Expand Down
6 changes: 4 additions & 2 deletions docs/config_parameters.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ parameter=value
|thread_pool_size | 整数 | SQLサービスが使用するタスクスケジューラの使用するスレッド数。デフォルトは次式により環境に合わせて設定される。MIN( <既定ワーカー係数> * <物理コア数>, <最大既定ワーカー数> ) 結果が1未満になる場合は1とする。ここで、既定ワーカー係数 = 0.8、最大既定ワーカー数 = 32||
|enable_index_join | ブール(true/false) | 性能向上のためインデックスを利用した結合処理を行うか。デフォルトはtrue|開発用のため将来的に削除される可能性あり|
|stealing_enabled | ブール(true/false) | 空いたCPUコアを活用するためにスケジューラーがタスクのstealingを行うか。デフォルトはtrue||
|default_partitions | 整数 | 並列化可能な関係演算子の実行においてデータ分割を行う際のパーティション数。デフォルトは5||
|default_partitions | 整数 | 並列化可能な関係演算子の実行においてデータ分割を行う際のパーティション数。デフォルトは5。設定値がmax_result_set_writersより大きい場合はエラーが出力され実行が中断される||
|use_preferred_worker_for_current_thread | ブール(true/false) | スケジューラーがワーカーを選択する際、タスクを提出したスレッドごとに固定的なワーカーを使うようにするか。デフォルトはtrue|開発用のため将来的に削除される可能性あり|
|stealing_wait| 整数 | タスクスケジューラのワーカーがスティーリングを行う前に自身のタスクキューを余分にチェックする回数の係数。`<ワーカー数> * <stealing_wait>` 回だけ自身のタスクキューを多くチェックするようになる。デフォルトは1|開発用のため将来的に削除/変更される可能性あり|
|task_polling_wait| 整数 | タスクスケジューラのワーカーが自身のタスクキューやスティール候補のポーリングに失敗した際、次のポーリングまでスリープする時間(us)。デフォルトは0|開発用のため将来的に削除/変更される可能性あり|
Expand All @@ -75,12 +75,14 @@ parameter=value
|dev_rtx_parallel_scan| ブール(true/false) | RTXの場合にparallel scanを有効にするか。デフォルトはfalse | 開発用のため将来的に削除/変更される可能性あり|
|dev_thousandths_ratio_check_local_first| 整数 | タスクスケジューラのワーカーがローカルタスクキューとstickyタスクキューのどちらを優先的にデキューするかを決めるパラメータ。デキューの実行1000回のうちローカルタスクキューを優先する回数(1以上1000未満)を指定する。デフォルトは100|開発用のため将来的に削除/変更される可能性あり|
|dev_direct_commit_callback| ブール(true/false) | shirakamiのコミット処理を行うスレッドが直接クラインアント通知までおこなうか。`commit_response``ACCEPTED` または `AVAILABLE` の場合のみ有効。デフォルトはfalse | 開発用のため将来的に削除/変更される可能性あり|
|scan_default_parallel| 整数 | スキャンタスクの最大並列実行数。デフォルトは4|この値はdefault_partitionsの値より小さくしなければならない。開発用のため将来的に削除/変更される可能性あり|
|scan_default_parallel| 整数 | スキャンタスクの最大並列実行数。デフォルトは4。設定値がmax_result_set_writersより大きい場合はエラーが出力され実行が中断される|この値はdefault_partitionsの値より小さくしなければならない。開発用のため将来的に削除/変更される可能性あり|
|dev_inplace_teardown| ブール(true/false) | ジョブの終了処理(teardown)を現在のスレッドで行いタスクの作成をバイパスするか。デフォルトはtrue | 開発用のため将来的に削除/変更される可能性あり|
|dev_inplace_dag_schedule| ブール(true/false) | プランスケジューラ(dag controller)の状態遷移を現在のスレッドで行いタスクの作成をバイパスするか。デフォルトはtrue | 開発用のため将来的に削除/変更される可能性あり|
|enable_join_scan| ブール(true/false) | インデックスを用いた結合処理において、全キー列のデータが利用可能でない場合に、その一部(プレフィックス)を利用して候補をスキャンして探索する演算子`join_scan` を使用可能にするか。`enable_index_join=true` の場合のみ有効。デフォルトはtrue | 開発用のため将来的に削除/変更される可能性あり|
|dev_rtx_key_distribution| 文字列 | RTXのparallel scanにおいて、キー範囲を分割する手法を指定。次のいずれかから選択 (`simple`, `uniform`, `sampling`) 。 `dev_rtx_parallel_scan=true` の場合のみ有効。デフォルトは uniform|開発用のため将来的に削除/変更される可能性あり|
|dev_enable_blob_cast| ブール(true/false) | BLOB/CLOBのキャストを可能にするか。デフォルトはfalse | 開発用のため将来的に削除/変更される可能性あり|
|max_result_set_writers | 整数 | writer resultsetの最大数。デフォルトは64。設定値が256より大きい場合はエラーが出力され実行が中断される||


## ipc_endpointセクション

Expand Down

0 comments on commit 1e9e445

Please sign in to comment.