そこで、私はしばらくの間 Akka Actors で遊んでいて、クラスター内の複数のマシンに計算を分散できるコードをいくつか書きました。「メイン」コードを実行する前に、ActorSystem
展開する各マシンで待機する必要があります。通常、これは、すべてのマシンに SSH で接続し、次のようにしてプロセスを開始する Python スクリプトを介して実行しcd /into/the/proper/folder/
ますsbt 'run-main ActorSystemCode'
。
この Python スクリプトをいずれかのマシン (「マシン X」と呼びます) で実行すると、マシン X の SSH セッションで他のすべてのマシンに SSH 接続した結果が表示されます。スクリプトを実行するたびに、実際に実行する前にすべてのマシンがコード全体を再コンパイルしているように見えるため、何か有用な処理が行われるまで数分間座っている必要があります。
私の質問はこれです:
なぜ彼らは再コンパイルする必要があるのですか? すべてのマシンで同じ JVM を使用できるので、すぐに実行するだけでよいのではないでしょうか?
各マシンが「独自のコピー」をコンパイルするというこの問題を回避するにはどうすればよいですか?