データセンターなど電力効率が重要な環境でのサーバ用途に向けた64ビットARMプロセッサの開発競争が激化しています。
AppliedMicro、
しかし、
筆者は、
SeaMicro のクラスタサーバ
64ビットARMプロセッサの強みはその電力効率にあります。単体処理能力はIntel x86に劣るが、
つまりARMサーバは必ずクラスタと呼ばれるような多数プロセッサ構成、
さて、
Freedom Fabricはクラスタサーバ専業のベンチャー企業SeaMicro社が開発したもので、
SeaMicroの最初の製品SM10000は、
AMDは当初からSeattleにFreedom Fabricを組み込むとアナウンスしていたのですが、
トーラス・ネットワーク
ところでスーパーコンピュータのほとんどはクラスタシステムです。
そこで用いられるインターコネクトの構成に、
中継に際しては遅延を押さえるために、
より多数のノードを短距離で接続するために次元数を増やすことも行われます。京スパコンのインターコネクト、
Seattleに搭載されるであろうFreedom Fabricはまさにこの3次元トーラス構成+ワームホールルーティングによるインターコネクトの実例です。SM10000は、
ハードよりソフトのほうが時間が掛かる
さて前置きはこのくらいにして、
なお以下に掲載するGaryとの問答はHotChipsでの発表より早い時期に行われています。
筆者はこの時もちろん、
筆者はまずFreedom FabricがSeattleにどのような形で統合されて出てくるのか質問しました。
Garyは出荷される製品がどうなるかはわからないとしながら
筆者
(以後 Y) Fabricはとても重要だと思うのですが、: どうしてですか。 Gary
(以後 G): ユーザによる。Fabricはエンベッデッド(組み込み分野) では重要ではない。 Seatlleはマーケットのレンジを広げるんだよ。データセンター向けWebサーバ、
つまりSeaMicroがやっていたような分野から、 エンベッデッドのユーザまでだ。 たとえばコールドストレージサーバのコントローラや、
ネットワークパケット処理といった分野ではおそらくFabricはそれほど有用ではない。 そして最初のアプリケーション
(適用分野) はエンベッデッドだ。 Y:サーバでなくエンベッデッドなのはなぜですか?
G:ソフトウェアだね。データセンターユーザ
(サーバアプリケーションの開発者を指す) はx86のソフトェアスタックを抱えていて、 その移植には時間がかかる。エンベッデッドではその製品ごとに独立していて、 サードパーティやオープンソースによる部分が多くない。つまり顧客はより速く移植ができる。 Y:うーん、
面白いですね。ハードウェアは動いていて準備ができているのにソフトウェアはまだだ、 と。 G:
(ははは) 実際のところSeaMicroでそれを学んだ。適切なソフトウェアエンジニアを雇って、 デバッグなどをさせるのはハード開発より時間がかかる。UltraSPARC III 開発 [7] の経験でも変な話があった。 (それを積んだワークステーションを) 73ヵ国にその国ローカルなキーボードの認定を受けて出荷するのにチップ設計より長い時間がかかった。 Y:
(笑いながら) なぜです? G:認定プロセスが長くかかるんだろうなあ。3年もかかった。本当に驚いたよ。
時々ものごとは直感とは違うように進む。ソフトウェアが前に進むのには私の予想より長い時間を必要とする。ハードウェア開発よりもね。
ARMアーキテクチャへの移行
Y:SeaMicroではホストプロセッサがx86アーキテクチャのAtomでした。SeattleはこれをARMに変えているわけですが、
それは大変でしたか? G:SeaMicroでもまだ出荷していないがARMアーキテクチャの製品はロードマップにあった。ARMへの変更はハードウェアサイドはとても簡単だ。我々のFreedom Fabricアーキテクチャはプロセッサの命令セットには依存していない。
しかし、
顧客のソフトウェアはそこに引っ掛かっている。まあ顧客によるがね。ソフトウェアスタックをとてもタイトにコントロールしているところは難しく、 早期には動けない。 サードパーティあるいはオープンソースのものも、
それらのエコシステム (生態系) ができあがるには時間がかかる。 顧客に
(ARMへの移行に関する) 強いモチベーションがあるのは確かだが、 それでも時間が掛かるのだ。 Y:そのようなソフトウェアの移植を前進させるために最も大きなインセンティブは何だと思いますか。
G:バリューだ。コストパフォーマンス、
利益。ARMに移るビジネス上の価値に気がつけば、 彼らはやる。
32ビットという障害
ARMへのソフトウェア移行となるとどうしても CALXEDA のことを考えてしまいます。
CALXEDA はクラスタサーバ向けのパワフルなARMプロセッサを開発し、
一時期は市場で最有力なARMサーバプロセッサベンダーと目されていましたが、
Y:CALXEDA はなぜ成功しなかったのでしょう。
G:思うに彼らは少しサーバマーケットに対して早すぎたんだ。32ビットアーキテクチャはサーバには適さない。じきに
(ソフトの) エコシステムは32ビットのものを開発しなくなるだろう。逆に言えば今は良いタイミングだと言える。AMCC (Applied Micro)、 AMDなどがそうで、 Seattleは最初の 64ビットサーバクラスARMの1つだと思う。Linuxの移植もあり、 エコシステムもそれを開発している。 CALXEDAは市場に対して
(ARMだった点で) ほんの少しだけ早すぎたか、 あるいは (32ビットだった点で) 逆に少しだけ遅すぎたんだ。
Garyはまたサーバ市場における 32ビットアーキテクチャの問題についてSeaMicroでの経験を引いて説明してくれました。
つまりSeaMicroはもともと32ビットのAtomプロセッサを512個搭載したクラスタサーバとして出発しました。
Garyは
つまりそれがx86互換だったとしても、
最後にGaryは
インターコネクト抜きのアプローチ
ざっとGaryとの対話を振り返りながらインターコネクトを含めないアプローチについてまとめてみましょう。
つまりサーバシステムの分野ではそのソフトウェア群の変更には時間がかかり、
そしてその用途ではマルチプロセッサは必要がなく
そう考えれば最初の段階でSeattleにFreedom Fabricが含まれなかったのはわからなくもありません
インターネット、
筆者もその日を楽しみに、
後編ではFreedom Fabricに流れるスパコン技術の血と、