3

Python プログラムの実行を 2 つの異なるマシンに分割しようとしています。あるマシンで別のマシンからPythonインタープリターを呼び出す方法があるかどうか疑問に思っています。別のマシンでスクリプトを実行するのではなく、実行タスクを 2 つのマシンに分割します。

今後 2 か月間、自己分散プログラミングを教えますが、これは始めるには良い方法だと思いました。

最初のステップは、あるマシンを使用して別のマシンを呼び出し、プログラムの一部を送信することだと思います。次に、両方のマシンが同じプログラムを一緒に実行し、通信して問題を回避します。3番目のステップは3台のマシンなどです。

アドバイス、ヒント、および考えはすべて大歓迎です...

4

4 に答える 4

3

Disclamer:私はSCOOPの開発者です。

分散処理に精通したいデータベースのテクノロジーは、MPI標準(マルチコンピューターの場合、mpi4py [推奨]またはpympiを使用)と、リモート計算を可能にする標準のマルチプロセッシングモジュールです(ただし、私の観点からは厄介です)。 )。

ただし、タスクベースのフレームワークから始める必要があります。それらは、シンプルでユーザーフレンドリーな使用法を提供します。SCOOPを作成する際には、これらの両方が最大の焦点でした。で試すことができますpip -U scoopWindowsでは、実行可能インストーラーを使用して最初にPyZMQをインストールすることをお勧めします。提供されている例を確認し、さまざまなパラメーターを試して、パフォーマンスの低下または増加の原因を簡単に理解できます。同様の作業のために、 Celeryなどの代替品と比較することをお勧めします。

これらのフレームワークは両方とも、Pythonプログラムのリモート起動を可能にします。さらに重要なのは、タスクをフィードするだけで並列処理が行われることです。

リモート環境をセットアップしたり、スクリプトをリモートで制御または起動したりする簡単な方法については、Fabricを確認することをお勧めします。

于 2012-09-02T17:41:05.500 に答える
1

Python には MPI バージョンがあります[1] [2]

MPI (Message Passing Interface) は標準化されたインターフェースであり、C、Java、(Fortran) などにも見られるのでクールです。

これにより、リモートで実行されるプロセス間で通信できます。これらのメッセージは、同期と情報の受け渡しに使用します。

broadcastgather、などの集合操作もあります。reduce

于 2012-09-02T14:57:53.560 に答える
0

RPyCを見てください、あなたはそれが役に立つと思うかもしれません。

于 2012-09-02T17:06:12.037 に答える