HPCの歩み50年(第101回)-2003年(g)-
SCには様々な賞がある。SC2000で始まったバンド幅チャレンジでは、日本の2グループががんばった。Gordon Bell賞では、牧野淳一郎氏のグループが6回目の受賞に輝いた。最終日のパネルでは「Productivityとは何か?」、HPCSも始まっているのに今さら何を?
SC2003(続き)
10) Exhibitors’ Forum
通常のテクニカルセッションと平行して、出展している企業のセールストークが30分ずつ木曜日まで続く。
a) 富士通のHPC
19日1:30は富士通の時間で、三浦謙一氏が講演した。 PRIMEPOWER HPC2500のチップは、0.13μ、Cu 8層、191 M transistorsを1.3GHzで動かし40Wである。メモリからのデータ転送を強化し、L2は同時に16個のリクエストに応えられる。ノードは、8~128 CPU + DPUをSMPとして組み、これを最大128 nodesまで光接続で結合する。つまり最大16384個のCPUを接続できる。ノードの転送速度は4 GB/s x 4である。このほか、高速なバリア同期機構を用意している。ノード内はOpenMPが使える。OMP SPEC2001の数値を示していた。今後は1.56 GHz、2.08 GHzとクロックを上げ、次期機種は2.4 GHzでdual coreになる。富士通はPCクラスタにも力を入れている。相互接続としてInfiniband 8 Gbps x 2 とか、Myrinet 2000 (4 Gbps)をサポートし、ミドルウェアとしてはScoreを推進。
b) 日立のHPC
続いて2:00からは日立で、Dr. Tim Lanfear(日立ヨーロッパ)が講演した。主としてSR11000の話であった。これはIBMのPOWER4+を日立のHigh Density Moduleに4個実装したものである。SR2201/8000以来のprefetchとsoftware pipeliningを用いたPVP (pseudo-vector processing)の技術を継承してコンパイラをがんばる予定。SR11000で新しいのはsoftware prefetchとhardware prefetchを導入したことである。連続アクセスではhardで対応し、間接アドレスでは両者の協力で対応する。並列化についても強化し、ループの分散、パイプライン並列化、fork-joinの除去など高レベルな機能を実現する。最適化も、プロシージャ内、プロシージャ間はもちろん、プロファイルベースの最適化(いったん走らせてみてそのプロファイルを分析してコンパイラにフィードバックし最適化する)も取り入れる。キャッシュ分割のディレクティブも用意。NAS PB (class A)のCGとLUの推定性能を示した。LUではパイプラインが効いて16台で最適化しないときより3.5倍も性能が向上する。
2005年に発表予定の次期機種はPOWER5をベースとし、ノード性能もノード数も増える。メモリバンド幅も増強され、またハードウェアのバリア同期機構が実装される。
c) Cray Inc.
続いて2:30からはCray Inc. でBurton Smith自ら登場し、DARPAのHPCS Program (high-productivity computing system)にクレイ社がどう答えるかを述べた。 HPCSの目的は、HPCの生産性(productivity)を上げることと、システムのロバスト性を向上させることである。このプログラムには3つのphasesがある。その目的と参加企業は、
1st phase (7/02–7/03) define a system concept | Cray, HP, IBM, SGI, Sun | |
2nd phase (7/03–7/06) prepare development plan | Cray, IBM, Sun | |
3rd phase (7/06–7/10) develop a system | two awardees |
となっている。 クレイのアプローチは、
(1) High system productivity
(2) High human productivity and protability (mixed UMA/NUMA programming model)
(3) System robustness (virtualize all resources, reconfigurable, introspection)
問題はバンド幅が高価なことである。接続コストはMoore’s lawに従わない。しかしクレイは高い全体的なバンド幅をもつシステムを構築し競争力を保つ。バンド幅のコストを抑えるために、顧客のニーズに合わせてなるべく安いリンクを選択し、技術が許す限りの高いデータレートを実現する。さらに効率の高いネットワークトポロジーを用いる。バンド幅を賢く使うには、共有メモリ(UMA/NUMAハイブリッド)、メモリレイテンシを我慢する。それには、cc-NUMAはだめでベクトルかmultithreadを用いる。
重いプロセッサでは時間的局所性を活用する。そのためコンピュータ制御のデータキャッシュを用い、ストリーミングをサポートするアーキテクチャを使う。
軽いプロセッサでは空間的局所性を活用する。空間的局所性に従ったスレッドマイグレーションを行う。軽いプロセッサとは、ステートが64B程度に収まることをいう。
どんな局所性でも可能な限り活用する(アトミック演算のような)。
結局、軽いプロセッサはDRAMの中に置き、これを1個の重いプロセッサの周りに多数配置する。
コンピュータ制御のデータキャッシュとは、コンパイラが判断してハードウェアに通知することにより、coherence traficを除く。 LWT(軽いスレッド)はspawnするが、PIMはspawnのオーバーヘッドを最小化する理想的な実装方法である。
productive programmingのためには、Matlabのような言語がいいが、実行は遅い。たから新しい言語(Chapel?)を作る必要がある。Cascade collaboration (Cray, JPL, Notre Dame, Stanfordなど)は協力してオープンソースとして活動を始めている。
11) The 2003 Sidney Fernbach Award
午後1時30分からは表彰式のセッションであり、いろんな賞が出された。最初のFernbach賞はHPCの生みの親の一人である故Sidney Fernbach 氏(LNLL)を記念して1992年にIEEE CSにより創立された賞で、「革新的なアプローチを用いてHPCの応用に顕著な寄与をした人」に与えられる。受賞者には賞状と$2000が送られる。
今年の選考委員会は、委員長がFred Johnson (DOE)で、そのほかAl Brenner, Robert Harrison(去年の受賞者)、Jose Munos, Horst Simonである。今年は、かのJack Dongarraに送られた。Dongarraは受賞後の講演でself-adapting numerical softwareについて講演した。
12) Best Paper賞
これはこのSCでのBest Paper、Best Student Paper、Best Student Posterに送られる。
a) Best Paper Award: “The Case of the Missing Supercomputer Performance: Achieving Optimal Performance on the 8,192 Processors of ASCI Q.” by Fabrizio Petrini, Darren Kerbyson, and Scott Pakin (Los Alamos National Laboratory).
ASCI Q の性能を最適化によってどう引き出したかを記述。
b) Best Student Paper: “A New Parallel Kernel-Independent Fast Multipole Method.” by Lexing Ying, George Biros, Denis Zorin, and Harper Langston (New York University)
c) Best Student Poster: “Improving the Performance of MPI Derived Datatypes by Optimizing Memory-Access Cost.” by Surendra Byna and Xian-He Sun (Illinois Institute of Technology, Chicago); William Gropp and Rajeev Thakur (Argonne National Laboratory).
13) HPC Challenge Awards
これは二つのカテゴリーにおいて、HPC資源を革新的に活用したものに与えられる。
a) The HPC Challenge Award for the Most Geographically Distributed Application: “Global Analysis of Arthropod Evolution,” by Craig Stewart (UITS, Indiana University), John Colbourne (Center for Genomics and Bioinformatics, Indiana University) and their team.
b) The HPC Challenge Award for Most Innovative Data-Intensive Application: “Transcontinental RealityGrids for Interactive Collaborative Exploration of Parameter Space (TRICEPS),” by Stephen Pickles (University of Manchester), Peter Coveney (University College London) and their team.
14) SC2003 – Bandwidth Challenge
バンド幅チャレンジはSC2000で始まり今年で4年目。競技者の機器からSCinetのスイッチやルータを通るスループットを測定する。Qwest社がもっとも勇敢に資源を利用したグループに賞金を出す。今年の競技者は9グループであった(どういうわけか平木さんのグループの情報が競技者リストに出ていなかった)が、8種類の賞が出された。(著者リストは省略)
a) “Best Application” Award:“Multi-continental Telescience”
U.S., Argentina, Japan, Korea, the Netherlands, Sweden, and Taiwanに広がる広域の国際リンクにおいて1.13 Gbpsを達成。日本からは大阪大学のサイバーメディアセンターと超高圧電子顕微鏡センターが参加し、日本からデータを送ったとのこと。IPv6を積極的に使っているのはこのチームだけであった。
b) “Application Foundation” Award:”Project DataSpace”
web serviceにより分散DBを構成し、3.66 Gbps を達成。
c) “Both Directions” Award:“Distributed Lustre File System Demonstration”
PhoenixからNCSAまでの2000マイルを両方向の通信を行ないつつ、9.02 Gbpsを達成。
d) “Best Commercial Tools” Award:“Effective Data Locomotion over the Wide Area with GPFS High Performance Grid-Enabled Data Movement with GPFS”
On-demand file accessで8.96 Gbpsを達成。
e) “Distance Bandwidth Product and Network Technology” Award:“Transmission Rate Controlled TCP on Data Reservoir”
このチームは、日米間1往復半(フェニックス=東京=ポートランド=東京 を経路とする)24000 km(15000マイル)の超高速通信(最大容量8.2 Gbps)において、TPC/IP通信により、ネットワーク上のバンド幅7.56 Gbps(効率65%)のディスク間データ転送速度でデータを転送した。平木チームが測定する1時間の前半、回線の調子が悪く苦労したが、平木さんがバイオリンをおもむろに取り出し曲を奏でると、バイオリンの魔力が太平洋回線に及んで安定化したという。
f) “Distributed Infrastructure” Award:“Trans-Pacific Grid Datafarm ” Grid Technology Research Center Gfarm File System
建部チームは日米6箇所(SC2003会場、国立情報学研究所、産総研、高エネルギー機構、筑波大、東工大)のコンピュータ1236台をつなぎ、多重のパス(Abilene、SuperSCinet、筑波WANなど)を用いて3.57 Gbpsのバンド幅を達成した。
g) “Sustained Bandwidth” Award (別名 “Moore’s Law Move Over!” Award):”Bandwidth Lust: Distributed Particle Physics Analysis Using Ultra-High Speed TCP On The GRiD”
高速TCPを用いて高エネルギーのデータ(LHCの実験データ)を、最高23.23 Gbps、総量6.55 Tbを送信。
h) “Best Tools” Award:“High Performance Grid-Enabled Data Movement with GridFTP ”
このデモでは、SDSCにおける40のノードと、SC2003における40のノードとの間を、Striped GridFTPのインターフェースによりデータを転送し、8.94 Gbpsを達成。
バンド幅チャレンジに平木さんを中心とする東京大学のチーム(上記 e)と、建部さんを中心とする産総研のチーム(上記 f)がそれぞれ受賞したことは我が国のネットワーク技術の高さの証拠である。両チームとも日本からかなりの物量の機械を持ち込み、前の週から夜も寝ずに準備をしたという。両者の測定は19日午後行われた。
15) Gordon Bell賞
Digital Equipmentの副社長であったGordon Bell氏(現在Microsoft)が毎年ポケットマネー5000ドルを出して与えられる賞で、「並列処理において実際問題の計算を行い、応用で最高の性能を出した人」に与えられる。実際にはいくつかのカテゴリーから選ばれ、賞金は分割される。今回は18件の応募があり、選考委員会(委員長はWilliam Gropp, ANL)が絞り込み、6件のfinalistsが残った。その成果はテクニカルセッションとして、19日午後1:30–3:00と、3:30–5:00に発表された。最終的に下記の3件が受賞した。
a) Peak performance award:“A 14.6 billion Degrees of Freedom, 5 Teraflops, 2.5 Terabyte Earthquake Simulation on the Earth Simulator” D. Komatitsch, C. Ji, J. Tromp, S. Tsuboi (CalTech, JAMSTEC)
地球シミュレータの1944プロセッサを用いて大地震の振動の伝播を計算。
b) Special achievement award:“High Resolution Forward and Inverse Earthquake Modeling on Terascale Computers” Volkan Akcelik他 (Carnegie Mellon, NYU)
1億点の格子点を用いて、LA地区の1994 Northridge地震の振動を再現した。
c) Special achievement award:“Performance Evaluation and Tuning of GRAPE-6 — Towards 40 “REAL” Tflops” J. Makino, T. Fukushige, H. Daisaka, E. Kokubo (U Tokyo, NAO)
35.3 Tflopsを達成。これで牧野さんは6回目の受賞である(たぶん、回数の最高記録)。
16) The Seymour Cray Computer Science and Engineering Award
これもIEEEの正式な賞で、賞金はなんと$10,000。これはSeymour Crayを記念して1998年にIEEE CSが設定した賞で、Seymour Crayが示したような創造的精神を実証するHPCシステムへの顕著な寄与をした人に贈られる。委員長はJohn Riganati氏、委員はFrancine Berman, Dona Crawford, Dan Pryor, Michael Vahle, Yoshio Oyanagi。昨年に引続き筆者も末席を汚していた。
今年はCray Inc. のBurton Smithに決まった。Crayの人がCray賞を受けるのは変なようにも思えるが、この賞金はCray Inc.ではなくSGIが出している。 授賞式のあと恒例により講演を行ない、かれがHEPの開発を行ったDenelcor社の歴史を語った。
17) 「Productivityとは何か」
最終日金曜日は展示も終了し帰ってしまう人も多いので客集めに苦労する。最近は、おもしろそうなパネルをやって客寄せをするのが伝統になっている。21日8時30分からのセッションには以下の3つのパネルが開かれた。
I HPC Productivity (Coordinator: Jeremy Kepner)
II The High End Computer Revitalization Task Force (Coordinator: G. B. Nelson)
III Battle of the Network Stars!
筆者は有名人がパネリストに出ているIに顔を出した。座長はJ. Kepner (MIT, Lincoln Lab.)、パネリストはCharles Koelbel (Rice), David Kuck (Sun), Robert. Numrich (U of Minnesota, Minnesota Computer Institute), Mark Snir (UIUC), Thomas Stirling (Cal Tech), Larry Votta (Sun). 観客は100 人弱でBurton Smithなどもいた。
出された問題は、
Q1: How should we define and measure productivity in HPC?
Q2: What are the implications for HPC designers and users?
ということのようだ。つまり、DARPAがHihg Productivity Computingなどと言い出したので、productivityとは何か考えなければいけなくなったようだ。パネリストの答えは:
a) C. Koelbel (Rice):productivity = time to solution これを上げるには、言語の抽象化や表現力の向上が必要である。彼らしい。
b) D. Kuck (Intel): 私はアカデミアからビジネスに移った。productivityを向上させるとは、より速く、より容易に、ということ。それには4つのことが必要である。(1)並列アーキテクチャ、(2)並列ソフトウェア、(3)実行時ソフト、この3つは(コンピュータの)供給者側の問題だ。(4)応用側からの問題は、より大規模でより複雑な問題を解くということ。
生産の技術革新は、「Innovation」->「差別化」->「標準化」のサイクルを構成している。新しい技術を開発すると、しばらくは他と差別化できて利潤が得られるが、そのうちそれが標準となってみんなが参入してくるので利潤が減る。そうなると次の技術革新が必要になる。productivityの成長の道は直線的ではない。コンピュータのオーナーはTop500に載ることを第一に考えるのでユーザのためにならない。
c) M. Snir(NumrichのMacがプロジェクタとの相性が悪く順序変更)”A Framework for Measuring Productivity in HPC”:Kuckとは逆に私は産業界からアカデミアに移った。これは質量保存の法則だ。経済学の入門書によると、productivityとは資源を正しく配置して、正しい政策をもつことだとある。プラットフォームのproductivityは、固有のものではなくアプリケーションや環境やユーザのニーズなどの関数である。問題は、チューニングにどれほどの時間を掛けるかである。チューニングにかかる時間やコスト、それによって得られる実行時間のコストを考えるとtrace offsがあり、どこか最適なところがある。
我々の夢は問題とプラットフォームから問題解決までの時間を予言することである。しかし現実には、HPCのソフトウェアの開発過程は分からないし、コーディング努力と性能との関係も分からない。要するに、いつチューニングをやめるかが問題である。
d) R. Numrich (U Minnesota):“Performance Metrics based on Computation Action” 計算の力や速度があるなら、計算の作用(action)があったっていいじゃないか、という提案。作用は「力×時間」だからSLOC×s となる。最小作用の法則が大事である。問題は、無駄になった作用を最小にすることである。”Lost action metric”を提案する、と言って、Top500のLost Actionのグラフを出した(よく見えなかったが、Rmax/Rpeakのことか?)。Productivity=ratio of work done to resource used これはあまりに当たり前。
e) T. Stirling (CalTech):“Productivity Models and Metrics” なにかもっともらしい式をいろいろ書いていたが、一言”may not be quantifiable.”そんなら式を書くな。HPC Productivity Facytors: peak, efficiency, programmability, availability。これも当たり前。 今年はフォードの自動車の100周年だ、と突然言い出して。users should not micromanage hardware….というご託宣。何を言いたいのだ!!
f) L. Votta (Sun):プログラムにはJohn Gustafsonの名前が出ていた。彼は筑波大学の隣のサンのブースにいたが、パネルには出てこなかった。Vottaは元高エネルギー物理屋とかで、software physicsを言い出した。Productivity = Utility/effortだ、これも当たり前。そしてベンチマークのあり方についていろいろ論じていた。
私もあまりまじめに聞いていなかったが、皆もつまらないと言っていた。要するにproductivityを実効performanceと考える人と、効率(実効 ÷ 名目)と考える人とがあり、議論は噛み合わなかった。
18) 「四匹の熊」
21日10時30分からの後半も3つのパネルが開かれた。
I Goldilocks and the Four Bears Revisited: HPC Architecture Directions (Coordinator: David Morton, MHPCC)
II Open Source Software Policy Issues for High Performance Computing (Coordinator: Rod Oldehoeft, LANL)
III The Simplification of Supercomputing: Clustering, Appliances and Grid Computing (Coordinator: Bill Blake, Netezza Corp.)
私はIに参加した。Tom StirlingやBurton Smithも出ていた。
“Goldilocks and the Four Bears Revisited: HPC Architecture Directions “という人を喰ったタイトルのパネルは、座長がDavid Morton (MHPCC)で、パネリストは、Steve Scott (Cray Inc.), Rob Pennington (NCSA), Bill Pulleyblank (IBM), H. Edward Seidel (Louisiana State University and Max-Planck-Institut fur Gravitationsphysik) の4人。
「ゴールディと三匹の熊」”Goldilocks and the Three Bears” (Jan Brett著)という絵本は、セサミストリートでもおなじみで、あらすじは以下の通り。
「大きなお父さん熊と、中くらいのお母さん熊と、小さな子熊が森の家に住んでいる。ある日、朝食のオートミールが熱すぎるので、冷めるまで3匹そろって散歩に出かける。そのすきに森に迷い込んだ金髪の女の子 (Goldilocks) がやってくる。おなかがすいているので、大きなオートミールを食べようとするけど、熱すぎて食べられない。中くらいのは冷たすぎる。小さいのはちょうどよかったので、全部食べちゃった。リビングに行くと、大きな椅子は固すぎて座れない。中くらいのは柔らかすぎる。小さいのはちょうどいいのでそれに座ったら壊れちゃった。満腹になったらで眠くなった。大きなベッドは固すぎる。中くらいのは柔らかすぎる。小さなベッドはちょうどよかったので、ぐっすり眠り込んでいると、そこに散歩に出かけていた熊たちが帰って来ちゃって、さあ大変! 」(Wikipedia『3びきのくま』参照)
題名にrevisitedとあるのは、8年前のSC ’95 (San Diego)の、やはり最終金曜日に行なわれた “Goldilocks and the Three Bears, Confront the Future of Supercomputing”というパネルの再演というような意味であろう。あのとき私は隣のEmbedded Systemsのパネルに出ていたので知らないが、web pageによると、司会者はRobert Borchers, National Science Foundation で、三匹の熊は、Tom Anderson, University of California, Berkeley; Burton Smith, Tera Computer Co.; and Steven Wallach, Convex Computer Corp.だったようである。3人の提案する将来のスーパーコンピュータの、あるものは安易すぎ、あるものは困難すぎ、ちょうどいいのはどれだ。でも壊れちゃうかもしれない、というような話らしい。 今回はパネリストが4匹。ちょうどいいのはどれだ。パネリストに出された問題は、
i) Why do you think that the architecture you are most closely associated with is important and relevant?
ii) Where do you see it evolving over time?
iii) Do you see any other current HPC architectures becoming less important over time?
iv) Do you think that customized HPC hardware can compete on a price/delivered performance basis long term with COTS microprocessors and systems?
だそうだが、無視してしゃべっていた人もいた。
a) Scott (Cray):クラスタで済むならX1を買うことはないが、密結合の問題ならクラスタではだめで、X1が必要、などと言っていた。
b) Pulleyblank (IBM):BlueGene/Lの解説。大きなクラスタではない、ことを強調。
c) Pennington (NCSA):NSCAは4つのアプローチを取っている。(1) Shared memory machine,(2) TeraGrid, (3) IA-32 cluster, (4) Condor resources pools。それに470 TBのディスク。アーキテクチャの良さは、price/performance比とスケーラビリティで決まる。今や$1/MFlopsより遙かに安くなったが、storageはそれほど安くはない。 今後重要になる要素は、ターンキー(スイッチを入れるとすぐ動くこと)、モジュラリティ、データ管理、ソフトウェアツールであろう。今後重要でなくなる要素は、アーキテクチャ。ベクトルかMPPかというような問題は、応用からの要求で決まること。むしろ、データの方が重要。I/OのTop500が必要だ。TPCもあるが、ここにいる皆さんには関心がないでしょう。
専用HPC machine対COTSについて、一般的にはyesだ(COTSでいいということか?)、しかしモノカルチャー(同一作物だけの耕作)は、競争がなくなり成長が止まる。
d) Seidel (Louisiana State University and Max-Planck-Institut fur Gravitationsphysik):CM-5はいい機械だった。この上で初めて3次元の相対論的計算が可能になった。data parallelという簡単なプログラミングモデルを導入することによって、多くの分野に並列計算を広めた。グリッドも面白いが、まだ「グリッドマシン」と言えるものはない。サービスへのアクセスに対する共通のメカニズム、組織を越えた資源共有などはすばらしいアイデアだが、先が長い。「グリッド上のハリケーン」では、メキシコ湾の多くのセンサからのデータを集めてモデルに供給しシミュレーションを行う。今後重要でなくなることは、グリッドが進むと個々のアーキテクチャは重要でなくなる。 専用HPC machine対COTSについては、誰が金を出すかで決まる。
このあと二三のフロアとのやりとりがあった。
次は会議以外の学界ニュースとアメリカの企業の動き。AMD社はついにx86-64アーキテクチャのOpteronを発売した。Itaniumとの対決はいかに?
(タイトル画像:SC2003ロゴ 出典:SC2003ホームページ)