web-dev-qa-db-ja.com

ネットワーク上の一般的なPCをリンクしてスーパーコンピューターを構築するにはどうすればよいですか?

フェロー、

私はいくつかのコンピューターを持っています、いくつかは新しいもの、いくつかは古いものです(1979年から2KバイトのRAMを搭載した最初のコンピューター以来、それらを収集しています)。コレクションはどんどん増えていますが、この質問の目的は、私が常にスーパーコンピューターの能力、または少なくとも大きなマシンの能力を愛していたという事実に関連しています)。

より強力なマシンを手に入れるために、マシンを結合するというアイデアを考えたことがあります。私はLAN(ローカルエリアネットワーク)1Gbit apeedを実行しています。ここでは、4.8Ghzウォータークーラーで実行されている4台のIntel i7 2600kがあり、それぞれに16Mb RAM、SSD、および共通のハードドライブがあり、合計30Tbのスペースがあります(LAN上で合計) )。仮想化に関する記事を読んだり、多くのビデオを見たりして、各マシンにベアメタル(タイプ1)ハイパーバイザーをインストールし、物理マシン全体に広がる仮想マシンを作成して、Windowsのような運用システムをインストールできるかどうか疑問に思います。さらに、CPU、RAM、ハードディスクなど、多くのリソースを必要とするソフトウェアを実行します。

仮想マシンが単一のマシンにインストールされていると「考える」方法があるはずですが、実際には、複数のノード(クラスターなど)に分散しています。仮想マシンの場合、システムは1つの大きなマシンとしてのみ認識されますが、実際には、共有CPU、共有RAM、および共有ハードドライブがあります。

この方法を使用すると、OPをインストールして、たとえばAdobe AfterEffectsやAdobePremiereを実行できます。これは、リアルタイムでプレビューを作成したり、メリットのある複雑なソフトウェアを実行したりするために、優れた並列処理(またはCPUパワー)を必要とします。複数のプロセッサから。多くの人が並列処理用の大型マルチcpu、マルチコアxeonマシンの購入を提案することを知っていますが、そうではありません...現在のテクノロジーでは、PCに参加する方法が必要だと思いますより多くの計算能力を得ることができます。

人々がRaspberryPiに参加し、YouTubeで1テラフロップスのような「スーパーコンピューター」を作っているのを見るので、LAN、RAM、ディスクを備えた独自のマシンでそれを行うことができないのはなぜですか...それは同じことではありません、必要なのはソフトウェアとその方法だけですよね?出来ますか ?どうやるか ?

ありがとう

2

残念ながら、今のところ、実行したい「スーパーコンピューター」はハードウェアとソフトウェアの観点からまだ開発されていません。

Hyper-V、VMware ESXi、XenServerなどの仮想化用の既存のハイパーバイザーを使用すると、単一のホストまたはクラスターで仮想マシンを実行できます。ハイパーバイザーはハードウェアCPU、RAMおよびストレージを取得し、VMを実行するために仮想リソースに「変換」します。ストレージの場合、データ送信へのネットワーク接続を使用して、ホスト間でミラーリングされる共有ボリュームに構成できます( iSCSI SAN、VMware VSAN、StarWind VSANなど)と同様ですが、それぞれVMはローカルコンピューティングCPUとRAMのみを使用します。

私の経験では、「スーパーコンピューター」のホスト間の通信に対応できるバスタイプがないため、CPU、RAM、およびストレージを組み合わせることができるソフトウェアやハードウェアはありません。

3
Mr. Raspberry

これは実際に行うことができます。以前は、まだ利用可能なプロプライエタリのオープンソースフォークに基づいたClusterKnoppixと呼ばれるLinuxディストリビューションがありましたが、無料のAFAICS、 Mosix と呼ばれるLinuxパッケージがありました。

管理ガイドから:

MOSIXは、クラスターおよびマルチクラスタープライベートクラウド内のプロセスを移行することで負荷分散を提供するパッケージです。 MOSIXは主に、集中コンピューティングに使用されるような分散並行コンピューティングを対象としています。

内容:

シングルシステムイメージを提供します。

–ユーザーは任意のノードにログインでき、プログラムが実行されている場所を知る必要はありません。

–アプリケーションを変更したり特別なライブラリにリンクしたりする必要はありません。

自動リソース検出とワークロード分散。

だが

すべてのノードは、x86 64(64ビット)アーキテクチャを備えている必要があります。同じノードのすべてのコアは同じ速度である必要があります。

そのため、特定の要件に適合しない場合があります。

2
Darren

アプリケーションは、指定されたリソースを効率的に使用するアプリケーションに限定されます。すべてのスレーブ間でワークロードを分割する方法を知っているソフトウェアが存在しない限り、「スーパーコンピューター」でAfterEffectsを実行することはできません。

まず、必要なソフトウェアがありません。必要な仮想化ソフトウェアを入手した場合でも(コストを問わず、または会社がそれを販売する意思がある場合でも)、クラスターの最小要件があります。これには通常、ほぼ同じ仕様であることが含まれます。私が見つけた最も近いものはVMwareESXiです。

第2に、相互に通信しているコンピューターには大きなペナルティがあり、パフォーマンスの向上は本質的に相殺されます。ネットワークを介した共有RAMは遅すぎて実行できず、iSCSIを介したドライブの共有は期待したほど信頼性が高くない場合があります。

第三に、これらの通常のデスクトップの電力効率は非常に低いため、この「スーパーコンピューター」の料金を1か月ほどで支払うことができなくなります。

あなたはあなたの現在の資源でお金を稼ぎたいのですが、これはそれをする方法ではありません。コンピュータを売って高性能のものを買うだけです。骨董品でも売れます。

2
oldmud0