1. 次の問題に対して mapreduce のオーバーヘッドが高すぎますか? 各マップ/リデュース サイクル (たとえばディスコ) が非常に軽いジョブにかかる時間を知っている人はいますか? 2. この問題に対する mapreduce のより良い代替手段はありますか?
map reduce に関して言えば、私のプログラムは 60 の map フェーズと 60 の reduce フェーズで構成されており、これらすべてを 1 秒で完了する必要があります。この方法で解決する必要がある問題の 1 つは、約 64000 の変数を使用した最小限の検索です。検索用のヘッセ行列はブロック行列で、対角線に沿ってサイズ 64x64 の 1000 ブロックがあり、右端と下に 1 行のブロックがあります。:ブロック行列反転アルゴリズムの最後のセクションは、これがどのように行われるかを示しています。Schur 補数 S_A および S_D のそれぞれは、1 つの mapreduce ステップで計算できます。逆数の計算には、もう 1 ステップかかります。
これまでの私の調査から、mpi4py は良い賭けのようです。各プロセスは計算ステップを実行し、各ステップの後にクライアントにレポートを返すことができ、クライアントはサイクルを継続するための新しい状態変数をレポートすることができます。このようにして、プロセスの状態は失われず、計算を更新して続行できます。 http://mpi4py.scipy.org/docs/usrman/index.html
このwikiにはいくつかの提案がありますが、最も開発されたソリューションに関する方向性を持っている人はいますか ? http://wiki.python.org/moin/ParallelProcessing
ありがとう !