-自宅でコンピュータのクラスタの構築について、過去数年にわたってオンライン漂っいくつかの記事がありました、ここで例えば。
Piは、低コストのため、この種のものを構築/テストするための優れたプラットフォームであると思います。このような「一般的な」ガイドをPiに簡単に転送する必要がありますか、またはそのようなプロジェクトを試みるときに特に注意する必要があるものはありますか?
-自宅でコンピュータのクラスタの構築について、過去数年にわたってオンライン漂っいくつかの記事がありました、ここで例えば。
Piは、低コストのため、この種のものを構築/テストするための優れたプラットフォームであると思います。このような「一般的な」ガイドをPiに簡単に転送する必要がありますか、またはそのようなプロジェクトを試みるときに特に注意する必要があるものはありますか?
回答:
Dispy(分散計算Pythonモジュール)をご覧になることをお勧めします。
PC(サーバー-IPはであると仮定)から多数のRaspberry Pi(ノード)でプログラムを実行するには192.168.0.100
:
各RasPiにオペレーティングシステムをインストールする
各RasPiをネットワークに接続します。IPを見つける(動的な場合)、または静的IPをセットアップします。
(3つのノードがあり、それらのIPがであると仮定しましょう192.168.0.50-52
)
Pythonをセットアップし(まだインストールされていない場合)、インストールしてからdispy
、dispynode.py -i 192.168.0.100
各RasPiで実行します。これにより、dispynodeはサーバーからジョブ情報を受信するようになります。
PC(サーバー)にインストールしdispy
、次のPythonコードを実行します。
#!/usr/bin/env python
import dispy
cluster = dispy.JobCluster('/some/program', nodes=['192.168.0.50', '192.168.0.51', '192.168.0.52'])
/some/program
python関数で置き換えることもできます-例えばcompute
。
pythonオブジェクト、モジュール、ファイル(dispy
各ノードに転送されます)などの依存関係を追加することで含めることもできますdepends=[ClassA, moduleB, 'file1']
すでに行われた作業に注意する必要があります-RasPi boxenのクラスターの名前さえあります。組み込みLinuxのWikiは言うブランブルは「と定義されてベオウルフクラスタラズベリーパイデバイスの」。ラズベリーパイ自作は多くの持っているポスト について イバラの、そして見 も財団自身のフォーラムを。
サウサンプトンユニの一部の人は、クラスタをまとめて、http://www.southampton.ac.uk/~sjc/raspberrypi/で作業の詳細な概要を書いています。
完全に可能ですが、最大の問題は到達可能性です。実行可能なと思うだけでなく、ポータブルな並列コンピューティングのアイデアに沿って進むことができるので便利です。具体的には、FORTRANやC ++などのコーディング言語が最適です。
クラスタコンピューティングの詳細については、beowulf.orgをご覧ください
これは、上記のGuido Garciaの「dispy」に関する投稿への返信です。彼の投稿に返信する方法がわかりません。
プログラム( '/ bin / ls')が並列実行のために 'dispy'で配布されると、クライアントマシン上のプログラムは各ノードに( '/ tmp'に)転送されます。これにより、クライアントマシンでユーザーが開発したプログラムは、NFSまたは共有ディレクトリを持たずに転送されます。これは、ノードとクライアントアーキテクチャに互換性がある場合にのみ、バイナリプログラムで機能します。あなたの場合、クライアントアーキテクチャはリモートノードのアーキテクチャとは異なり、ノードはクライアントから転送されたバイナリ「/ bin / ls」を実行できないと推測しています。各ノードで/ bin / lsを実行する場合、Python関数またはプログラムを作成してディレクトリを印刷し(たとえば、os.listdirを使用)、バイナリ実行可能ファイルの代わりに配布する方が簡単な場合があります。
フル機能のコントロールパネルが必要な場合は、http://pi.interworx.comもあります。このページには複製方法に関する指示がありますが、そのサブドメイン自体がRasberry Piクラスターから実行されているため、辛抱強く待つ必要があります。ダウンした場合の写真を次に示します。