2012-04-03 10 views
1

マシンごとに数百または数千のコア/ CPU(またはGPGPU)をサポートする個別のマシンを作成するだけで大​​規模な並列処理の分散システムを作成する必要があるのはどうしてだろうかと疑問に思っていましたか?並列コンピューティング:分散システムとマルチコアプロセッサ

基本的に、いろいろなコアをサポートしている1台のマシンでは、はるかに低コストで、はるかに信頼性の高い方法で、ネットワークのネットワーク上で並列処理を行うべきですか?

答えて

2

単純に安いと思います。それらのマシンは今日利用可能で、新しいものを発明する必要はありません。

次の問題は、マザーボードの複雑さになります.1つのMBで10個のCPUを想像してみてください。これらのCPUの1つが死んでしまうと、マシン全体が破壊される可能性があります。

もちろんGPGPU用のプログラムを書くことはできますが、CPU用のプログラムほど簡単ではありません。多くの制限があります。コアあたりのキャッシュが本当に小さい場合、コア間で通信することはできません(または可能ですが、非常にコストがかかります)。

多くのコンピュータをリンクすると、長い使用履歴のために安定性が増し、

0

ペトルが言ったこと。個々のマシンにコアを追加すると、通信オーバーヘッドが増加します。メモリがコア間で共有されると、共有メモリのロックアーキテクチャとキャッシュによって、ますます大きなオーバーヘッドが生成されます。

共有メモリがない場合は、すべて同じ箱に入っていても、効率的に異なるマシンで作業しています。

したがって、共有メモリを持たない非常に大規模なアプリケーションを開発する方が良いでしょう。通常は可能ですが、通信オーバーヘッドはしばしば大きいですが。

これがそうであるとすれば、高度にマルチコアの個々のマシンを構築する用途はほとんどありません。 nvidia tesla ...

関連する問題