• ベストアンサー

スーパーコンピュータとデスクトップPCの比較

今、スーパーコンピュータって日本に世界最高性能の ものがあって、1秒間に36兆回の浮動小数点計算が できるらしいですが、このスーパーコンピュータ の性能を普通のコンピュータが何台集まったら達成 できるか?っていうのを調べています。 私は、あまりコンピュータのそもそもの仕組みに詳しく ないので、 36兆÷普通のPCのプロセッサが1秒間で計算できる      浮動小数点計算回数 で考えてみようと思っています。 (厳密に言えば、こんな単純な考え方ではダメだと  思うのですが、ここで欲しい情報はあくまで目安  ですので、原理的に間違ってなければ、それで  ヨシと思っています) そこで、「普通のPCのプロセッサが1秒間で 計算できる浮動小数点計算回数」っていうのが なかなか出てこなくて困っています。 例えば、ペンティアム4の1.5GHzだとどうなん でしょうか・・・?

質問者が選んだベストアンサー

  • ベストアンサー
  • parts
  • ベストアンサー率62% (6366/10152)
回答No.4

NECのコンピュータの話ですか、地球シミュレータは、NECの高速SコンSX-5(ベクトル型CPU)を640台使(5120個のCPU)った物でそれを高速ネットワークで繋いだ物ですね。これは、単一Sコン(スパコン、SuperComputer)が達成した技術ではないです。最大計算ノードは40TFlops(40兆回のFP演算・・・FPは浮動小数点演算のこと)となります。実用Flopsは解答があるとおりです SX-5Sコン単一の仕様は、8Gflopsのベクトル型プロセッサ8個を実装したもので、最大計算ノード64Gflopsとなります。 これが、このUコン(UltraComputer)に640台使われて始めてこれだけの処理能力になりました。を利用した。(このコンピュータ群はSコンとはワンランク上のUltraComputerとして開発されました) まず、この点分かりますかね。このUコンはSコンをさらにいくつかまとめたUltraComputerに相当します。 (次元が違うと言うことです) 次にPentium4の最大速度ですが、正確にはインテルの数値は最大値ではないですね。SSE命令ユニット(Pentium4、3共通ですがPentium3は単精度演算のみ)は、同時に4つの和と4つの積算処理を2クロックで行えたはずです。このタイプの処理なら最大で6Gflops(64ビット単精度)に達するはずです。ただし、一般的にこの処理が連続で行われることはないため、3Gflops<30億回のFP処理>(128ビット倍精度)になります。 元々、Pentium4を初めとするインテル系プロセッサ(IA-32)はちょっと上の物とは異なるCPUで、特定の命令を命令セットという形で浮動小数点演算の一部を最適化しているCPUです。上のSX-5に用いる物は、プロセッサ全体が浮動小数点演算に最適化されています。そのため基本命令だけで計算すると浮動小数点演算よりも整数演算器(ALU)を中心とするx86型のプロセッサになり、FP演算値の精度は低下します。 最大実用値はあくまで3G(絶対最大値は6G)となり、実際実用平均値は2,5G前後のはずですが、SSE命令が伴わない処理では速度はG(10億回のFP演算)を越えない可能性も高いです。 ちなみに、たいていの方はご存じのプレイステーション2(SCEI)がありますよね。これは、Pentium4より速いです。単一のプロセッサ(エモーションエンジンというCPU)で6~6,4Gflops(64億回の浮動小数点演算)が可能です。これには、10個の浮動小数点積和算ユニットと4個の浮動小数点除算ユニットを装備しており、単一のプロセッサの中に浮動小数点演算だけならPentium4-1,5GHzが2個分内蔵されているのですよね。 ついでに、もう一つ補足です。 「単純に言えば単精度ならクロック数=FLOPS」 は間違いですね。たまたま、Pentium4が倍精度で同じに見えただけですがPentium4でもそうではありません。クロック周波数は演算器その物の処理速度ではなく、命令を載せる回路(ベルトコンベア)の速度に過ぎないのです。 ベルトコンベアに一度に載せられる命令数が1つであれば、Flops=クロックになりますが、もし2つなら一度にクロック当たり2処理です。3つなら3処理、4つなら4処理となります。 よって、クロック=Flopsにはなりません。 それに、倍精度でPentium4は1,5Gflopsですし、単精度では3Gflopsでその時点で釣り合わないですからね。 ここはちょっと、分かり難いですね。見逃してください(笑) 最後に、分かりやすくPentium4で何台ぐらいあれば良いか書いてみますと、Pentium4-1,5GHzを平均値で約2Gflopsとして8Gflopsを達成するために、4個プロセッサが必要です。これで、SX-5に使われるベクトルプロセッサ(確か1プロセッサ500MHzで駆動する)1つ分となります。さらにSX-5コンピュータ本体にベクトルプロセッサ8個で4×8=32個ですね。それに640台のSX-5が必要で32×640 =20480個となります。 簡単な数字で出せば、5120個のベクトルプロセッサ×4個のPentium4ですね。 よって、Pentium4PCなら20480個のCPUに相当ですかね。単純計算ですけどね。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.3

>少し難しい説明文 単純に言えば単精度ならクロック数=FLOPSです。 FLOPS=フローティングポイントインストラクション(浮動小数点演算)・パー(割る)・SEC(秒)です。 したがって1.5GのCPUなら1秒間1.5ギガ回浮動小数点演算を実行します。 今の2.5GのCPUなら秒間2.5ギガ回になります。 倍精度の場合はその半分の速度になります。

すると、全ての回答が全文表示されます。
  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.2

P4-1.5Gでインテルのサイトから 例: SSE2 の浮動小数点乗算命令を使用すると仮定します。このような SIMD 命令の場合は単精度と倍精度で実行速度が異なります。単精度の場合2クロックで4つの結果を導きますのでプロセッサ 1.5GHz の場合はピーク 3.0GFlops、倍精度の場合2クロックで2つの結果を導きますのでプロセッサ 1.5GHz の場合はピーク 1.5GFlops で乗算を処理します。 (ただし一般には、メモリ・アクセスに要する時間等の他の要因でピーク性能を得ることはできません。) でもあまりにも単純な考え方で、その計算結果は実際とはかけ離れた結果になると思います。

参考URL:
http://www.intel.co.jp/jp/developer/design/pentium4/faq/#q_a1
raccoon
質問者

お礼

ありがとうございました。 素人には少し難しい説明文ですね(笑)。

すると、全ての回答が全文表示されます。
noname#5751
noname#5751
回答No.1

NECの『地球シミュレータ』ですね。 1秒間に35.9兆回の演算能力=35.9テラフロップスの性能があるそうです。 参考までに、イギリスのローレンス・リバモア国立研究所で開発中のLinux版スーパーコンピューターは2.4GHz版 Xeonプロセッサーを1920基をクラスターで動かして9.2テラフロップス(1秒間に9.2兆回の演算処理)の性能を実現するそうです。 その約4倍の性能ですね。 パソコンのCPUは1~2ギガフロップス(1秒間に10~20億回の演算能力)だったと思います。 ただ、個数を増やしても単純に処理能力が「足し算」されるわけではありませんよ。

raccoon
質問者

お礼

ありがとうございます。 グリッドコンピューティング(分散コンピューティングというべきでしょうか)のような仕組みを使っても「足し算」はできないのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A