私の友人は仕事でたくさんのビデオを編集しなければならず、彼は彼らが一度に1日以上時々レンダリングするためにコンピューターを離れなければならない方法について話していました。最後の仕事は、12コアのMacProでの40時間以上のレンダリングでした。
とにかく、After Effectsを使用したネットワークレンダリングについて少し読んだところ、分散コンピューティングのプログラミングを学ぶためにラズベリーパイを入手したいと思っていた時期を思い出しました。
私の質問はこれです:Premiere Proのように、単一マシンの使用を念頭に置いて設計されたプログラムを分散システムで実行できるように、「分散」の側面を抽象化するプロジェクト/フレームワークはありますか?たとえば、ライブラリ、またはそれが何であれ、個々のノードがそのプログラムにスレッドとして表示されるため、分散システムで実行されていることがわかりません...?
それは私にとって新しい概念であり、私が想像していることが不可能な場合、私は今このようなものに飛び込みたくありません。
あなたが言及しているのは、シングルシステムイメージ(SSI)コンピューティングと呼ばれています。この用語は、単一のオペレーティングシステムが実行されているため、アプリケーションプログラマーがこの単一のオペレーティングシステム内で複数のスレッドを実行できる、ハイパフォーマンスコンピューティング(必ずしも分散コンピューティングではない)のコンピューティングアーキテクチャを表します。これは、並列コンピューティングパラダイムを適用でき、開発者が分散コンピューティングに起因する複雑さ、つまりクラスター内の複数のコンピューター間のプロセス間コンピューティングや共有メモリの欠如に対処する必要がないという大きな利点があります。 。
クラスター化されたコンピューティングは、過去により多くの関心を集めました。この傾向の背後にある要因の1つは、クラスターを汎用クラウドサービスの上に簡単に実装でき、一般にクラスターアプローチでは、通常Webスケールアプリケーションの要件であるより大きなサイズに拡張できるという事実です。
ただし、特にSSIシステムを要求します。ハイパフォーマンスコンピューティングの分野から、私たちはそのようなシステムを数多く知っています。非常に人気のあるこれらの1つは、Altixラインhttps://en.wikipedia.org/wiki/Altixです。。これらは非常に大規模なコンピューターであり、多くの場合、数千のプロセッサーとテラバイトのRAMを搭載し、SSILinuxカーネルを実行します。ハードウェアの観点からは、個々のプロセッサとメモリボードが相互接続され、キャッシュコヒーレントな不均一メモリアクセス(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を実行する方法についてのチュートリアルがあり、それらのクラスターは教育に使用されます分散コンピューティング。それらのパフォーマンスは、商用クラスターシステムと競合することはできません。ただし、アーキテクチャは同じであるため、これらのインスタレーションは教育目的に非常に役立ちます。スーツケースに入れて持ち運べるクラスターシステムを想像してみてください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加