私は Scala と Akka を初めて使用し、問題を解決するために使用することを検討しています。計算エンジン (解を検索する) があるとします。各ノードの各CPUに独自のエンジンインスタンスを与えることで、CPU全体とノード全体の両方でその検索を並列化したいと思います。
エンジン入力は、少数のスカラー入力と非常に大きなハッシュ テーブルで構成されます。各エンジン インスタンスは、そのスカラー入力を使用してハッシュ テーブルに小さなローカル変更を加え、良さを計算してから、その変更を破棄します (他のエンジン インスタンスによってコミット/表示される必要はありません)。良さの値は、結果の中から選択するコーディネーターに返されます。
共有状態の手段としての STM TransactionalMap について読んでいました。これは理想的に思えますが、これを共有状態として使用する完全な例は実際には見当たりません。
質問:
- アクター/stm モデルはこの問題に適しているように見えますか?
- 共有状態を配布する具体的な例を教えてください。(メッセージとして Ref[TransactionalMap[,]] ですか?
- 異なるノード間ではなく、ノード内で共有状態を分散することに違いはありますか?
探究心が知りたい、
アラン