7

私は現在、コンピューター サイエンスの大学院研究のトピックを調査しており、より多くの情報を取得したい比較的大きな関心領域である分散コンピューティングを見つけました。StackOverflowには、同様の問題に対処する他のいくつかの質問 [ 1、2、3 ] がありますが、特に私が探している言語に関連する、必ずしも私が尋ねようとしている質問ではありません。

私は Web を検索して、分散コンピューティングの背後にある理論とメカニズムを説明している論文、記事、さらには Rutgers のこのコースなどのコースをたくさん見つけました。残念ながら、私が見つけたこれらの論文やコースのほとんどは、分散コンピューティングの実際の概念をコードで説明することにかなり限定されています。分散コンピューティングのプログラミング部分を紹介してくれる Web サイトを探しています。(できれば C または Python で。)

余談ですが、これはより具体的には、並列コンピューティングが分散コンピューティングの分野にどのように適合するかについて言及したいと思います。(どちらもまだ受講していません!)

4

2 に答える 2

3

免責事項: 私は SCOOP の開発者です。

それは本当にあなたの性格に依存します。先に進む前に理論的な情報を取得したい場合は、まず本を読むか、技術に慣れる必要があります。この主題の大部分をカバーしている書籍のリストは次のようになります。

  • Thomas Rauber と Gudula Rünger (Springer-Verlag) によるマルチコアおよびクラスター システムの並列プログラミング。
  • Calvin Lin と Lawrence Snyder による並列プログラミングの原則(Addison-Wesley)
  • Timothy G. Mattson および al. による並列プログラミングのパターン。(アディソン・ウェズリー)

知りたいと思うかもしれないデータベースのテクノロジーは、MPI 標準 (マルチコンピューター用) と OpenMP (単一コンピューター用)、および Python に組み込まれている非常に優れたマルチプロセッシング モジュールです。

最初に手を動かしたい場合は、シンプルでユーザーフレンドリーな使用法を提供するタスクベースのフレームワークから始める必要があります。これらは両方とも、SCOOPを作成する際の最大の焦点でした。で試すことができますpip -U scoopWindows では、最初に実行可能なインストーラーを使用して PyZMQ をインストールすることをお勧めします。提供されている例を確認し、さまざまなパラメーターを試して、パフォーマンスの低下または向上の原因を簡単に理解できます。同様の作業の Celery やコルーチンフレームワークのGeventなどの代替と比較することをお勧めします。冒険好きなら、恥ずかしがらずに組み込みのコルーチン機能をテストしてください。Python のさまざまなネットワーク スタックとプラグインします。

タスクベースのフレームワークを使用すると、ロード バランシングの実装の詳細、シリアライゼーションなどの理論的分析の負担が軽減されますが、これは重要であり、デバッグして作業を開始するのに長い時間がかかる可能性があります。分散システムについて必要なレベルの理解をすべて提供します。オープン ソース ソフトウェアの特典: コードをチェックして、内部の機械的な詳細を理解してください。

于 2012-08-31T02:13:09.723 に答える
1

単一のマシンでPython用の組み込みパッケージを使用して良い経験をしました。私の友人は、128コアのマシンでipythonを使用して大成功を収めました。

現在、クラスター、クラウド、またはfolding @ home(PS3を含む)のようなインターネット上の任意のマシンのようなさまざまな種類の分散コンピューティングがあります。GPUも忘れないでください!

いくつかのPythonリンク:
さまざまなPythonライブラリ
IpythonPython
と並列コンピューティングのプレゼンテーション

于 2012-08-31T02:00:54.937 に答える