パスワードを忘れた? アカウント作成
6753 story

PMG5クラスターは8Tflops 51

ストーリー by yourCat
もうちょっとガンバレ 部門より

理論値17.6TflopsのPower Mac G5クラスターだが、TOP500で使用するスーパー・コンピューター用ベンチマーク・テスト『Linpack』の測定結果が出ている (PostScript書類PDF書類)。2,112個のPowerPC G5でのRmax値は8.164Tflopsで、第4位につけている (p.53参照) 。しかし効率は48.3%とかなり低い。なお測定値は随時更新されるため、本家/.の記事とは数字が違っている。
第22回TOP500は11月15~21日に開かれるSupercomputing Conference (SC2003) で発表される。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 効率 (スコア:2, 参考になる)

    by Anonymous Coward on 2003年10月25日 12時04分 (#421074)
    理論値がAltiVecをガンガンに効かせてのことなら、ガンガンに効かせられる状況がそもそも夢みたいな事なんだから、むしろ48.3%はG5が64bitで動いていることを考えるとぴったりの数字なような気が。クラスタにしてることのロスを考えるとかなり頑張ってる気がするし。

    単純な演算の塊でしかもパラレルにできるなら128bitで演算できるだろうけれど、複雑(強引にAltiVecでやろうにも命令数が増える)だったりパラレルに出来ない演算だって入るのが常だから、効率良くても64bit+αなスピードだと思う。
    • Re:効率 (スコア:3, 参考になる)

      by chiba-f (6867) on 2003年10月25日 15時31分 (#421139)
      Table 3を見ると,倍精度になっています.(Full Precision) Power Mac G5 Dualで倍精度で計算する時の理論的ピーク値は
      一度に実行できる演算数/1数値演算ユニット x 数値演算ユニットの数/1CPU x 動作周波数 x プロセッサの数
      とすると,G5の数値演算ユニットは積和演算("a*b+c"=2FLOP/S)が出来るので,
      2 x 2 x 2(GHz) x 2112 = 16896(GFLOP/S)
      となります.これで実測値を割ると,
      8164(GFLOP/S) / 16896(GFLOP/S) = 0.483
      と.資料の通りになります.(この手のベンチマークは倍精度演算で行うのが普通だと思います.)
      もしユーザーのアプリケーションが32bitモードで動いているのなら,64bitモードにすると,2回に分けて32bitで行われている浮動小数点データのロード/ストアが64bitでは一回で出来ますから,もう少しパフォーマンスが上がると思います.
      親コメント
      • Re:効率 (スコア:2, 参考になる)

        by tomoyu-n (8131) on 2003年10月26日 19時27分 (#421654) ホームページ 日記
        >64bitモードにすると,2回に分けて32bitで行われている浮動小数点データのロード/ストアが
        >64bitでは一回で出来ますから,もう少しパフォーマンスが上がると思います.

        一般に倍精度の演算を行う浮動小数点レジスタは80bitあります。
        PowerPC 745x(G4)もPowePC 970(G5)も、2次キャッシュは256bit幅で接続されています。
        つまり32bitモードでも既に、倍精度浮動小数点のデータは64bit単位で入出力されているはずですから、64bitアプリに再コンパイルしても、性能向上は望めないでしょうね。

        #Pentium以降の32bit CPUのデータバスが64bitになったのは、浮動小数点性能を上げる目的もあったのでしょうね。
        #PowerPC 970では、2次キャッシュとSystem Controllerは、32bit×2本のバスで接続されています。
        #なので、ここでは32bitモードでも64bitモードでも32bit単位にしかデータはやりとりできません。
        #もちろん、メモリ→2次キャッシュは先読みしているでしょうから、ここがボトルネックになることはないと思いますが。
        --

        [tomoyu-n]
        親コメント
        • by shudo (7398) on 2003年10月30日 17時03分 (#423960) ホームページ
          > 一般に倍精度の演算を行う浮動小数点レジスタは80bitあります。

          浮動書数点数のレジスタが 80 bit 幅なのは IA-32 くらいで、
          SPARC も MIPS も Alpha も PowerPC も、80 bitではないです。
          親コメント
      • by chiba-f (6867) on 2003年10月25日 15時48分 (#421149)
        すみません,間違えました.
        >64bitモードにすると,
        ではなく,"64bitアプリケーションとしてコンパイルし直すと,"でした.
        親コメント
    • by locate (5848) on 2003年10月25日 12時35分 (#421088) 日記
      > 理論値がAltiVecをガンガンに効かせてのことなら、ガンガンに効かせられる
      > 状況がそもそも夢みたいな事なんだから、むしろ48.3%はG5が64bitで動いて
      > いることを考えるとぴったりの数字なような気が。

      書いてある意味がよく分からないのですが、夢みたいな事というのは
      どういう事でしょうか?
      ベクトル演算が効くかどうかは、プログラムに依るわけで、
      ベクトル化に適したプログラム(流体計算とか)なら
      ベクトル化率99%とかは普通です。
      それにベンチマークテストのプログラムがベクトル化の効くものかどうかで、
      出てくる速度は数十倍変わってくるはずです。

      その後の「スピードが64bit+α」というのも意味がよく分かりません。
      32bitから64bitになると速度が2倍になるとか思っているんでしょうか?

      数値計算をやる人にとっては安価な64bitコンピュータは願ったりでしょうね。
      親コメント
      • by Anonymous Coward
        だからさ、最適化されていないソフトもあるし、しかもそれは全ソフトではないし、となれば、夢と言われても仕方ないような?
        実測値と理論値が同等なんて、ほとんどありえない話ですがね。
        • Re:効率 (スコア:3, 参考になる)

          by tmiura (6268) on 2003年10月25日 14時54分 (#421131) 日記

          ではLINPACKについてはどうか、ですよね。

          資料のp.6から1台でのスコアが書いてありますが、 たとえばSX-6のシングルプロセッサでは TPP Best Effort/Theoritical Peakが95%くらいですから、 ベクトル1プロセッサにオプションつけてコンパイルする程度だと それくらいになるような問題ってことですね。 チューニングを頑張るともっと上がるんでしょうけど。

          リストにはG5の1プロセッサのベンチマーク結果はないけど、 AltiVecの効果の参考になるのは、 pSeries690Turboの56%とか、 Pentium4の47%とかかな。 スカラプロセッサ+SIMDだときっとそんなオーダーなんでしょう。

          クラスタの効果ではどうかというと、 同じ規模ってことで非ベクトルで2000プロセッサ程度のを探すと、 p690×50台が51%、 PRIMEPOEWR HPC2500が45%か。 48%なら頑張っているんじゃないかな。

          親コメント
          • Re:効率 (スコア:2, 参考になる)

            by shudo (7398) on 2003年10月25日 21時55分 (#421279) ホームページ
            「SIMD 演算命令 (SSE2 や AltiVec) がベクトル演算を可能にし、そして演算のスループットを向上させている」という認識は、いまどきのプロセッサについては適当ではないように思います。

            PowerPC 970 や Pentium 4 は浮動少数点演算の演算器が 2つあり、それらのスループットは 1命令/cycle。2つの演算器を完全に埋めることができれば、2命令/cycle の浮動小数点演算命令を実行できます。
            (注1: Pentium 4 の場合は、この場合、命令と言ってもμop)
            (注2: PowerPC 970 の場合、積和演算によって 2命令/cycle → 4演算/cycle)

            この際、演算器をフルに埋める手段として SIMD 演算命令が使われることが多いのだとは思います。しかし、もし命令のデコードが1命令/cycle より速ければ SIMD 演算命令を使わずとも演算器をフル稼動させられるかもしれません。また、1命令/cycle のプロセッサにだって、1000の演算を1度に指示する命令は実装できます。実行には 1000クロックかかるわけですが。

            実際のところ、演算器をフル稼動させるためには SIMD 演算命令が必要というプロセッサが多いのだとは思います。しかし、SIMD 演算命令は飽くまで演算器をフル稼動させるに足るだけのスループットでもって演算を指示するための手段である、という認識が、いまどきは適当なように思います。

            # ごぶさたです tmiura さん
            親コメント
            • by tomoyu-n (8131) on 2003年10月26日 16時33分 (#421578) ホームページ 日記
              >演算器をフルに埋める手段として SIMD 演算命令

              一般にSIMD命令はSIMD専用の演算器を使うので、あまりに的外れですね。

              >飽くまで演算器をフル稼動させるに足るだけのスループットでもって演算を指示するための手段

              それを目的としているのはSIMDではなくて、HyperThreadingだと思いますが。
              --

              [tomoyu-n]
              親コメント
              • by shudo (7398) on 2003年10月30日 16時42分 (#423947) ホームページ
                > 一般にSIMD命令はSIMD専用の演算器を使う

                少なくとも Pentium 4 プロセッサでは、浮動小数点のスカラ演算 (x87) 命令と、SSE/SSE2 での浮動小数点演算で、演算器 (adderとかmultiplier) は共用ですヨ。
                親コメント
          • by shudo (7398) on 2003年10月30日 16時37分 (#423943) ホームページ
            AltiVec は、浮動小数点演算は単精度数 x 4 の演算しかサポートしてないです。
            一方で、HPL (Linpackベンチ) の結果は倍精度演算での性能なので、つまり AltiVec (SIMD 演算) 命令を使っての結果ではありません。
            親コメント
        • Re:効率 (スコア:1, 参考になる)

          by Anonymous Coward on 2003年10月25日 14時09分 (#421120)
          この手のコンピュータで動かすソフトは、パフォーマンスを上げるために最適化をするのが普通でしょ。全ソフトを動かすことなんかはじめから考えている訳がない。動かすソフトの種類なんかそう多くはないはず。
          親コメント
          • by Anonymous Coward
            この手のコンピュータで既製のソフトウェアを動かすこと自体が、珍しい事だと思います。
            使う人はみんな自前で書くのが普通なのでは?
            • by Anonymous Coward
              その通り。でも、もしiTunesが動いたらCD一枚のエンコードにかかる時間がどれくらいなのかがちょっと気になる。ドライブの速度がボトルネックになるのは間違いないけど。
    • by nInfo (14824) on 2003年10月26日 12時15分 (#421506)
      最適化はこれからで、最終的な性能値は大幅に高くなるとのこと。
      「Big Mac」G5スパコンは世界最速(まであと一歩?) [cnet.com]
      親コメント
    • 理論値との効率も 56.55% に改善した。

      #週末にパンサーをインストールしたからだったりして(笑)
      親コメント
    • by Anonymous Coward
      言ってる意味がわからりません。
      64bitだと128bitの半分の性能しかでない、ってこと?
      • by Anonymous Coward
        元コメントはちょっと勘違いしてた箇所がありました。
        64bitで半分であるかのような表現をしてしまいましたが32bitでも事足りる処理であれば48.3%はAltiVecを使わない場合の倍近くのスピードが出てることになりますね。

        ビット数が増えても演算できる個数が増えるわけではないので、精度が必要ない場合速度が変わらないことはあ
        • by Anonymous Coward
          勘違いどころか事実そのままだと思いますし、実際には回線速度自体もボトルネックでしょうし、理論値以下で当然ではないかと?
          • by locate (5848) on 2003年10月25日 21時12分 (#421258) 日記
            > 勘違いどころか事実そのままだと思いますし、実際には回線速度自体も
            > ボトルネックでしょうし、理論値以下で当然ではないかと?

            理論値以下になるのはもちろん当然だけど、その理由の説明がまずいと
            いう話の流れなのでないかい?
            親コメント
    • by Anonymous Coward
      なんでこんなに意味不明な文章が「スコア2:参考になる」なんだろうか?
      モデレートした人間には意味が理解できたんだろうか?
      • by 987 (16022) on 2003年10月26日 2時02分 (#421403)
        "意味不明"ってのは意味の通らない文章を評する言葉では。

        > モデレートした人間には意味が理解できたんだろうか?

        そりゃ意味が理解できたからモデレートしたのだと思うが…
        分からなければどこら辺が分からないのか言えばいいのに。
        親コメント
      • by Anonymous Coward
        ねえ。ちょっとモデレーションがひどいよね。
  • by miri (12057) on 2003年10月25日 16時34分 (#421168) 日記
    CNetの記事 [cnet.com]によると、名前は「Big Mac」ですか。
  • by partial (18305) on 2003年10月25日 22時15分 (#421288)
    キャッシュベースプロセッサ(スカラプロセッサ)にベクトル演算機だけをつけても性能は出ません。
    最低限、キャッシュメモリにプリフェッチ命令と広帯域で多バンクのメモリが必要だと思う。
    • by tmiura (6268) on 2003年10月26日 2時02分 (#421404) 日記

      ベクトル演算器といっても2とかそこいらの短いベクトルですよね。 命令供給の帯域を減らし、 命令スケジュールを簡略化する辺りを狙っていると考えれば、 あとはふつうに疑似ベクトル処理と考えればいいんじゃないですか。

      長さたった2のベクトルでさえ わざわざ命令を追加してきたということは、 疑似ベクトルするのに命令供給が追いつかなかったとか そういった定量的根拠があるはずで。

      で、データ供給のためにメモリ帯域が必要なのはその通りです。

      だから、少しでもメモリ帯域のましな、 2~4バンク程度のインタリーブしてる機種を 選んでるでしょうし、 限られた条件下で実現できるDDR-SDRAMのバースト転送レートと プリフェッチも駆使するでしょうから、 あとはたとえばキャッシュサイズ境界で ストリップマイニングやブロック分割アルゴリズムを考えるなり、 メモリの遅さを隠蔽するチューニングを頑張ってると 考えていいんじゃないですか。

      ベクトルスーパーコンピュータ並みに多バンクのSRAMで主記憶を 組めばそりゃ速いけどそれじゃ高くつくから我慢、ってのが コモディティクラスタなわけで、 そこでいろいろと苦労して出ない性能をひねり出したり あるところで割り切って我慢したりする必要があるのは 織り込み済みじゃないかと。

      親コメント
      • by partial (18305) on 2003年10月26日 21時36分 (#421708)
        疑似ベクトルするのに命令供給が追いつかなかった
        これはそうだ。
        メモリの遅さを隠蔽するチューニングを頑張ってる
        これもそうだ。しかし遅延を隠蔽するだけで帯域が細ければデータが詰まってしまう。今回のシステムでは小規模計算を用途とするのだから問題ないといえば、そう。
        ベクトルスーパーコンピュータ並みに多バンクのSRAMで主記憶を組めばそりゃ速いけどそれじゃ高くつくから我慢、ってのがコモディティクラスタなわけ
        ベクトル機構は遅延を隠蔽する仕組みを持つのでSRAMを使わなければならず高価だという指摘はあたらない。
        親コメント
  • WIRED NEWS [hotwired.co.jp]に開発裏話が掲載されています。(10/31)

    「G5クラスターを作るまでマックには触ったことがなかった」
    というバラダラジャン氏のコメントには、ちょっと驚きましたが、
    「将来すべての資料を公開し、このマシンのコードの大部分を公表するつもり」
    だそうです。  (オープンソース・ライセンスのもとで提供するかどうかはまだ未定)

    同様のシステムを作るための「指導の要請」がいくつかの開発機関からあった
    ということなので、「G5クラスターがたくさん登場」となるのかも。

    ベンチマークは、昨日のshudoさんのPOSTにありますが9.555Tflops だそうです。
  • by Anonymous Coward on 2003年10月25日 17時01分 (#421177)
    Supercomputing Conference ね。固有名詞は正確に。
  • by Anonymous Coward on 2003年10月25日 23時09分 (#421315)
    Big Macの結果を見た感じたこと。ブッチギリでトップの地球シミュレータって、やっぱり凄いものなのね。
    • Re:やっぱり (スコア:2, 興味深い)

      by chiba-f (6867) on 2003年10月26日 1時39分 (#421394)
      IBMと日本企業(たぶん,地球シミュレータのNEC)がベクトル型のプロセッサを使ったスーパーコンピュータを共同開発していると言う噂があります.(それが地球シミュレータの後継機?)
      親コメント
      • by mamoru (617) on 2003年10月26日 3時12分 (#421430)
        現在進行形で世界最速の座を争っているライバルなのでは…。

        米エネルギー省向けに世界最速スーパーコンピューターを開発 [ibm.com]
        (IBM News)
        親コメント
        • by chiba-f (6867) on 2003年10月26日 7時09分 (#421460)
          現在進行形で世界最速の座を争っているライバルなのでは…。

          IBMの場合は,いくつか異なるアーキテクチャー(POWER, Intel Itanium, ...)のスーパーコンピュータを同時に計画/構築してたりしますから,時にはライバルになることも,時には共同開発者になることも,あるかと.もっとも,日本企業とIBMがスーパーコンピュータを共同開発していると言う正式な記事は無いですね.
          アメリカでは今でもベクトル型プロセッサが使い易いと言う声が結構多いそうです.それでベクトル型プロセッサのノウハウのある日本企業と組むと言うことになると思います.(地球シミュレータの関係者の方から聞いた噂ですが.)
          親コメント
    • by Anonymous Coward
      上のコメントにあるCNetの記事を読んだ感想としては、同じ金額をかければ地球シミュレータの10倍出そうな気がするんですが。それもチューニング済みでない結果で。

      # でも XServe にでもしないと場所が(笑)
      • by Anonymous Coward
        たしかに、地球シミュの10倍ベンチマークの速いシステムは
        できるかもしらんけど、じゃあ、地球シミュのやってる計算が
        より速く終わるか、といわれると、そうはいかなさそう。
      • by Anonymous Coward
        なんか、凄く効率が悪そうな予感(笑)
typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...