AWS Cluster Compute Instance

AmazonクラウドEC2にCluster Compute Instanceなるものが追加された

EC2でHPC

EC2のインスタンスをたくさん使っていわゆるHPC (High Performance Computing) をやってみる、というのはあちこちで試している人がいたのだけど、これまではあまり芳しい結果が得られていなかった。というのはHPC系のアプリケーションの多くは、ノード間のネットワークのレイテンシに対して敏感で、レイテンシが大きくなると極端に性能が低下してしまうことが多いから。しかも、1ノードだけちょっと他のノードから離れていてレイテンシが大きい、というような状態であっても、他のすべてのノードの足が引っ張られてしまう。

実際に測定したひとによると、これまでのEC2内部のネットワークレイテンシはかなりばらばらで、結構低レイテンシの場合もあれば、高レイテンシの場合もある、という感じだったらしい。要するにインスタンスを作ったときに、どのように内部的に配置されるかで、運任せだった、ということだろう。

なので、これまではEC2上での科学技術計算するなら、HPC系は無理でHTC (High Throughput Computing)系しかないね、という感じだった。HTCでは、一般に各ノードが独立してジョブを実行するので、ネットワークへの負荷は小さく、特にレイテンシはほとんど影響しない。

もうひとつの問題点は、CPUアーキテクチャ。これまでのEC2はCPUアーキテクチャについて32bit/64bit としか言及していなかったので、バイナリコンパイル時に十分チューニングすることができなかった。

Cluster Compute Instance

新たに導入されたCluster Compute Instance はこれまでのインスタンスとかなり毛色が違う。まずはスペックがかなりすごい。

メモリ23 GB
33.5 EC2 Compute unit (Xeon X5570 quad-core "Nehalem" x 2)
1690GB ストレージ
I/0  10G イーサ

サイズは1つだけ。なんとNehalem X5570 とか書いちゃってますよ。ハードウェアの更新どうするつもりなんだろう。メモリ23GBというのは、24GBのうち1GBをホストで使って残りをゲストに、ということだろう。つまり、基本的に1つのノードを一人のユーザが占有することになるんだろう。

また、ブートはEBS(不揮発のブロックデバイス)からしかできない。また、HVM(Hardware Virtual Machine) 限定となっている。

ネットワークもスゴイぞ。10Gだ。実際どのくらいバンド幅がでてくるのかわからないけど。レイテンシがどうなるかは、スイッチの構成によるけど、当面は機簿も小さいだろうから、それなりに密に接合されているんじゃないだろうか。

お値段

気になるお値段は、1時間1.6ドル。20EC2 compute unit のHigh CPU Extra Largeが0.68ドルだから、CPU性能を単純に比較すると微妙に割高?しかし、Nehalemはメモリバンド幅が広いので、アプリケーションによっては、CPUクロック以上の差が出るだろうし、ネットワーク10Gならバーゲンプライスか。

所感

うーん、これは結構まじですごいんじゃないですか?っていうかこれどのくらいの数入れたんだろう?個々のサーバもさることながら10Gのスイッチはかなり高価のような。当面キャパシティはかなり限られているんじゃないだろうか。

実際にはこれを100台とか使ってHPCアプリケーションを動かすと、単純に10Gでつなぎました、ではすまない世界になってくるので、なかなかうまくいかないだろうけど、4-8台で十分というアプリケーションはたくさんあるはず。結構インパクト大きいかも。。。。

追記

こちらによれば、880インスタンスで、41.82T FLOPS, トップ500で、146位相当らしい。うーん。。。