![一般的な PC をネットワークで接続してスーパーコンピュータを構築するにはどうすればよいでしょうか?](https://rvso.com/image/1518639/%E4%B8%80%E8%88%AC%E7%9A%84%E3%81%AA%20PC%20%E3%82%92%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%A6%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
フェローの皆さん、
私は数台のコンピュータを所有しており、新しいものもあれば古いものもあります (1979 年に購入した 2KB の RAM を搭載した最初のコンピュータから収集しています)。コレクションは膨大になっていますが、この質問の目的は、私が常にスーパーコンピュータのパワー、少なくとも大型マシンのパワーを愛していたという事実に関係しています。
マシンを結合してより強力なマシンにするアイデアについて考えたことがあります。私は 1G ビットの速度の LAN (ローカル エリア ネットワーク) を実行しており、そこには 4.8Ghz ウォータークーラーで動作する Intel i7 2600k マシンが 4 台あり、それぞれに 16Mb RAM、SSD、および共通のハード ドライブがあり、合計 30Tb の容量があります (LAN 上の合計)。仮想化に関する記事を読み、多くのビデオを視聴した結果、各マシンにベア メタル (タイプ 1) ハイパーバイザーをインストールし、物理マシン全体に広がる仮想マシンを作成して、その上に Windows などのオペレーティング システムをインストールし、CPU、RAM、ハード ディスクなどの多くのリソースを必要とするソフトウェアを実行できるのではないかと疑問に思っています。
仮想マシンは、単一のマシンにインストールされていると「考える」方法があるはずだと私は想像しますが、実際には、仮想マシンは複数のノードに分散しています (クラスターのように)。仮想マシンにとっては、システムは 1 つの大きなマシンとしてのみ認識されますが、実際には、共有 CPU、共有 RAM、共有ハード ドライブがあります。
この方法を使用すると、OP をインストールして、たとえば Adobe After Effects や Adobe Premiere を実行できます。これらは、リアルタイムでプレビューしたり、複数のプロセッサのメリットを享受できる複雑なソフトウェアを実行したりするために、優れた並列処理 (または CPU パワー) を必要とします。並列処理のために、大きなマルチ CPU、マルチコア Xeon マシンの購入を提案する人が多いことは知っていますが、そうではありません...現在のテクノロジーでは、PC を結合して計算パワーを高める方法があるはずだと私は考えています。
YouTube で、Raspberry pi を使って 1 テラフロップス程度の「スーパーコンピューター」を作っている人を見かけますが、なぜ LAN、RAM、ディスクを備えた自分のマシンでそれをできないのでしょうか... 同じことではないでしょうか。必要なのはソフトウェアとそれを実行する方法だけですよね? 可能ですか? どのように実行しますか?
ありがとう
答え1
残念ながら、現時点では、あなたが実行したい「スーパーコンピュータ」は、ハードウェアとソフトウェアの面でまだ開発されていません。
Hyper-V、VMware ESXi、XenServer などの既存の仮想化ハイパーバイザーを使用すると、単一のホストまたはクラスターで仮想マシンを実行できます。ハイパーバイザーは、ハードウェアの CPU、RAM、ストレージを取得し、それを仮想リソースに「変換」して VM を実行します。ストレージについては、データ転送にネットワーク接続を使用してホスト間でミラーリングされる共有ボリュームに構成できます (iSCSI SAN、VMware VSAN、StarWind VSAN など)。ただし、各 VM はローカルのコンピューティング CPU と RAM のみを使用します。
私の経験から言うと、「スーパーコンピュータ」のホスト間の通信に対応できるバス タイプがないため、CPU、RAM、ストレージを組み合わせることができるソフトウェアやハードウェアは存在しません。
答え2
アプリケーションは、与えられたリソースを効率的に使用するものに限定されます。すべてのスレーブ間で作業負荷を分割する方法を知っているソフトウェアが存在しない限り、After Effects を「スーパーコンピューター」で実行することはできません。
まず、必要なソフトウェアがありません。必要な仮想化ソフトウェアを入手したとしても (コストがいくらであろうと、あるいは会社がそれを販売する意思があるとしても)、クラスターには最低要件があり、通常はほぼ同じ仕様であることが含まれます。私が見つけた中で最も近いものは VMware ESXi です。
2 番目に、コンピューター同士が通信することで、パフォーマンスの向上が実質的に打ち消されてしまうほどの大きなペナルティが発生します。ネットワーク経由で RAM を共有するのは遅すぎて現実的ではなく、iSCSI 経由でドライブを共有すると、期待したほど信頼性が高くない可能性があります。
第三に、これらの一般的なデスクトップの電力効率は非常に低いため、1 か月ほどでこの「スーパーコンピューター」の代金を支払うことができなくなるでしょう。
現在のリソースでお金を稼ぎたいかもしれませんが、これはその方法ではありません。コンピューターを売って、より高性能なコンピューターを購入してください。骨董品でもよく売れます。
答え3
これは実際に可能です。かつてはClusterKnoppixというLinuxディストリビューションがありましたが、これは現在でも入手可能なプロプライエタリではあるものの、AFAICSでは無料であるLinuxパッケージのオープンソースフォークに基づいていました。モシックス。
管理者ガイドより:
MOSIX は、クラスターおよびマルチクラスター プライベート クラウド内でプロセスを移行することで負荷分散を実現するパッケージです。MOSIX は、集中コンピューティングなどに使用される分散同時コンピューティングを主な目的としています。
機能:
単一システム イメージを提供します。
– ユーザーはどのノードでもログインでき、プログラムがどこで実行されるかを知る必要はありません。
– アプリケーションを変更したり、特別なライブラリにリンクしたりする必要はありません。
自動リソース検出とワークロード分散。
しかし
すべてのノードは x86 64 (64 ビット) アーキテクチャを備えている必要があります。同じノードのすべてのコアは同じ速度である必要があります。
そのため、特定の要件に適合しない可能性があります。