IDF 2010 Fallに見る、今後のサーバー向けCPU
MP向けの次世代「Westmere-EX」とSandy Bridge世代のサーバーCPU
9月に米国サンフランシスコで開催されたIntel Developer Forum(IDF)2010 Fallでは、2011年から2012年ごろまでのサーバーCPU(Xeon)のロードマップが明らかにされた。
今回は、IDF 2010 Fallの資料を基に、今後、サーバー向けのCPUがどのように変わっていくのかを解説していこう。
■2011年の前半ごろにリリースされるWestmere-EX
現在、Xeonは2種類のアーキテクチャのCPUがリリースされている。
2ソケットのXeon 5600番台、1ソケットのXeon 3600番台は、2010年にリリースされたWestmereをベースとしている。Westmereは32nmプロセスで製造され、命令セットも、暗号化を行うAES-NIや仮想環境におけるプラットフォームのセキュリティを高めるIntel TXTなどが追加されている。
また、製造プロセスが32nmに変更されたことで、Xeon 5500/3500番台(Nehalemベース)で4つだった最大コア数も、Xeon 5600/3600番台では、6つに増えている。
一方、現行Xeonの最上位CPUとなるXeon 7500(4ソケット以上)/6500(2ソケット)番台は、Xeon 5600/3600番台のWestmereベースではなく、1世代前のNehalemベースとなっている。このため、製造プロセスは45nmで、Westmereで追加されたAESーNIやIntel TXTなどは搭載されていない。
しかし、Xeon 7500/6500番台では、ミッションクリティカルな用途に利用できるように、CPUやメモリ、I/Oなどのハードウェアトラブルを自動的に検出して、システムがダウンしないように回避して、動作し続けるRAS機能(信頼性、可用性、保守性)がサポートされている。
CPUコアのベースとしては、Nehalemを使用しているが、CPU内部のキャッシュメモリの構造などは大幅に改良されている。
もっとも大きな違いは、CPUコア数だ。45nmプロセスで製造されているが、コア数としては最大8コアをサポートしている。ハイパースレッディングを利用すれば、16スレッドの同時実行が可能になる。
Intelでは、2011年の早い時期にXeon 7500/6500番台をWestmereベースに変更したXeon(開発コード名:Westmere-EX)をリリースする。
Westmere-EXは、基本的にはXeon 7500/6500番台とはピン互換になっている。また、熱設計も同じになっている。
大きく変更されるのは、製造プロセスを32nmにした点で、CPUの最大コア数もアップする。Westmere-EXでは10コア(ハイパースレッディングで20スレッド)をサポートする超ド級のCPUとなる(8コア/16スレッドなどの製品も用意される予定だ)。また、Westmereでサポートされた、AES-NIやIntel TXTなどもサポートされる。
CPUコアが共有するL3キャッシュメモリの容量に関しては、IDFでは解説されなかったが、Microsoftのコンファレンス「Tech-ED」のセッションで、Intelの担当者が30MBになるとプレゼンテーションしている。さらに、32GB DIMMのサポートが表明されている。これにより、4ソケットのシステムで、2TBものメインメモリを持つサーバーが構成できる。
■サーバー版のSandy Bridgeは2011年後半
サーバーCPUがサポートするメモリ。Sandy Bridgeからは、ECC付きのUDIMMが使用できる。また、2ソケットのSandy Bridge-EPでは、1.35VのLR-DIMMも使用可能になる |
2011年は、IntelのCPUの世代が大きく変わる年になる。現在リリースしているデスクトップ、サーバー向けCPUは、Nehalemアーキテクチャをベースにして、一部機能を拡張したWestmereアーキテクチャが使用されている。
しかし、2011年にはSandy Bridgeアーキテクチャをベースとした、新しい世代のCPUへと進化する(Intelでは「第2世代Intel Coreアーキテクチャ」と称している)。
Sandy BridgeアーキテクチャのCPUは、2011年1月頭に米国で開催される家電関連のコンファレンス「CES」で正式発表され、各PCメーカーからは、1月中には、Sandy Bridgeを採用したPCが発売されるだろう。
1ソケットのエントリーサーバー、ワークステーション向けのSandy Bridge CPU(開発コード名:Sandy Bridge-H2)は、デスクトップ向けのSandy Bridgeがそのまま利用されると考えられる。このため、1ソケットのシステムでは、デスクトップ用と同じようにCPU内部にグラフィックコアが統合されていると思われる。
サーバー向けとして本格的にSandy Bridge世代に移行するには、2011年後半に発表される2ソケット向けの「Sandy Bridge-EP」(開発コード名)からになる。Sandy Bridge-EPでは、Xeon 5600番台と同じように、デスクトップCPUからグラフィックコアを取り外し、よりCPUコアを搭載できるようにする計画だ。計画では、最大8コア/16スレッドを実現するサーバーCPUとなる(2ソケットでは合計16コア/32スレッド)。
このように、CPUコア以外の部分(アンコア部分)の再設計が必要になるため、本格的なサーバーCPUのリリースは、2011年後半になるのだろう。
■4ソケット以上向けのSandy Bridge-EXは2012年、Westmere-EXと併存
サーバーCPUのロードマップ。Sandy Bridge-EXは、Westmere-EXに下位に位置している。2012年でも、最上位CPUとしてはWestmere-EXがポジショニングされている |
4ソケット以上の「Sandy Bridge-EX」(開発コード名)は、2012年になる予定だ。ただ、Sandy Bridge-EXは、Westmere-EXを置き換えるポジションではなく、Westmere-EXとSandy Bridge-EPとの間にポジショニングする。つまり、2012年においても、Intelの最上位CPUとしてはWestmere-EXが位置することになる。
Sandy Bridge-EXは、CPUコア数もWestmere-EXよりも少なくなるようだ。さらに、メモリに関しても、Xeon 7500/6500番台で採用したブリッジチップを使用しない可能性もある。このため、サポートされるメモリのソケット数が少なくなり、最大容量も少なくなるかもしれない。
Westmere-EXの後継CPUといえるのは、Sandy Bridgeの22nmシュリンク版「Ivy Bridge」(開発コード名)世代での登場になるのではと思われる。Ivy Bridgeに関しては、次々世代のCPUとなるため、詳細に関しては明らかにされていない。もちろん、具体的なスケジュールに関しても分からない。
Westmere-EXが使用されるミッションクリティカル分野のサーバーということを考えれば、2年ほどでCPUが一新するのは問題だ。Westmere-EXを使用したサーバーの設計・開発・テストなどでも、相当時間がかかる。企業側ではサーバーの導入、システムの構築、システムのテスト、実稼働ということを考えれば、さらに時間がかかる。
さすがに、高額なミッションクリティカル向けのサーバーを購入するのに、購入を決め、導入されるごろに新しいCPUを採用し、パフォーマンスがアップした機種が出るのは導入企業にとってはやりきれない。このようなことからも、ミッションクリティカル向けのCPUは、メインストリームの2ソケットサーバーと比べると、変化のスピードは少し遅くなるのかもしれない。
■Sandy Bridgeのアーキテクチャ
今回のIDFでは、デスクトップ向けのSandy Bridgeに関して詳細な説明があった。前述したように、1ソケットのサーバー向けCPUは、デスクトップのSandy Bridgeとほぼ同じと予測されるが、売れ筋の2ソケットサーバー向けCPUは2011年後半の登場になるため、CPUのデザインも異なるだろうと予測されている。
デスクトップ向けのSandy Bridgeは、グラフィックコアを内蔵しているが、2ソケットサーバー向けのSandy Bridge-EPは、グラフィックコアを取り外し、その分CPUコア数を増やすことになるだろう。
ただし、デザインは異なっても、デスクトップ向けでも、サーバー向けでもSandy BridgeのCPUコアやキャッシュメモリなどのアーキテクチャは全く同じだ。ここでは、デスクトップのSandy Bridgeを例にとり、Sandy Bridgeアーキテクチャを簡単に説明していく。
Sandy BridgeのCPUコアは、Nehalemアーキテクチャをベースにさまざまな改良を加えている。特にSandy Bridgeコアで改良されたのは、μOPキャッシュを拡張した点だ。これにより、μOPレベルで命令が高速なキャッシュにヒットする率が高くなる。今までのように、L2キャッシュやL3キャッシュから命令を取り込む必要がなくなるため、ペナルティが少なくなる。μOPキャッシュの拡張に伴って、分岐予測の方法も改良されている。
Sandy BridgeのCPUコアにおいては、AVX(Advanced Vector Extensions)が使用する256ビット幅のレジスタが追加されている。AVXは今までのSSEとは別に、新たなレジスタが用意されているため(SSEでは128ビット幅)、AVX命令セットをサポートしたソフトウェアなら、SSEの2倍近いパフォーマンスを示すといわれている。
AVX命令によりパフォーマンスはアップするが、SSE命令とは互換性がないため、AVXを使用するには、ソフトウェアが新たにAVX命令をサポートする必要がある(Sandy Bridgeでは後方互換のため、SSE命令もサポートされている。SSEサポートのソフトウェアがSandy Bridgeで使用できなくなることはない)。
AVXは、256ビットの演算ユニットが新たに追加されている。以前のSSEに比べると浮動小数点演算で2倍のパフォーマンスとなる | AVXの追加により、メモリクラスタも変更されている。Load StoreからStore Bufferにアクセスできるようになった | SSEとAVXの性能比較。AVXを利用すれば、1.5倍から2.5倍までパフォーマンスがアップする |
AVXの追加により、処理するデータ量が増えるため、それに合わせて、CPUコアのメモリクラスタも改良されている。
Sandy Bridgeで大きく改良されたのは、CPUコアが持つL3キャッシュ部分だ(Last Level Cache=LLC)。NehalemやWestmere世代では、CPUコアがL3キャッシュメモリを単に共有するデザインだった。
しかし、Sandy Bridgeでは、L3キャッシュメモリをリング状のバスで接続して、各CPUコアからのアクセスのレイテンシを低くする。これは、Xeon 7500番台などで採用されている方式とよく似ている。
キャッシュメモリの容量が増えると、アクセスに時間のかかるキャッシュメモリが出てくる。CPUコアをリングバスに配置したキャッシュメモリに接続することで、アクセススピードを平均化している。
また、Sandy Bridgeでは、リングバスにCPUコアやキャッシュメモリだけでなく、グラフィックコアやI/Oなどのアンコア部分も接続される。特に、多量のメモリを使用するグラフィックコアにおいては、効率のいいメモリアクセスが実現する。
Sandy Bridgeの3次キャッシュメモリは、CPUコアだけでなく、グラフィックコアやアンコア部分ともリング状に接続されている。 | Sandy Bridgeでは、Intel Turbo Boostもさらに細かく管理して、クロック数をアップするように改良されている | Sandy Bridgeのメモリは、ECCサポートのU-DIMMが使える。デスクトップPCでも、エラー訂正がサポートされることになる |
Sandy Bridgeでは、内蔵グラフィックもWestmere世代とは異なり1つのダイ上に統合されている。さらに、今までのIntelグラフィックスコアとは、アーキテクチャを変更して、パフォーマンスを大幅にアップしている。Intelのポール・オッテリーニ社長は、2006年にリリースされた内蔵グラフィックからは、25倍もの性能アップを果たしていると説明している。
また、Sandy Bridgeのグラフィックスコアには、Mediaエンジンが新設されている。Mediaエンジンでは、H264などのコーデック処理、HDビデオなどをサポートしている。このエンジンを新設したことで、HDクオリティのビデオや3Dムービーの再生もCPUに負荷がかからなくなる。
■サーバーにとってSandy Bridgeのメリットは?
Sandy BridgeとWestmereのCPUコア部分を比較すると、さまざまな部分で改良され、パフォーマンスがアップしている。しかし、Sandy Bridgeになったからといって、Westmereの3倍のパフォーマンスが出る、というわけではない。
Sandy Bridgeの最大のメリットは、CPUコア数がWestmere世代のXeon 5600番台よりも増えるとされていることだろう。従って、OSやミドルウェア、アプリケーションの開発手法を今までのシングルCPU向けから、マルチスレッド向けに作り替えないと、Sandy Bridgeを利用しても、システムとしてのパフォーマンスは劇的にはアップしない。つまり、マルチコア時代に向け、本格的にソフトウェアを作り替える必要が出てきている。
Intelでもソフトウェアの重要性が分かっているため、パラレル・プログラミングのためのコンパイラや分析ツールなどを提供している。また、多くの開発者が利用しているMicrosoft製開発ツール「Visual Studio」向けのIntel製パラレル・コンパイラもリリースしている。
さらに、Sandy Bridgeで追加されたAVXは、浮動小数点演算やベクター演算などのSSE関連の性能を一気にアップするが、前述したように、命令セットがSSEとは根本的に異なるため、AVXの恩恵を得るには、AVX向けにソフトウェアを作り替える必要がある。
こういうことからも、Sandy Bridge世代では、CPUなどのハードウェアだけでなく、ソフトウェアに関しても根本的に作り替えていかなければ、Sandy Bridgeのメリットを100%享受することはできなくなるだろう。