コンテンツにスキップ

プロセスホスト

プロセスホストはワークスティーリングスケジューラを使用してLuaプロセスの実行を管理します。

各ホストは独立してプロセスをスケジュールします。ホスト間で自動的に負荷が分散されることはありません。
種別説明
process.hostスケジューラ付きプロセス実行ホスト
- name: main_host
kind: process.host
host:
workers: 8
queue_size: 1024
local_queue_size: 256
lifecycle:
auto_start: true
フィールドデフォルト説明
workersintNumCPUワーカーgoroutine
queue_sizeint1024グローバルキュー容量
local_queue_sizeint256ワーカーごとのローカルdequeサイズ

スケジューラはワークスティーリングを使用します:各ワーカーはローカルdequeを持ち、アイドル状態のワーカーはグローバルキューまたは他のワーカーからスティールします。これにより自動的に負荷が分散されます。

  • ワーカーはプロセスを同時に実行
  • グローバルキューはすべてのワーカーがビジー状態のとき保留中のプロセスを保持
  • ローカルキューはワーカーの近くに作業を保持することで競合を削減

プロセスホストは以下の種別のエントリを実行します:

種別説明
process.luaソースベースのLuaプロセス
process.lua.bcプリコンパイル済みLuaバイトコード
process.wasmWebAssemblyプロセス(実験的)

プロセスは独自のコンテキストを持って独立して実行され、メッセージを介して通信し、フォールトトレランスのために監視されます。