プロセスホスト
プロセスホスト
Section titled “プロセスホスト”プロセスホストはワークスティーリングスケジューラを使用してLuaプロセスの実行を管理します。
エントリ種別
Section titled “エントリ種別”| 種別 | 説明 |
|---|---|
process.host | スケジューラ付きプロセス実行ホスト |
- name: main_host kind: process.host host: workers: 8 queue_size: 1024 local_queue_size: 256 lifecycle: auto_start: true| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
workers | int | NumCPU | ワーカーgoroutine |
queue_size | int | 1024 | グローバルキュー容量 |
local_queue_size | int | 256 | ワーカーごとのローカルdequeサイズ |
スケジューラ
Section titled “スケジューラ”スケジューラはワークスティーリングを使用します:各ワーカーはローカルdequeを持ち、アイドル状態のワーカーはグローバルキューまたは他のワーカーからスティールします。これにより自動的に負荷が分散されます。
- ワーカーはプロセスを同時に実行
- グローバルキューはすべてのワーカーがビジー状態のとき保留中のプロセスを保持
- ローカルキューはワーカーの近くに作業を保持することで競合を削減
プロセスタイプ
Section titled “プロセスタイプ”プロセスホストは以下の種別のエントリを実行します:
| 種別 | 説明 |
|---|---|
process.lua | ソースベースのLuaプロセス |
process.lua.bc | プリコンパイル済みLuaバイトコード |
process.wasm | WebAssemblyプロセス(実験的) |
プロセスは独自のコンテキストを持って独立して実行され、メッセージを介して通信し、フォールトトレランスのために監視されます。