私はマスタースレーブアーキテクチャでmultiprocessing
の代わりにipyparallel
を統合しようとしています。マスターの奴隷からの結果のためipyparallelクラスタでキューを共有する
- マスターからスレーブへのタスクのための一つの
- ワン:
はすなわち、現在、すべてのプロセスは、2つのキューを持っています。
現時点では、私はmultiprocessing.Manager().Queue()
の通信用のキューを使用しています。しかし、彼らはプロセスのipyparallel
と共有することはできないようです。
私はこれを(そして単に関数を介してではなく)これを行う理由は、作業者をゼロから「設定する」ことは、計算を実行するのと同じくらい高価である(計算上)ためです。私は、労働者の環境を設定し、最初の計算を実行し、結果のキューに結果をプッシュし、次にタスクキューから(かなり小さい)更新をフェッチして繰り返します(map_async
などを介して)停止するまでの最後の2つのステップ(再び、キューを介して)。
このようなタスクのためのより良いアプローチ/フレームワーク(ただし、Pythonでなければならない)があれば、私はすべて耳にします。
おかげIPython平行な