箱庭PDUアーキテクチャ(その7:箱庭コンダクター・イントロ)


さて、今回は、いよいよ 箱庭コンダクター 編です。

……と、その前に。

コンダクターの役割をきちんと理解するためには、
じつは そもそも論としての分散シミュレーションの課題
一度整理しておく必要があると感じています。

  • 時間のズレ、
  • 計算結果の到達タイミング、
  • 順序の不一致。

こうした話は、分散システムに関わっていれば
どこかで一度は耳にしたことがあるはずです。

ただ、それらが 実際にどんなペインを生むのか
そして なぜそれが簡単には解決できないのか については、
意外と整理されないまま使われていることが多いように思います。

そこで今回は、
 いきなりコンダクターの話に入る前に、
 分散シミュレーションが抱える“当たり前の落とし穴
を一度、俯瞰してみたいと思います。

分散シミュレーションのペイン

こちらが、そのペインを描いたものです。

じつは、これらのペインは、単に「時間がズレる」ことが原因ではありません。

問題は、
そのズレが、どこまで結果に影響しているのか分からなくなること
にあります。

物理モニターと行動モニターが別々に存在する世界

この例では、上段に、 2つのモニターが描かれています。

  • 左が 物理世界のモニター
  • 右が 車(エージェント)の行動モニター

どちらも同じ世界を見ているように見えますが、
実際には 別々のノードで、別々の計算結果 を観測しています。

それぞれが返してくるのは、

  • 「この時刻に、衝突が起きた」
  • 「この時刻に、回避行動を選択した」

という 事実の候補(まだ世界として確定していない情報) です。

問題は、どちらも「間違っていない」こと

ここが重要です。

物理モニターも、行動モニターも、
自分の立場では正しい情報を伝達しています。
正しい。そう、まったく正しいのです。

しかし、それらの情報をモニタリングしているノードにおいて、
問題の原因を分析しようとした瞬間に、困る場合があります。

たとえば、衝突映像が先に届いた場合、
私たちは「衝突判定の検出が間に合わなかった」と解釈します。

一方で、回避行動のサインが先に届いた場合には、
「衝突判定は間に合ったが、行動が間に合わなかった」と解釈します。

しかし分散環境では、
この観測順序そのものが、
通信遅延などの影響によって毎回変わってしまう。

その結果、
どちらの因果関係を採用すべきかを、
一意に決めることができなくなるのです。

どちらの情報も「正しい」けれど、
因果関係が見えなくなる

これが、分散シミュレーションにおける
最も厄介なペインです。

問題は、
「どの情報を信じるべきか分からない」ということではありません。

すべての情報が正しいにもかかわらず、
ストーリーが組み立てられなくなること
なのです。

順番が変わるだけで、解釈が変わってしまう

分散環境では、

  • 計算時間の違い
  • ネットワーク遅延
  • ノード負荷

によって、これらの結果が届く順番は毎回変わります

その結果、

  • ある実行では「衝突した」ことになり、
  • 別の実行では「回避できた」ことになる

――という状態が生まれます。

人間がみれば、解釈が変わってしまいます。
コンピュータの制御ソフトからみれば、判断→実行の流れが変わります。

これが、図の下段に描かれている

  • 「結果が毎回違う」
  • 「デバッグできない」
  • 「スケールすると壊れる」

というペインに、直結するのです。

重要なのは「ズレ」ではなく「判断不能」

ここで一つ、誤解しやすい点があります。

問題は、

時間がズレていること
そのものではありません。

本当の問題は、

どの事実を、その時刻の世界として
採用すればよいのか分からなくなること

です。時間のズレは避けられない。

しかし、判断基準がない状態は避けなければならない。

箱庭はどう考えるか

箱庭は、この問題に対して、

  • 「完全に時間を揃えよう」
  • 「すべてを再現可能にしよう」

という理想論では戦いません

そうではなく、

  • 時間のズレは bounded にする
    → 「一定範囲のズレは許容する」など、範囲を決める
  • 時間の調整は一元管理する
    → 基準となる時間を作り、分散ノードはその時間にしたがって動く
  • 再現性が必要な局面だけを切り出す
    → 衝突の瞬間だけ、シミュレーションを同一ノードに集約するなど

そして、その中心にいるのが、 「箱庭コンダクター」 なのです。

次回は、このコンダクターが どのように世界を確定しているのか
もう少し具体的に見ていきます。

つづく。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP