2016-04-01 15 views
0

私の友人は職場で多くのビデオを編集しなければならず、一度に1日以上レンダリングするためにコンピュータを離れる必要があると話しています。最後の仕事は、12コアのMac Proで40時間以上のレンダリングでした。分散コンピューティング

とにかく、After Effectsでネットワークレンダリングについて少し読んだところ、いつラズベリーパイが分散コンピューティングのプログラミングを学びたいか思い出しました。

私の質問は、「分散型」アスペクトを抽象化するプロジェクト/フレームワークであり、Premiere Proのように単一マシンでの使用を想定して設計されたプログラムを分散システム上で実行できるかどうかです。例えば、ライブラリやそれが何であっても、個々のノードがスレッドとしてこのプログラムに現れるので、分散システム上で実行されていることが分かりません...?

これは私には新しいコンセプトです。私が想像していることが不可能な場合は、今、このようなものにダイビングしたいとは思っていません。

+0

誰もこの質問を見たことがないか、誰も知らないと思いますか?私はLinuxベースのxtreemosという古いプロジェクトを見つけました。記述によれば、私が説明しているとおりですが、中止されました。それを超えて、私は他の何かを見つけたことはありません。 Open Nebulaについて簡単に見てきましたが、私が説明していることを正確には理解できません。それとも私の頭の上にあるのかもしれない。 – Euroclydon37

+0

OpenNebula、OpenStack、Eucalyptus、CloudStack、Joyentなどは、クラウドインフラストラクチャのフレームワークです。彼らは、合理化されたユーザーインターフェイスまたは実際のマシンのセットの上にAPIを介して仮想マシンをプロビジョニングすることができます。これは、サービスレベルとしてIaaSインフラストラクチャで一般にクラウドコンピューティングと呼ばれています。これはクラスタコンピューティングアプローチを指します。 –

答えて

1

シングルシステムイメージ(SSI)と呼ばれています。この用語は、単一のオペレーティングシステムが実行されているため、アプリケーションプログラマが単一のオペレーティングシステム内で複数のスレッドを実行できる高性能コンピューティング(必ずしも分散コンピューティングではない)のコンピューティングアーキテクチャを表しています。これは、アプリケーション開発者にとって、並列コンピューティングのパラダイムを適用できる大きな利点があり、開発者は分散コンピューティング、つまりクラスタ内の複数のコンピュータ間のプロセス間コンピューティングと共有メモリの不足に対処する必要はありません。

クラスタ化されたコンピューティングは過去にもっと関心を集めました。この傾向の背景にあるドライバの1つは、クラスタを汎用クラウドサービスの上に簡単に実装できるということです。一般的に、クラスタアプローチでは、Web規模のアプリケーションで通常必要とされるより大きなサイズに拡張できます。

しかし、特にSSIシステムを求めています。高性能コンピューティング分野から、我々はそのような多くのシステムを知っている。非常に一般的なこれらの1つは、Altixラインhttps://en.wikipedia.org/wiki/Altixです。これらは非常に大規模なコンピュータで、しばしば数千のプロセッサとRAMのテラバイトを持ち、SSI Linuxカーネルを実行します。ハードウェアの観点から見ると、個々のプロセッサとメモリボードは相互接続され、いわゆるキャッシュコヒーレント非一様メモリアクセス(cc-NUMA)をサポートします。これは基本的に、実際にはメモリが多くの計算ノードに分散している1つの大きなリニアメモリブロックで動作しているという印象をオペレーティングシステムに与えるメカニズムです。明らかに、これは、より速いメモリ領域とより遅いメモリ領域があることを意味します。アプリケーション開発者は、そのことを念頭に置く必要があります。 Altixは独自の高帯域幅相互接続アーキテクチャを採用しており、クラスタ内のメモリブロックを非常に迅速に移動できます。あなたはこれらのマシンが非常に高価で、通常は研究施設でのみ利用可能であると仮定するかもしれません。

棚用商品ハードウェアの上に同様の機能を実現する方法があります。過去にBeowulf(https://en.wikipedia.org/wiki/Beowulf_cluster)プロジェクトは非常に人気があり、実際にはかなりの設備で使用されていました。このプロジェクトでは、最新のLinuxカーネルでインストールを展開できるかどうかはあまりよく分かりません。同様に、OpenSSI(https://en.wikipedia.org/wiki/OpenSSI)とOpenMosix(https://en.wikipedia.org/wiki/OpenMosix)プロジェクトは、最近のリリースを提供していないようです。おそらくKerrighed(http://www.kerrighed.org/wiki/index.php/Main_Page)は、少なくともx86_64アーキテクチャのトップにインストールすることができるはずです。

ARMプロセッサアーキテクチャを使用したPiでは、このようなものを展開したいと言っています。私の知る限りでは、上記のアプローチのどれもがARMをサポートしていません。しかし、クラスタアリーナでは、MPIは非常に広く使用されている標準です。Piのセット(http://thenewstack.io/installing-mpi-python-raspberry-pi-cluster-runs-docker/)の上にMPIを実行する方法についてのチュートリアルがあり、これらのクラスターは分散コンピューティングの教授に使用されています。彼らのパフォーマンスは、商用クラスタシステムと決して競合しません。しかし、アーキテクチャは同じであり、したがってこれらの設備は教育目的に非常に役立ちます。あなただけのスーツケースに持ってくることができるクラスターシステムを想像してみてください!

+0

これとあなたのコメントは非常に徹底的で、私にはGoogleに大量の情報を与えました。ありがとうございました! – Euroclydon37

関連する問題