64ビットARMクラスタへの道のり―Gary Lauterbach氏へのインタビュー~AMDの64ビットARMチップ“Seattle”カギを握るFabricテクノロジはどこから来たか(後編)

前編ではHotChipsのSeattleの発表にFreedom Fabricが含まれていなかったところからはじめて、それが今回含まれなかったことに関してGaryとの対話を通じて得た筆者なりの解釈を述べました。

GaryにはFreedom Fabricの技術そのものについても聞いてみました。ただし技術的詳細ではなく、その由来です。

つまりFreedom Fabricの3次元トーラス構造やワームホールルーティングはスパコン(HPC)由来と言って良いものです。このHPC技術がどこから来たか、そしてSeaMicro社を起業してでも実現しようとした経緯などについてGaryに訊ねてみました。

AMD本社玄関正面(撮影:Masahiro ITOH)
AMD本社玄関正面(撮影:Masahiro ITOH)
2013年訪問時のSeamicroオフィスのタイトル
2013年訪問時のSeamicroオフィスのタイトル

HPCの経験

まずGaryにHPCとのつながりについて聞いてみました。

G:オーケー。私の主たるHPC経験はDARPAのHPCSプロジェクト[1]のシステムアーキテクトだったことだ。

そのとき私はSunにいて、自分たちで提案したコンセプトのアーキテクトだった。我々はとても低遅延なバイセクションバンド幅[2]のインターコネクトとして、近接無線による IO(proximity IO)つまり複数プロセッサのシリコンダイをその四隅で重ね合わせて通信する[3]機構を提案し、実現したんだ。

Y:どういうアーキテクチャだったのですか?(構造がさっぱり浮かばなかった)

G:ああ、とてもラディカル(急進的)なものだった。12インチのウェハーの上に、四隅が少し重なり合うようにシリコンダイを並べて、そのダイの角(かど)ごとに1万の10Gbpsリンクがある[4]⁠。

ウェファー外周のダイには総計3万2,000本の10Gbpsの光リンクがあってね。

さすがに荒唐無稽というか、ちょっと想像がつかない構造だったため、Garyがホワイトボードに簡単に図1のように描いてくれました。

12インチの薄いシリコン円盤の上に2,500個ものプロセッサ・ダイを、各ダイの角が少しだけ重なるように並べるのです。

図1 Sun HPCS の構造(上から全体を見た状態)
図1 Sun HPCS の構造(上から全体を見た状態)

プロセッサ・ダイが重なりあった部分には Proximity IO のインターフェースがあり、そのためにダイは向かい合わせで配置します。図2にその断面を示します。

図2 Sun HPCS の構造(横から見た状態(一部⁠⁠)
図2 Sun HPCS の構造(横から見た状態(一部))

この図2のピンク色のプロセッサ・ダイが重なり合っている部分が 図1中の赤い丸で囲った部分に相当します。

土台とスペーサーがシリコンなので、とても正確な加工が可能で、極小サイズのパッド(それも一万個が並んでいる)を正しく位置合わせして置けたとのことです。

上側(灰色)の材料はスペースシャトルに使われたような、Graphitic foamと呼ばれる98%が空気であるような多孔質の炭素材で、これに水を圧入して冷却します。

ちょっとものすごいですね。

Y:またクレイジーな……

G:まったくだ。このアーキテクチャはTable Toyと呼ばれるNSAのベンチマークに集中している。

Table Toyは全プロセッサが、全メモリ空間に対してランダムアクセスするもので、NSAはとくに何に使うと言わずただこのベンチマークだけがあった。このマシンは各プロセッサが個別に1FLOPS あたり1回のメモリ参照が可能だった。

そしてダイそれぞれの電力消費が 100W と聞いてまた衝撃を受けます。

Y:2,500ダイとなると……(計算できなかったわけではありません。あまりの熱量とその小ささに戸惑ったのです)。

G:そう。2,500ダイだと250KWだ。

Y:ダイの大きさは全体で12インチでしたよね? その熱は……。

G:そう、NSAが最初に見たときの質問も冷却だったが、私は自動車のことを考えてくれ、と答えた。

自動車は200~500KWくらいで、熱効率は30%程度だ。

つまり100年前の水冷技術では、とても小さなラジエータと僅かな量の水で250KWより大きな熱を冷やしている。

Y:ええまあ、それにしてもずいぶんと普通じゃない(unusual)コンピュータですね。

G:確かにとても普通じゃないコンピュータだった。超高帯域で、低遅延で、とても小さくて。どのダイにいくのも2hopsでいける。

Y:(説明はなかったがそれしかあり得ない構成と性能なので)メモリはダイに組み込まれてるんですよね?

G:そうだ。我々はメモリをスタックした。それが理由で我々はコンペに勝ったんだ。アグレッシブな冷却、シリコンマシニング、ダイスタッキングと超先端技術を集めたとても複雑なマシンだったね。

Y:ところで下はほぼシリコンですが上が炭素材と、つまり上下で材料が違うのですが熱膨張は問題にはならないんですか?

G:それについても分析したよ。論文があると思う。

Y:それにしてもこのダイスタッキングとオーバラッピングはすごいですね。驚異だ。

G:いやあ、楽しいマシンだったよ。実際に作ったしね。

ただとても高い。DARPAのマネージャはたぶんB-1爆撃機くらいのお金を用意しないといけなかったろうね。2、30億ドル程度かな。

Y:12インチのB-1爆撃機ですか!

G:この種のものを作るにはお金がかかるんだよ。⁠苦笑いしながら)我々はしかし(賞金として)5億ドルしか得られなかったがね。

