2009-10-21 11 views
7

テルネットサーバーを作成し、コマンドをtelnetして前後に出力することで、pythonクラスターを作ることは可能でしょうか? Pythonのコンピューティングクラスタにとって、誰かがより良いアイデアを持っていますか? PS。 Python 3.xでは、誰かがどのように知っているのが望ましいです。Python計算クラスタ

+1

インタラクティブな使い方や簡単な出発点として、ipythonを試してみてください。 –

答えて

16

Python wikiは、Python cluster computing libraries and toolsの非常に包括的なリストをホストしています。特にParallel Pythonに興味があるかもしれません。

編集:クラスタリングに特に優れたIMHOという新しいライブラリがあります:execnet。それは小さくてシンプルです。そして、標準のmultiprocessingモジュールよりもバグが少ないようです。

4

どのようなものをやりたいですか?あなたはhadoopをチェックしたいかもしれません。バックエンド、重い持ち上げは、Javaで行われますが、Pythonのインターフェイスを持っているので、結果を処理するだけでなく、入力を作成して送信するPythonスクリプトを書くことができます。これら

http://www.parallelpython.com/

http://pyro.sourceforge.net/

5

ルックは、私は両方を使用しているとの両方のオプションの詳細なリストのための分散コンピューティング
のための優秀です http://wiki.python.org/moin/ParallelProcessing

した場合を参照してくださいリモートマシン上で自動的に何かを実行したい場合は、telnetの代わりにsshをin http://pydsh.sourceforge.net/

14

Python 3で利用可能なサードパーティのパッケージのほとんどは、hereです。クラスタ計算に関連するものはmpi4pyです - pyroのような他の分散コンピューティングツールのほとんどはまだPython-2だけですが、MPIはクラスター分散コンピューティングの主要な標準です(mpi4pyをPython 3で使用している経験はありません私はそれが良い実装だと信じています)。

主な変更点はPython独自のmultiprocessingです。MPI標準を尊重しながらPythonでコーディングすることはできない既存のノードのインターフェースに興味がない場合は、スケールアップすることもできます。

あなた自身のものには本当の付加価値はありません(Atwoodは言うとおり、車輪をよりよく理解することを目的としない限り、ホイールを再発明しないでください) - 実用的で、テストされ、 、すでにデバッグとあなたに代わって最適化し、テストした - !)

+0

+1は 'マルチプロセッシング 'と言います。 –

-2

はい「Pythonのクラスタを作成することが可能であろう」。

私ははい/いいえの質問が大好きです。他に知りたいことは何ですか?

(あなたは、現時点でのPython 2に滞在したいことがありので、Pythonの3がまだいくつかのサードパーティのライブラリを持っていることに注意してください。)

2

あなたが管理スクリプトを記述する必要がある場合は、ClusterShell Pythonライブラリを見てみましょうまたは/およびそのパラレルシェルクラム。ノードセットを扱うときにも便利です(man nodeset)。

1

私はIPython.parallelが行く方法だと思います。私は過去1年半にわたって広範囲に使用してきました。これにより、必要な数のワーカーノードと対話的に作業することができます。 AWS上にいる場合は、StarClusterは、IPython.parallelを手に入れて、EC2ノードをいくつでも手軽に手に入れることができます。 (また、必要に応じてHadoopやその他の便利なツールを自動的にインストールすることもできます)。 (たとえば、IPython.parallelインターフェイス自体で大量のデータを送信したくない場合は、各エンジンのデータを個別にプルダウンするスクリプトを配布する方がよい)。 (WAYがHadoopより優れています)