SeaMicroの起業

さすがに長いキャリアを持つGaryの話はおもしろく、こうなるとSeaMicroを起業した経緯が知りたくなります。

そこで「なぜ、どのようにして(Why and how)マイクロサーバのクラスタというアイデアを得て、起業したのかを教えてください」とお願いしてみました。

Garyは「Why and how か。ちょっと込み入った話になるんだがなあ」と笑いながら教えてくれました。

G:Sun Labs.[5]に自分が雇われたとき、ドア2つ向こうにEric Schmidt(元Google CEO。現在は会長)がいた。

後に彼がGoogleに雇われたとき、Jim Mitchlell[6]と私、それにもう1人でEricに会いにいき、何をしているのか見ることにした。あれは 2001年、Googleはまだ30~40人くらいで、パーキングロットを2つはさんだ(隣の)ビルにいた。

Googleでは元Sun Labs.のWayne Rosenが彼らのサーバについて見せてくれた。

Ericとはビジネスの方向などを話して、2時間ほどして出た。

帰り道のパーキングロットでJim Mitchellは「彼らを助けるための何もSunは作れない。奴らは見つけられる限りの安いPCを買ってラックに入れてる」と言ったね。

私は「ここはチャレンジだ」と思い、この時初めてマイクロサーバのアイディアが浮かんできた。

それはGoogleがやるようなマッシブパラレルなワークフローのためのもので、Sunのローエンドのチップを使い、スケールするようなシステムとして設計した。ただしインターコネクトのアイデアはなかった。

共有ストレージもファブリックもなく、単にメモリとSoCのプロセッサを使って低コストで作るマイクロサーバだった。

この計画はSunの製品ラインとは合わず、社内会議では採用されなかった。

しかし私はSunを離れたときも、友達の会社に移ったときも、AMDに移ったとき[7]も、やはりそれについて考え続けた。Anil Rao[8]と会い、知人の知人のスタートアップでも試みたが出資を得られず、じゃあもう自分達でやろう、と言ったんだ。

それからAnilはYahooにコンタクトしてサーバ側の処理に関するトレースデータを貰って分析し、私の計画がデータセンターに多数配置するような Web サーバにはフィットすることがわかった。

充分このアイディアでやっていく自信はあったが、ただし資金を取ってくるビジネスマンが必要だった。そこでAnilが前に一緒に働いていたAndrew Feldman[9]を連れてきて、この3人で起業したんだ。

筆者は米国、シリコンバレーを中心にこうした取材をもう10年近く続けていますが、取材しようとしたその技術が、実は長らく自分のアイディアを追いかけ続けた結果だったケースに繰り返して遭遇します。

そうした歴戦のエンジニアはまた、同じく他の優れたエンジニアと仕事を通じてつながり続けていることも感じます。

技術開発にはこの厚みが重要なのです。

おわりに

前編では、ARMへの移行はソフトウェア面、とくにインターネットサーバまわりなどサードパーティやオープンソースのソフトウェアを多用しているところは時間がかかることを説明しました。

これはAMD/Seattleに限らず他の64ビットARM開発企業についても共通の問題と思います。

筆者はARMへの移行はごく近いうちに沸点を超え、インターネットサービス向けの応用が急速に伸びはじめるだろうと考えています。

そのとき、クラスタシステムとしての能力や効率の勝負のカギは、むしろコアの処理能力ではなくインターコネクトが握っています。すでに長いエンジニアリングを経たインターコネクトであるFreedom Fabricを持つAMDはその点で良い位置に付けていると言えるでしょう。

GaryはIT業界での長いキャリアを持っています。

SeaMicroを起業する前はAMDでBulldozerコアのメモリアーキテクトでした。その前はSun でUltraSPARC III(最初の64ビットSPARC)を設計しています。

取材ではそれ以前にData General MV/8000やIBMなどの多くのマシンに触れたことや、高校生のインターンとしてBell Lab.にいき、⁠世界最年少ユーザ」としてDennis Ritchieが開発真っ最中だったUNIXを触っていたエピソードなどを伺いました。

Garyは(おそらくはドイツ系の)質実剛健を地でいくような紳士ですから、こうした話をするときも「相好を崩して」といった感じではありませんが、それでも1つ1つ楽しそうに披露してくれました。

他にもUltraSPARC IIIのアーキテクチャ設計でのBill Joy[10]のエピソード(コラム2参照)が飛び出したり、UltraSPARC Iの仕事でその設計者であるLes Kohn[11]と一緒に働いたことなどを話してくれました。

UltraSPARC III プロセッサに貰ったGaryのサイン
UltraSPARC III プロセッサに貰ったGaryのサイン

筆者も2009年にLes Kohnに取材したときの記事(日本語のPDF原稿)をプロジェクタに出して説明したり、話の尽きない取材を楽しみました。

おすすめ記事

記事・ニュース一覧