Comments
Transcript
HP ProLiant DL740 G2 and ProLiant DL760 G2 vs
業界標準サーバ用の x86 プロセッサの特性 - AMD Opteron および Intel Xeon 技術概要、第 2 版 概要 ................................................................................................................................................... 2 本書で使用している略語........................................................................................................................ 2 はじめに ............................................................................................................................................. 3 Intelプロセッサの種類 ........................................................................................................................ 3 AMDプロセッサの種類 ...................................................................................................................... 4 AMDプロセッサの命名規則................................................................................................................ 5 マイクロアーキテクチャの類似性 ............................................................................................................. 6 32 ビット動作 ................................................................................................................................... 6 64 ビット動作 ................................................................................................................................... 7 命令セットとレジスタ ...................................................................................................................... 7 動作モード ................................................................................................................................... 8 メモリアドレス指定能力 .................................................................................................................. 8 マイクロアーキテクチャの相違点 ............................................................................................................. 8 パイプラインとクロック周波数 .............................................................................................................. 9 キャッシュミスによるプロセッサ ストール ......................................................................................... 10 分岐予測失敗によるプロセッサ ストール ........................................................................................ 10 Xeonパイプライン ........................................................................................................................ 11 Opteronパイプライン ................................................................................................................... 12 パイプラインと周波数の比較 ......................................................................................................... 13 Xeonファミリプロセッサのハイパースレッディング.................................................................................. 13 システムアーキテクチャの相違点 .......................................................................................................... 15 Intelアーキテクチャ.......................................................................................................................... 15 AMDアーキテクチャ ........................................................................................................................ 18 電力について ................................................................................................................................. 20 32 ビットパフォーマンスの比較 ............................................................................................................. 21 まとめ............................................................................................................................................... 21 付録A. 単位 ..................................................................................................................................... 23 関連情報 .......................................................................................................................................... 24 ご意見をお寄せください ....................................................................................................................... 25 概要 HP ProLiant サーバポートフォリオには、Intel® Xeon®ファミリの x86 プロセッサを使用するシステムと、AMD Opteron™ x86 プロセッサを使用するシステムがあります。これらのプロセッサアーキテクチャがシステムプラット フォームに対して持つ意味をご理解いただくために、本書では Xeon プロセッサと Opteron とを比較して相違点を 示します。x86 プロセッサの 32 ビット コンピューティング空間と 64 ビット コンピューティング空間の両方につい て説明します。 本書は、業界標準サーバテクノロジに精通した IT 技術者の方を対象にしています。 本書で使用している略語 本書では、以下の略語を使用しています。 略語 用語 2P 2 個のマイクロプロセッサを搭載 4P 4 個のマイクロプロセッサを搭載 8P 8 個のマイクロプロセッサを搭載 AGU アドレス生成ユニット(Address Generation Unit) ALU 演算装置(Arithmetic Logic Unit) CPU 中央演算処理装置(Central Processing Unit)。マイクロプロセッサのこと DDR ダブルデータレート(Double Data Rate) DIMM デュアル インライン メモリ モジュール(Dual Inline Memory Module) DP デュアルプロセッサ(Dual Processor) DRAM ダイナミック ランダムアクセス メモリ(Dynamic Random Access Memory) FSB フロントサイドバス(Front-Side Bus) Gb ギガビット(Gigabit) GB ギガバイト GPR 汎用レジスタ(General Purpose Register) KB キロバイト(Kilobyte) I/O 入力/出力(Input/Output)。キーボード、マウス、ビデオグラフィックなどの装置を指す IT 情報技術(Information Technology) MHz メガヘルツ(Megahertz) MP マルチプロセッサ(Multiprocessor) nm ナノメートル(Nanometer) ns ナノ秒(Nanosecond) OS オペレーティングシステム(Operating System) PCI Peripheral Component Interconnect、周辺機器をコンピュータに接続するための規格 SDRAM 同期ダイナミック ランダムアクセス メモリ(Synchronous Dynamic Random Access Memory) USB ユニバーサルシリアルバス(Universal Serial Bus) 2 はじめに 1980 年代の初め以降、業界標準のコンピュータは x86 命令セット アーキテクチャを使用してきました。この 20 年間に、x86 アーキテクチャは浮動小数点計算やマルチメディア処理を容易にするために、命令およびレジスタ を追加して拡張されています。この間、x86 アーキテクチャは 16 ビットおよび 32 ビットのソフトウェアとの高度な 互換性を保ち、ソフトウェア アプリケーションで重要な後方互換性を確保してきました。さらに x86 アーキテクチャ のパフォーマンスは向上し続け、コストは下がり続けています。 Intelプロセッサの種類 Intel x86 プロセッサには、さまざまな市場向けに構成された多くのバージョンがあります。本書の発行時点で、業 界標準サーバ向けのIntel x86 プロセッサの最新モデルは、Pentium® 4、Xeon、および 90nm技術を使用する Xeon MPプロセッサです。表 1 に示されたIntelプロセッサはすべてNetBurst®アーキテクチャを使用し、ハイパー スレッディング テクノロジをサポートしていますが、コア周波数、システムバス周波数、キャッシュ容量はそれぞれ 異なります。ハイパースレッディング テクノロジ1は、1 つのプロセッサコアでマルチスレッドレベルの並行処理を 実現します。 これらのプロセッサは、オペレーティングシステムやアプリケーションを 64 ビットでネイティブに実行 できる、エクステンデッドメモリ 64 ビットテクノロジ(EM64T)をサポートしています。64 ビット拡張テクノロジを使用 することにより、IT企業は 32 ビットコンピューティングと 64 ビットコンピューティングに共通のプラットフォームを導 入し、ビジネスに有益な 64 ビットコンピューティングに段階的に移行することが可能になります。 表 1. Intel プロセッサの仕様(最大値は 2005 年 10 月時点のもの) プロセッサ コア周波数 (GHz) L1 キャッシュ (KB) L2 キャッシュ (KB) L3 キャッシュ (KB) FSB 速度 (MHz) 形状 (nm) 64 ビットの サポート ハイパースレッディン グテクノロジをサポー トする Pentium 4 3.8 16 K (データ) 2 なし 800 90 あり Xeon 3.8 2 なし 800 90 あり 1 なし 667 90 あり 1 8 667 90 あり 12K (マイクロ命令) 16 K (データ) 12K (マイクロ命令) Xeon MP (コードネーム Cranford) 3.66 Xeon MP (コードネーム Potomac) 3.3 8 K (データ) 12K (マイクロ命令) 8 K (データ) 12K (マイクロ命令) Intel は、デスクトップ市場向けに設計した特定の Pentium 4 プロセッサにデュアルコアテクノロジを導入しました。 2005 年第 4 四半期に、Intel はサーバ市場向けのデュアルコアプロセッサを発表しています。 これらの最初の デュアルコアプロセッサでは、マイクロアーキテクチャに基本的な変更を行わず、既存の NetBurst およびハイパー スレッディング アーキテクチャを使用することが予定されています。 デュアルコアプロセッサとは、1 つ以上のダイ上に 2 つの完全なプロセッサ実行コアを搭載した、単一の物理パッ ケージです。 プロセッサの物理的実装方法はプロセッサベンダー間で異なり、また時間が経てば変わる可能性 があります。デュアルコアアーキテクチャでは、計算スレッドを 2 つのコアに分散できるため、マルチスレッド化アプ リケーションの利点が活かせ、複数のスレッドによる同一実行リソースへの競合が減少します。このため、マルチ スレッド化されたアプリケーションでは、より高度なパフォーマンスが実現します。1 つのパッケージ上に 2 つのプ ロセッサコアがあるため、シングルコアプロセッサと同等の電力予算を維持しながら、パフォーマンスを大幅に向 上させることができます。 1 ハイパースレッディングの詳細は、技術概要『The Intel® processor roadmap for industry-standard servers』を参照 (http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00164255/c00164255.pdf)(英語) 3 デュアルコアプロセッサを使用する場合は、ソフトウェアライセンスの変更の可能性を考慮する必要があります。 本書の作成時点では、Microsoft社2などの主要なOSベンダーは、デュアルコアプロセッサを 2 つの個別のプロ セッサとしてではなくシングルプロセッサへのパフォーマンス強化として扱っています(OSのバージョンにより異な ります)。OSベンダーおよびアプリケーションベンダーに確認して、個々のライセンス要件を判断する必要がありま す。 AMDプロセッサの種類 2003 年、AMD は第 8 世代の x86 プロセッサ、Opteron を発表しました。Opteron は、64 ビットで動作するオペ レーティングシステムとアプリケーション用に、64 ビット拡張機能(AMD64 命令セット)を提供する業界初のプロ セッサでした。 2005 年、AMD は Opteron のデュアルコア プロセッサ バージョンにより、x86 市場向けにデュ アルコアテクノロジを導入した初のベンダーとなりました。 Opteron プロセッサは、プロセッサがシングルコアか デュアルコアか、2P サーバで使用されるか 4P サーバで使用されるかに関わらない「ダイレクトコネクト アーキテ クチャ」と呼ばれる一貫したアーキテクチャを使用しています。 表 2 に示すように、このアーキテクチャには以下 が含まれます。 • 1 MB の L2 キャッシュ、64 KB の L1 命令キャッシュ、コアごとの 64 KB の L1 データキャッシュ • 32 ビット(x86)命令セットまたは 64 ビット(AMD64)命令セットのいずれも使用できる 64 ビットアーキテクチャ • プロセッサ間および I/O への高速、ポイントツーポイント接続を実現する 3 つの HyperTransport インタフェース • プロセッサの速度で動作し PC3200 までの DDR メモリをサポートする統合された 128 ビットメモリコントローラ Opteron プロセッサはメモリコントローラを内蔵しており、HyperTransport (ポイントツーポイント)アーキテクチャを 使用しているため、Xeon で使用されているようなフロントサイドバスは必要ありません。 表 2. AMD プロセッサの仕様(最大値は 2005 年 10 月時点のもの) プロセッサ コア周波数 (GHz) L1 キャッシュ (KB) L2 キャッシュ (KB) L3 キャッシュ (KB) FSB 速度 形状 (nm) 64 ビットの サポート Opteron 2YY (シングルコア̶ 2P サーバまで) 2.8 64K(データ) 1024 なし N/A - 内蔵メモ リコントローラ 90 あり Opteron 2YY (デュアルコア̶ 2P サーバまで) 2.4 1024 なし N/A - 内蔵メモ リコントローラ 90 あり Opteron 8YY (シングルコア̶ 8P サーバまで) 2.8 1024 なし N/A - 内蔵メモ リコントローラ 90 あり Opteron 8YY (デュアルコア̶ 8P サーバまで) 2.4 1024 なし N/A - 内蔵メモ リコントローラ 90 あり 64 K (命令) 64K(データ) 64 K (命令) 64K(データ) 64 K (命令) 64K(データ) 64 K (命令) Microsoftの 2004 年 10 月 19 日付けプレスリリースで、同社は、「現在プロセッサ単位でライセンス供与しているMicrosoftソフトウェアは、デュアルコアおよび マルチコアプロセッサを持つハードウェアに対し、コア単位ではなく、プロセッサ単位でライセンスを継続する」と述べています。 このプレスリリースについては、 www.microsoft.com/presspass/press/2004/oct04/10-19multicorelicensingpr.mspx (英語)を参照。 2 4 図 1 に示すように、Opteron シングルコアおよびデュアルコアプロセッサは、実行コアがクロスバースイッチによっ てメモリコントローラと HyperTranspot リンクと通信する、同じ基本アーキテクチャを使用しています。2 つの実行コ アには、プロセッサコア自体、64KB L1 データキャッシュと命令キャッシュ、および 1M L2 キャッシュが含まれてい ます。 Opteron デュアルコアを使用すると、マルチスレッド並行処理が実現します。 図 1. シングルコア、デュアルコアの Opteron ダイの構造 AMDプロセッサの命名規則 Opteronプロセッサのモデルは、3 桁のモデル番号、XYYで表されます。 Xは使用できるプロセッサの最大数を示 します。すなわちプロセッサがシングルプロセッサ、デュアルプロセッサまたはマルチプロセッサシステム用に設 計されているかを示します。3 • 100 シリーズ ̶ シングルプロセッササーバ。 HyperTransport リンクは I/O との接続のみに使用でき、他のプ ロセッサとの接続には使用できません。 • 200 シリーズ ̶ 最大 2 つのプロセッサを使用するサーバ。1 本の HyperTransport リンクのみ他のプロセッサ へのリンクに使用できます。 • 800 シリーズ ̶ 最大 8 つのプロセッサを使用するサーバ。3 本の HyperTransport リンクすべてを、他のプロ セッサへの接続に使用できます。 末尾の 2 桁の番号 YY は、プロセッサシリーズ内での相対的なパフォーマンス、およびプロセッサがシングルコア かデュアルコアかを示します。シングルコアプロセッサは 2 の倍数で指定され、デュアルコアプロセッサは 5 の倍 数で指定されます。 すなわち、AMD Opteron プロセッサ モデル 244 はシングルコア DP プロセッサで、AMD Opteron プロセッサ モデル 242 よりもパフォーマンスに優れています。 AMD Opteron プロセッサ モデル 875 はデュアルコア MP プロセッサで、AMD Opteron プロセッサ モデル 865 よりもパフォーマンスに優れています。 3 AMDプロセッサの命名規則に関する詳細は、http://www.amd.com/jp-ja/Processors/ProductInformation/0,,30_118_8796_9240,00.htmlを参照。 5 マイクロアーキテクチャの類似性 Xeon ファミリプロセッサも Opteron プロセッサも、32 ビットアプリケーション資産との互換性を保つために、x86 命 令セットアーキテクチャに準拠しています。このため、プログラミングレベルでは、どちらのプロセッサも同じように 動作します。言い替えれば、ソフトウェア/ハードウェアインタフェースでは、それぞれのプロセッサのソフトウェアイ ンタフェースは、x86 アーキテクチャのメモリアドレス指定サイズ、命令セット、およびレジスタ設計に関しては変 わっていません。 32ビット動作 32 ビットプロセッサには、32 ビット幅の汎用レジスタ(GPR)があり、32 ビット幅の整数データストリームに対して動 作することができます。 さらに、32 ビットプロセッサは 1 つのレジスタに 32 ビットのメモリアドレスデータを保持す ることができ、アドレス可能なメモリは最大 4GB です。 x86 アーキテクチャでは、PAE (Physical Addressing Extensions: 物理アドレス拡張)もサポートされています。こ れはアドレス空間を拡張して 36 ビットアドレス指定を可能にし、アドレス可能な物理メモリを最大 64 GBにするも のです。 ただし、OSとアプリケーションで、追加のメモリアドレス指定が利用できる必要があります。4 Xeonファミ リプロセッサとOpteronプロセッサでは、32 ビットアドレス指定に加えて、36 ビットPAEもサポートされています。 表 3 に示すように、Xeon ファミリプロセッサと Opteron プロセッサに共通の x86 の 32 ビット命令セットには、以下 のものが含まれます。 • 汎用演算機能である標準 x86 命令。 • SIMD (Single Input Multiple Data)命令 - 1 つのコマンドで複数のデータ項目を同時に処理することができま す。MMX、Streaming SIMD Extensions (SSE)、SSE2、および SSE3 の命令があります。 • x87 浮動小数点命令 表 3.Intel プロセッサと AMD プロセッサに共通な 32 ビット x86 命令 命令名 説明 レジスタの タイプ レジスタの サイズ レジスタ数 標準 X86 論理演算、数値演算、アドレス計算、およびメモリポインタ保持用の 命令 GPR 32 ビット 8 MMX プロセッサの 64 ビット SIMD 処理を可能とするマルチメディア命令 MMX 64 ビット 8 x87 浮動小数点計算用命令 FP 80 ビット* 8 SSE、SSE2、 SSE3 SSE は MMX の命令に改良を加え、128 ビット SIMD 浮動小数点処 理を可能にしました。 XMM 128 ビット 8 SSE2 は、64 ビットパラレル浮動小数点数値サポートを追加しまし た。 また 128 ビット SIMD 整数処理をサポートする新しい命令も追 加しました。 SSE3 命令には、SSE テクノロジ、SSE2 テクノロジ、および x87 浮動 小数点演算機能を高速化する 13 の命令が含まれています。 * Jon Hannibal Stokesによる「Introduction to 64-bit Computing and x86-64」という記事によると、「x87 は 80 ビットレジスタを使用して 倍精度での浮動小数点計算を実行します。浮動小数そのものは 64 ビットですが、プロセッサがそれを内部的に 80 ビットフォーマットに変換 して計算時に精度を向上させます」 5 32 ビット命令セットでは両者の間に些少な相違点が 1 つあります。Opteron プロセッサは AMD 3Dnow!™命令を サポートしますが、Intel プロセッサはサポートしません。Intel が MMX 命令を導入したときには、それほど普及せ ず、AMD は独自バージョンのマルチメディア命令を開発しました。それが 3DNow!命令です。3DNow!セットには 4 詳細は『IA-32 インテル®アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル』下巻 (ftp://download.intel.co.jp/jp/developer/jpdoc/ia32_arh_dev_man_vol3_i.pdfの第 3 章にある「PAEページング・メカニズムを使用した 36 ビット物理アドレ ス指定」を参照。 5 http://arstechnica.com/cpu/03q1/x86-64/x86-64-1.html (英語)から入手可 6 SIMD 命令が追加されて、グラフィックの負荷が大きいアプリケーションやマルチメディア アプリケーションのベク トル処理(浮動小数点)要件を改善しています。3DNow!命令は MMX 命令と同じレジスタを使用しています。 64ビット動作 64 ビットアーキテクチャは、1 つの処理ステップで 64 ビットのデータを操作できるレジスタおよび演算装置を持っ ています。レジスタはアドレスをメモリに格納するため、64 ビットアーキテクチャでは、直接アドレス指定可能なメ モリが 32 ビットプロセッサよりはるかに大きな容量になります。このため、64 ビットアーキテクチャは、(たとえば データマイニング処理などで)大量のメモリを使用でき、また、たとえば科学や工学のモデリングプログラムで使用 される負荷の大きい浮動小数点計算などのように大量の数値を操作できることにより、優れたパフォーマンスを 実現しています。 命令セットとレジスタ 先に触れたとおり、AMD64 命令において 64 ビット拡張機能を最初に開発したのが AMD です。その後、Intel が EM64T 命令セットを開発しました。これは AMD64 の 64 ビットコンピューティングとの間に幅広い互換性を持つも のでした。AMD64 命令と EM64T 命令のどちらでも、Opteron と最新の Xeon プロセッサに用意された 64 ビット 幅のレジスタの優位性を活用することができます。これらのレジスタがアプリケーションで使用されるのは、プロ セッサを 64 ビット ロングモードで実行している場合だけです。AMD64 命令や EM64T 命令をサポートするため に、レジスタは次のように拡張されました。 • 8 個の 64 ビット GPR • オリジナルの 8 個の 32 ビット GPR を 64 ビットに拡張 • SSE、SSE2、SSE3 命令用の 8 個の新しい 128 ビットレジスタ 図 2. 32 ビットレジスタと 64 ビットレジスタの相違 出典: 『AMD Opteron ‒ Part 1: Intro to Opteron/K8 Architecture』Anand Lal Shimpi著、2003 年 4 月 23 日 7 動作モード これらのプロセッサでは、64 ビット ロングモード、64 ビット互換モード、および 32 ビット レガシーモードの 3 つの 異なる動作モードが使用されます。64 ビット ロングモードを使用するには、64 ビット OS と、64 ビットレジスタを 使用できるように再コンパイルされたアプリケーションが必要です。つまり、拡張されたレジスタの機能を最大限に 活用できるのは、OS とアプリケーションの両方が 64 ビットをサポートしているときだけです。64 ビット互換モード には 64 ビット OS が必要ですが、32 ビットアプリケーションを使用できます。OS は追加されたレジスタを使用す ることができますが、32 ビットアプリケーションは拡張レジスタをサポートしていないため使用できません。レガ シーモードで動作する場合、プロセッサは 32 ビットプロセッサとまったく同様に動作し、追加のレジスタは使用で きません(表 4)。 表 4. XeonファミリプロセッサとOpteronプロセッサの動作モード6 モード 必要な OS アプリケーションの 再コンパイルは必要か 拡張レジスタは 使用可能か GPR 幅(ビット) 64 ビット ロングモード 64 ビット OS 必要 可能 64 64 ビット互換モード 64 ビット OS 不要 可能(OS) 32 不可能 (アプリケーション) 32 ビット レガシーモード 32 ビット OS または 16 ビット OS 不要 不可能 32 メモリアドレス指定能力 XeonとOpteronのすべてのレジスタは少なくとも 64 ビット幅ですが、XeonファミリプロセッサとOpteronプロセッサ はメモリのアドレス指定に 64 ビットすべてを使用することはありません。 64 ビットで表せる数は非常に大きくなる ため(264ビット=16 エクサバイト)、現行のアプリケーションはローカルメモリでもページファイルでも、この大きさの メモリをサポートできません。7 さらに、64 ビットすべてを使用してメモリをアドレス指定すると、アーキテクチャが 必要以上に複雑になり、空間とリソースを無駄にする可能性があります。大半のメモリアクセスではそのように大 きい数を使用してアドレスを識別する必要がないので、メモリアドレスを 64 ビット持っていても、ゼロで埋められた 余分なビットがたくさん付加されるだけです。このため、64 ビットのロングモードで動作するとき、Xeonファミリプロ セッサとOpteronプロセッサは、最大 40 ビットの物理メモリ(1TB)と 48 ビットの仮想メモリ(256TB)をサポートしま す。 マイクロアーキテクチャの相違点 先ほど説明したとおり、Xeon ファミリと Opteron プロセッサの基本設計はプログラミングレベルでは類似しており、 ソフトウェア/ハードウェア インタフェースでは命令/レジスタ/アドレス指定方式は本質的に同一です。もちろん、 それらのプロセッサの実装には、マイクロアーキテクチャの面で多くの相違があります(プロセッサがどのように命 令をデコードするか、分岐予測がどのように作業をバッファするか、そのバッファにいくつの分岐予測を保持でき るか、など)。ただし、これらのプロセッサが持つ次の 2 つの主要な相違点を理解することが重要です。 • パイプラインの全体的な設計と、そのプロセッサ周波数との関係。Xeon ファミリプロセッサは、パイプラインの実 行効率を犠牲にして周波数を最適化しますが、Opteron プロセッサは、周波数を犠牲にしてパイプライン効率 を最適化します。 • マルチスレッド並行処理の実装。Xeon ファミリプロセッサにはハイパースレッディング テクノロジが組み込まれ ており、これにより、命令レベルの並行処理に加え、異なるスレッドが並行的に動作します。Opteron プロセッ サでは命令レベルの並行処理だけが実現されています。 6 『インテル® エクステンデッド・メモリ 64 テクノロジ・ソフトウェア・デベロッパーズ・ガイド』第 1 巻 (ftp://download.intel.co.jp/jp/developer/jpdoc/em64t_vol1_30083402_i.pdfから入手可)および『AMD64 Architecture Programmer s Manual, Vol. 1: Application Programming』(www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24592.pdfから入手可) 7 付録Bで、エクサバイトなど、あまりよく知られていない単位について説明しています。 8 パイプラインとクロック周波数 プロセッサのパイプラインは工場の組み立てラインに類似しています。プログラムコードを実行するため(小型装 置を構築するため)に、作業は多数の「段階」に分割され、各段階がジョブ全体の小さい部分を構成します。基本 的な考え方は、言うまでもなく、作業を多くの段階に分割すれば、プロセッサ(工場の作業員)を常に忙しく働かせ られると言うことです。これにより、ある一定の時間にプロセッサがより多くのコードを実行することが可能になりま す。 パイプラインの段階で発生するアクティビティの量を理解することは重要です。プロセッサは段階の処理を 1 ク ロックサイクルの中で完了する必要があります。プロセッサが 1 つのタスクを複数の小さいタスクに分割すること でタスクのサイズを小さくすると、段階は短くなりますが、段の数は多くなります(図 3)。このようにすると、各段階 をより短い時間で完了できるため、プロセッサがより高いクロック周波数を持つことが可能になります。これはパイ プラインで行われる作業量が多くなることを必ずしも意味しているわけではなく、単にクロック周波数を高めること ができるという意味です。 図 3. 各段階の作業量を減少させるとクロック周波数の増大が可能になる コンピュータパイプラインの基本的な構造は、プログラムを実行するために繰り返して実行される次の 4 つのス テップから成り立っています。 1. 2. 3. 4. プログラムカウンタに格納されたアドレスから次の命令をフェッチします。 その命令を命令レジスタに格納してデコードし、命令カウンタのアドレスを増加させます。 その時点で命令レジスタにある命令を実行します。 その命令の結果を実行ユニットから宛先レジスタへライトバックします。 通常のプロセッサアーキテクチャでは、パイプラインは、基本的なステップを実行する複数のセグメント(マイクロプ ロセッサの「フロントエンド」、実行エンジン、リタイヤユニット)に分割されます(図 4 参照)。フロントエンドは命令を フェッチし、より小さい命令(一般に「マイクロ命令」と呼ばれる)にデコードします。デコードされた命令は、3 種類の 実行ユニット(整数、ロード/格納、浮動小数点)の 1 つに送られます。最後に、命令がリタイヤされ、結果が宛先レ ジスタにライトバックされます。 9 図 4. 4 段構成の基本的なパイプラインスキーマ キャッシュミスによるプロセッサ ストール パイプラインを常にビジーの状態にするには、最初の命令がパイプラインを完全に通過する前に、プロセッサが 2 番目の命令を実行し始める必要があります。ここで、次のように、3 つの数の合計操作を必要とする命令があると 考えてください。 X=A+B+C A と B は既にプロセッサによりそれぞれレジスタに格納されているが、C はメモリから取得しなければならない場 合にはどうなるでしょうか。この場合、「バブル」と呼ばれるパイプライン ストールが起きます。メモリから C の値を 取得してくるまで、プロセッサは命令を実行できません。このバブルはパイプラインの全段階にわたって伝わり、 バブルのある各段階でアイドル状態を発生させ、そのクロックサイクルの間、実行リソースを無駄にします。 明らかに、パイプラインが長くなるほど、この問題は深刻になります。 分岐予測失敗によるプロセッサ ストール ある命令が別の命令に依存していることによるプロセッサ ストールもよく発生します。プログラムに IF… THEN ループのような分岐がある場合、プロセッサには 2 つの選択肢があります。決め手となる命令が終了するまで、 採用するプログラム分岐を決定しない(パイプラインはストールする)か、プログラムが採用する分岐を予測するか です。 プロセッサによるコード分岐予測が誤りだった場合は、パイプラインをフラッシュして、正しい分岐を使用して IF… THEN 文からやり直す必要があります。パイプラインが長くなるほど、分岐予測の失敗によるパフォーマンスへの 影響も大きくなります。たとえば、パイプラインが長くなれば、予測が外れたときに破棄するべき命令の投機実行 も増えます。 10 Xeon パイプライン Intelが文書で述べているように、Xeonプロセッサで使われたNetBurstアーキテクチャでは、業界トップクラスのク ロックレートを可能とする、深いパイプラインが実現されています。8 つまり、Intelの重要な設計基準はプロセッサ のクロックレートの高さでした。Xeonファミリプロセッサの最新バージョンでは 31 段の整数パイプラインが使用さ れており、2 つの「高速」演算装置(ALU)、1 つの「低速」ALU、2 つのアドレス生成ユニット(AGU)、および 2 つの浮 動小数点実行ユニットが搭載されています(図 5)。Xeonプロセッサでは、長いパイプラインにより、最大約 3.8GHzの周波数で動作可能です。 こうした長いパイプラインの欠点を補う方法としてIntelが採用した方法の 1 つが、実行トレースキャッシュと呼ばれ る 12KBの命令キャッシュです。 Intelは、この 12Kキャッシュのヒット率が従来の 8∼16KBの命令キャッシュに近 いと報告しています。9 このキャッシュは命令をトランスレートし、デコードして、トレース(ミニプログラムのようなも の)に入れます。 L1 キャッシュがヒットすると、そのトレースを実行します。そのトレースの命令をトランスレートお よびデコードする必要はないため、メインのパイプラインがしなければならない作業の量をその分減少させること ができます。 さらに、実行トレースキャッシュにはそれ自身の分岐予測アルゴリズムがあり、トランスレートされた マイクロ命令を投機的な順序で格納することができます。 図 5. Xeon プロセッサのマイクロアーキテクチャの構造 出典: 「90 ナノ・メートル・テクノロジによるインテル® Pentium® 4 プロセッサのマイクロアーキテクチャ,」10 『Intel Technology Journal』 Volume 8、Issue 1、2004 年 2 月 8 『IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル』上巻、基本アーキテクチャの 2-7 ページ (ftp://download.intel.co.jp/jp/developer/jpdoc/ia32_arh_dev_man_vol1_online_i.pdfから入手可) 9 『Intel Technology Journal』 Volume 8、Issue 1 (2004)「90 ナノ・メートル・テクノロジによるインテル® Pentium® 4 プロセッサのマイクロアーキテクチャ」 10 (http://www.intel.com/jp/developer/technology/itj/2004/volume08issue01/art01_microarchitecture/p01_abstract.htmから入手可) 11 Opteron パイプライン Xeonファミリプロセッサと違い、Opteronプロセッサは高いクロックスピードを犠牲にし、高効率のパイプラインに 最適化されてきました。AMDによれば、11 パイプラインのフロントエンド命令フェッチとデコードロジックは、デコー ドされた多数のマイクロ命令を一括して、それらを並行で実行するように最適化されています。Opteronプロセッ サは 12 段の整数パイプラインを持っています。これはXeonプロセッサのパイプラインよりはるかに短いものです。 パイプラインが短くなるほど周波数を低くする必要があります。 本書の作成時点では、Opteronプロセッサはシン グルコア バージョンで最大 2.8GHzの周波数で動作します。ただし、パイプラインが短いため、分岐予測の失敗 やキャッシュミスによる遅延のリスクは低減されます。また、パイプラインが短ければ、それほど大規模な分岐予 想アルゴリズムやターゲットバッファも必要ありません。 処理の並行性を高めるため、Opteron プロセッサはまた、Xeon プロセッサより多数の実行ユニットとデコードユ ニットを持っています。Opteron プロセッサには 3 つの ALU、3 つの AGU、および 3 つの浮動小数点実行ユニッ トがあります(図 6)。Opteron プロセッサには Xeon プロセッサより多くの実行ユニットがありますが、その最大有効 スループットは Xeon と同じで、1 サイクルあたり整数演算 3 個です。 図 6. AMD Opteron のアーキテクチャブロック ダイアグラム 出典: AMDホワイトペーパー「AMD Eighth-generation Processor Architecture」2001 年 10 月 16 日 11 『AMD Eighth-generation Processor Architecture』 (www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/Hammer_architecture_WP_2.pdfから入手可) 12 パイプラインと周波数の比較 高周波数でパイプラインの長い Xeon プロセッサに比べ、Alpha EV68、HP-PA RISC、Itanium といった、ハイパ フォーマンスを狙って設計されたいくつかのプロセッサは、パイプラインを短くし、相対的に低い周波数で動作する ように設計される傾向があります。たとえば Alpha EV68/21264 プロセッサは 7 段のパイプラインを持ち、約 1.25GHz で動作します。Itanium 2 プロセッサは 8 段のパイプラインを持ち、約 1.6GHz で動作します。 これは、 パイプラインが長い Xeon プロセッサがパフォーマンスが低いということを必ずしも意味しません。ただ、Xeon プロ セッサの場合、長いパイプラインの欠点を補うために、高効率の分岐予測アルゴリズムや、大容量の TLB といった テクノロジが必要になります。また、Xeon プロセッサは、線形計画法を使用するアプリケーションのように、高いク ロック速度が特に重要なアプリケーションに適していることを意味しています。 Xeonファミリプロセッサのハイパースレッディング Intel NetBurst アーキテクチャでは、パイプラインを有効活用する方法の 1 つとしてハイパースレッディングが採用 されています。通常、プロセッサは単一の命令ストリームからの命令を実行します。スレッドや命令ストリームの間 でのスイッチが発生すると、コンテクストスイッチのオーバーヘッドがプロセッサにかかります。最近のプロセッサ はスーパースカラー(並行実行ユニットとアウトオブオーダー実行を装備)なので、プロセッサは命令を再配列して アウトオブオーダー実行し、一部の命令を並行的に実行します(命令レベルの並行処理)。Xeon と Opteron のいず れのプロセッサも、命令レベルの並行処理を使用して、クロックあたり最大 3 個の命令を実行します。 さらに Xeon ファミリプロセッサは、ハイパースレッディング テクノロジを使用して 2 本の別個のスレッドを並行して 実行します(マルチスレッド並行処理)。Xeon ファミリプロセッサは、命令ポインタ、レジスタアロケーションテーブル、 およびその他のアーキテクチャ レジスタといった一部のプロセッサ コンポーネントを複製します。Intel はこれらの コンポーネントを「アーキテクチャ ステート」と呼んでいます。アーキテクチャ ステート(論理プロセッサ)は、2 つの 論理プロセッサが共有するプロセッサ実行リソースに対して命令をスケジューリングします。片方のスレッドスト リームにバブルが検出されると、プロセッサは実行リソースをもう一方のスレッドストリームにシフトします。これに よりプロセッサは、別々のスレッドから供給されるマイクロ命令を時間多重化方式で実行して、実行リソースの使 用効率を可能な限り高く維持します(図 7)。 ハイパースレッディングの利点は、Xeon Netburst マイクロアーキテクチャの深い実行パイプラインと直接関係して います。 パイプライン ストール(バブル)の効果は深い実行パイプラインで増強されるため、Xeon アーキテクチャ ではハイパースレッディング テクノロジを実装し、実行ユニットをできる限りビジー状態に保つことで、高レベルの マルチスレッディング パフォーマンスを実現しています。 AMD Opteron プロセッサが実装しているようなより短く、 より効率的なマイクロアーキテクチャは、ハイパーパイプラインの Xeon マイクロアーキテクチャほどハイパース レッディングの利点を活かせませんが、高レベルのマルチスレッドのパフォーマンスを実現するのに、このレベル の複雑さは必要ありません。 13 図 7. ハイパースレッディングテクノロジの有無によるシングルコアプロセッサの比較。右側のハイパースレッディングの例では、ライトグレー の部分がスレッド 1 からの命令、ダークグレーの部分がスレッド 2 からの命令を表しています。白い四角形はアイドル状態の実行リソースで す。 ハイパースレッディングは、マルチスレッドに対応したアプリケーションやオペレーティングシステムのパフォーマ ンスを向上させます。Intelの報告では最大 30%の改善が見られるとのことですが、12 アプリケーションによってか なり差があります。 パフォーマンス改善の平均値は、約 5∼10 パーセントに近く、13 OSとアプリケーションがマル チスレッドの利点をいかに活かせるかに依存しています。このため、マルチスレッドに対応していないアプリケー ションやオペレーティングシステムでは、ハイパースレッディングによる利点はありません。 サーバ市場向けに設計されたデュアルコアの Intel プロセッサには、ハイパースレッディングが含まれることが予 想されています。これによって、シングルプロセッサのデュアルコアシステムが、4 スレッドを表面的に並列で実行 させる可能性があります。 2 つの個別の実行コアがあるため、2 つの命令スレッドが同時に実行できます。そして バブルの発生時に、他の 2 つのスレッドがハイパースレッディングリソースを使用して、アイドル状態の実行リソー スにアクセスできます。 先ほども述べましたが、実際のパフォーマンスの向上度は、OS とアプリケーションがい かにマルチスレッドを活用できるかに依存します。 12 出典:『サーバ向けハイパー・スレッディング・テクノロジ』(http://www.intel.com/jp/business/bss/products/hyperthreading/server/index.htmから入手可) Anandtech Webサイトの報告によると、データベースでのパフォーマンステストでは 3∼5%の向上。『AMD Opteron vs. Intel Xeon: Database Performance Shootout』(2004 年 3 月 2 日) www.anandtech.com/ 13 14 システムアーキテクチャの相違点 既に述べたように、サーバのパフォーマンスは、プロセッサのマイクロアーキテクチャと、プロセッサとサーバのメ モリおよび I/O サブシステムとのインタフェース方法の両方に依存します。 システムレベルでは、Xeon アーキテ クチャと Opteron アーキテクチャには、主な相違点として次の 2 点があります。 • Xeon ファミリプロセッサは、パラレルの共有フロントサイドバスを使用して、メモリと I/O サブシステムに接続さ れた個別のチップセットにアクセスします。 • Opteron プロセッサには、メモリに直接接続できる自身の内蔵メモリコントローラが含まれます。 このプロセッ サは、共有フロントサイドバスに比べて非常に高い帯域幅と低いレイテンシを提供する、ポイントツーポイントの HyperTransport リンクを使用して I/O サブシステムに接続します。 この項では、プロセッサの選択により発生し得るシステムアーキテクチャの相違について、一般用語のみで説明 します。 ProLiantプラットフォームの詳細情報については、HPのWebサイト http://h50146.www5.hp.com/products/servers/proliant/を参照してください。 Intelアーキテクチャ システムが 1 つ、あるいは 8 つの Xeon ファミリプロセッサを使用しても、これらのプロセッサとメモリあるいは I/O サブシステムとの間のすべての通信要求は、プロセッサから 1 つまたは 2 つのフロントサイドバスを通ってノース ブリッジチップへ、次にメモリまたは I/O に接続されるサウスブリッジチップへと伝送されます。 したがって、メモリ と I/O サブシステムの帯域幅、スケーラビリティ、レイテンシは、フロントサイドバスの属性と同様、チップセットの 設計によって大幅に変わります。 帯域幅 Intel フロントサイドバス(FSB)は、バス上のプロセッサが帯域幅を均等に共有する、パラレルの 64 ビット マルチド ロップテクノロジです。 2005 年 10 月時点で発売中の ProLiant プラットフォームでは、400∼800MHzの効果的 なフロントサイドバス速度を持つ Xeon ファミリプロセッサの世代が使用されています。 この結果、FSB の最大帯 域幅は 3.2∼6.4GB/秒となります。 図 8 に Xeon プロセッサを使用した 2P サーバアーキテクチャの代表例を示します。すべてのメモリトラフィックは ノースブリッジを通り、唯一のメモリコントローラの役割を果たします。すべての I/O トラフィックは引き続きハブま たはサウスブリッジを通って I/O デバイスに伝達されます。 15 図 8. Xeon プロセッサを使用した 2P サーバアーキテクチャの例 Xeon MP プロセッサファミリを使用する最近の 4P ProLiant プラットフォームには、フロントサイドバスを 1 つではな く 2 つ使用し、1 つのノースブリッジではなく複数のメモリコントローラを使用する Intel チップセットが組み込まれて います(図 9)。 複数のメモリコントローラを使用するとメモリアクセスが同時に実行でき、メモリのパフォーマンス が向上します。 しかしチップセットは、メモリ要求が発生するたびに、1 つのバス上のプロセッサが他のバスをス ヌープすることを要求するため、フロントサイドバスは未だに制限要因となっています。 16 図 9. Xeon MP プロセッサとデュアル フロントサイドバスを使用する 4P アーキテクチャの例 レイテンシ Xeon ファミリプロセッサは、すべてのプロセッサがメモリに対して同等のアクセス権を持つ、対称型マルチプロセッ シング環境に合わせて設計されています。これにより、メモリレイテンシ(プロセッサがメモリからのデータを要求す るのに必要な時間)はすべてのプロセッサで同じです。 しかし Xeon プロセッサは、メモリコントローラの速度が原因で、Opteron プロセッサに比べてメモリレイテンシが大 きい傾向があります。 Xeon と Xeon MP プロセッサで使用される外部チップセットは、数百メガヘルツで動作しま すが、Opteron プロセッサで使用される内部メモリコントローラは、ギガヘルツの単位で動作します。 スケーラビリティ プロセッサを追加するにつれ、特にメモリ集中型アプリケーションの場合、スケーラビリティはプロセッサが制限さ れた FSB の帯域幅を共有する能力によって決まります。 FSB の共有特性によりアービトレーションが頻繁に発生 し、レイテンシが高くなるため、Xeon ファミリプロセッサのメモリリソースの活用が制限される可能性があります。 また、Xeon MP プロセッサで使用できる FSB 速度は、一般的に Xeon プロセッサの速度より遅く、FSB 帯域幅がさ らに制約されます。 よって、パフォーマンスはプロセッサ数の増加に比例して増加しません。 マルチプロセッサ (4P)プラットフォームのパフォーマンスのスケーラビリティを向上させるため、Intel では大きなキャッシュを持ち、多 くのデータをプロセッサ内に保存できる Xeon MP プロセッサを提供しています。 これによりプロセッサが FSB を使 用する必要が少なくなり、パフォーマンスが改善されます。 17 AMDアーキテクチャ 既に述べたとおり、Opteron プロセッサはプロセッサ内にメモリコントローラを内蔵しているため、メモリは各プロ セッサにローカルに接続されています。 SMP システムでは、他のプロセッサはプロセッサ内部のクロスバース イッチと、プロセッサ間の高速ポイントツーポイント HyperTransport インターコネクトを使用してそのメモリにアク セスできます(図 10)。 各 Opteron プロセッサには 3 つの HyperTransport リンクがあり、プロセッサが 100 シリー ズ、200 シリーズ、800 シリーズのいずれかによって、他のプロセッサまたは I/O サブシステムに接続できます (「AMD プロセッサの命名規則」の項で説明しています)。 図 10. Opteron プロセッサを使用する 4P アーキテクチャの代表例 HyperTransport は、フロントサイドバス並列テクノロジに代わる、ポイントツーポイント並列インターコネクトです。 HyperTransport では、クロック信号の立ち上がりエッジと立ち下がりエッジの両方で 16 ビットのデータを転送する ダブルデータレートが使用されており、16 ビットリンク上でクロックサイクルあたり実質 32 ビットのデータ転送を実 現しています。Opteron プロセッサは、800 MHz∼1 GHz の HyperTransport クロック速度を使用しています。 1GHz HyperTransport リンクを使用するプロセッサは、各方向に最大 4GB/秒の実効転送速度を実現しています。 転送は両方向同時に発生するため、16 ビットの各 HyperTransport I/O リンクで、総計 8GB/秒の転送速度を実 現できます。共有バスや双方向バスと比較して、ポイントツーポイント インターコネクトには、バスアービトレー ションのオーバーヘッドがなく、信号の完全性を容易に維持できる利点があります。 内臓メモリコントローラとポイントツーポイントの HyperTransport リンクにより、Opteron プロセッサを使用するシス テムには、Xeon ファミリプロセッサより大きな帯域幅、小さなレイテンシ、および高いスケーラビリティが実現でき る傾向があります。 帯域幅 メモリコントローラがプロセッサに内蔵されているため、コントローラ内のすべてのデータパスがコアの周波数で実 行できます(1.8∼2.8GHz、プロセッサに依存)。 各オンチップメモリコントローラは、関連付けられた DIMM に直 接、DIMM 速度(PC3200 DDR メモリ使用時は最大 400MHz)でアクセスします。 PC3200 メモリの場合、チャネ ルごとに最大 3.2GB/秒、両チャネルからプロセッサへ全体で 6.4GB/秒の帯域幅を実現します。 このことから、 18 Opteron を使用するシステムは、Xeon ファミリプロセッサのフロントサイドバスの速度にもよりますが、Xeon ファミ リプロセッサを使用するシステムの最大 2 倍の帯域幅が使用できます。 I/O サブシステムの帯域幅は、プラットフォームの設計と使用するチップセットに依存します。 Opteron プロセッ サで通常使用される AMD8000 チップセットには、使用するリンクが 8 ビットか 16 ビットかによって 4.8∼8GB/ 秒までの帯域幅が使用できる HyperTransport トンネルが含まれています。 8 ビットの HyperTransport リンクでも、 表 5 の比較に示すように、将来の拡張や高 I/O スループットの実現には十分な余裕があります。 表 5.HyperTransport と既存の I/O プロトコルの帯域幅比較 プロトコル 帯域幅 各プロトコルと比較した HyperTransport (8 ビット、4.8 GB/秒)の速度比 各プロトコルと比較した HyperTransport (16 ビット、8 GB/秒)の速度比 レガシーPCI (32 ビット、33 MHz) 133MB/秒 36X 60X USB 2.0 480MB/秒 10X 16.6X PCI-X (64 ビット、133 MHz) 1064MB/秒 4.5X 7.5X PCI Express (x8 リンク) 4 GB/秒 1.2X 2X Infiniband 4X リンク 10GB/秒 (1.25GB/秒) 3.8X 6.4X 10Gb Ethernet 10GB/秒 (1.25GB/秒) 3.8X 6.4X レイテンシ メモリを、プロセッサのローカルメモリと、プロセッサに対してリモートのメモリに分割する AMD アーキテクチャでは、 リモートメモリアクセスでレイテンシが大きくなるのではと懸念する方もいらっしゃるでしょう。しかし、メモリコント ローラがプロセッサに内蔵されていてプロセッサのコア速度で動作しており、プロセッサ間のインターコネクトが高 速であるため、ローカルアクセスとリモートアクセスのレイテンシの相違は実際には非常に小さいものです。ロー カルとリモートでのメモリアクセスの差がこのように小さいため、「ほぼ均一な」メモリと呼ばれることがあります。メ モリサブシステムの設計は均一ではありませんが、インターコネクトの速度によりレイテンシが均一と見なせるの です。 しかしメモリがプロセッサにローカルに接続されていて、HyperTransport リンクは 1 度に 1 つの要求からしかデー タを転送できないため、特に要求が複数の HyperTransport リンクを「飛び越える」必要がある場合、メモリ要求が 増加するにつれてレイテンシが増加します。 オペレーティングシステムによっては、ローカルとリモートメモリの利 点を活用することでメモリレイテンシをさらに低減させる機能があります。ProLiant DL585 サーバなどの HP ProLiant プラットフォームでは、ROM ベースのセットアップユーティリティ(RBSU)で、プロセッサのクロスバースイッ チを経由してリモートメモリにアクセスせず、プロセッサ上のローカルメモリを検索するように設定できます。 19 一般に、HP の測定では Opteron ベースのシステムのメモリレイテンシは、Xeon ベースのシステムに比べて 10 ∼40 パーセント小さいことを示しています。 レイテンシに関する他の見方は、プロセッサがメモリ要求を実行する のにかかるクロックサイクル数の差異を比較することです。 図 11 は、Opteron プロセッサがメモリトランザクショ ンを実行するのに、Intel プロセッサに比べて非常に小さなクロックサイクル数であることを示しています。 図 11 は前世代のプロセッサを使用して作成されていますが、関連性はまだ有効です。クロック速度に関わらず、メモリ アクセスに費やされる追加の 1 サイクルは、他の有益な仕事に使われない無駄なクロックサイクルなのです。 図 11. メモリアクセス待ちに使用されるクロックサイクル数 出典: 「AMD Opteron Coverage ‒ Intro to Opteron/K8 Architecture,」2003 年 4 月 23 日14 スケーラビリティ メモリは Opteron ベースシステムの各プロセッサに増設できるので、総メモリ容量はプロセッサ数に比例して増大 します。 たとえば、ProLiant DL585、4P Opteron システムは、最大 128GB のメモリを実装できます。こうした大 容量メモリを使用するアプリケーションでは、Opteron ベースのシステムを使用するとパフォーマンスが大幅に向 上する可能性があります。 さらに、各 Opteron プロセッサにそれぞれのメモリコントローラと HyperTransport リンクがあるため、利用できるメ モリ帯域幅とプロセッサ間の帯域幅はプロセッサ数に比例して増大します。メモリコントローラを内蔵していること により、複数のメモリ要求を並列化することも可能です。並行処理により、メモリへの実効帯域幅は増大し、メモリ の平均レイテンシは減少します。 電力について 消費電力は、大規模なデータセンターや高密度のラックを使用するお客様にとって難問となってきています。 プ ロセッサが、サーバの電力予算の大きな割合を占めるのは明白です。 AMD と Intel は、どちらもこの問題を認識 しており、低電力かつ高パフォーマンスのプロセッサの開発に取り組んでいます。 消費電力はプロセッサの動作周波数と直接関係しています。つまり、周波数が高まるにつれ消費電力も増加しま す。 本書の作成時点では、Opteron プロセッサは一般に、Xeon プロセッサより低い動作周波数で動作します。 このため Opteron プロセッサは、概して Xeon ファミリプロセッサより必要とする電力が小さく、より低い温度で動作 14 www.anandtech.com/cpuchipsets/showdoc.aspx?i=1815から入手可 20 します。 電力消費に影響するその他の要因には、キャッシュサイズ、トランジスタ数、シリコンプロセス テクノロジ が含まれます。 Intel のロードマップによると低電力プロセッサが目標となっていますが、高パフォーマンスの Xeon と Xeon MP ファ ミリプロセッサの現在の傾向では、2006 年後半までは引き続き消費電力が増加する予定です。 たとえば、前世 代の Xeon ファミリプロセッサ(コード名 Nocona と Gallatin)は 100 W 程度で動作しました。 Xeon ファミリの最上 位プロセッサは、現在、最大で約 130 W で動作します。 これに比べ、デュアルコアおよびシングルコアの Opteron プロセッサのどちらも、最大で約 95 W で動作します。 32 ビットパフォーマンスの比較 アーキテクチャを比較する際の困難は、特定のシステムやアプリケーションでどちらのプロセッサのパフォーマン スが優れているかを決定する絶対の基準がないことです。たとえば、プロセッサのパフォーマンスは、コアプロ セッサの周波数、パイプラインの設計、分岐予測能力、キャッシュサイズ、メモリや I/O へのインタフェースに依存 します。 多くの場合、Opteron プロセッサを使用するサーバの方が、Xeon ファミリのプロセッサを使用するサーバよりパ フォーマンスが優れています。特にメモリアクセスの頻度が高いアプリケーションでは、Opteron の内蔵メモリコン トローラが有利になります。 パフォーマンスの相違は、複数の内蔵メモリコントローラとポイントツーポイントの HyperTransport リンクの累積効果により、4P システムで最も顕著に見られます。 2P システムのパフォーマンス は、使用するアプリケーションによって大きく異なります。 さらに、デュアルコアAMD Opteronプロセッサの出現により、デュアルコアプロセッサを搭載したProLiantサーバ は、同じサーバインフラストラクチャと電力予算を維持しながらも、パフォーマンスの著しい向上が達成できるよう になりました。 たとえば、SPECWeb99 ベンチマークによれば、2P DL385 サーバのパフォーマンスは、シングル コアからデュアルコアのOpteronプロセッサに交換した後、約 50 パーセント向上しました。15 Intelの次世代デュア ルコアプロセッサがリリースされれば、Xeonベースシステムのサーバパフォーマンスも大幅に改善することが見 込まれています。 最も正確な比較を行うには、お客様ご自身でXeonまたはOpteronベースシステムの比較テストを実施することで す。 各アーキテクチャで発表されている、最新のベンチマーク結果を評価することも可能です。 ただし、ベンチ マークではスナップショットでの結論しか提供されないため、相対レベルのパフォーマンスしか予測できず、お客 様の状況を正確に再現するものではありません。 ProLiantサーバの最新のベンチマーク情報については、HPの Webサイトを参照してください。 16 まとめ HP では、Intel Xeon プロセッサまたは AMD Opteron プロセッサを使用した、プラットホームの広範な選択肢を提 供しています。どちらも x86 アーキテクチャに準拠した 32 ビットプロセッサです。64 ビットのアプリケーションやオ ペレーティングシステムに移行するユーザーのために、Xeon プロセッサと Opteron プロセッサのどちらでも、既存 の 32 ビットアプリケーションとの互換性を維持しつつ 64 ビット拡張機能にスムーズに移行できます。このため、 Xeon および Opteron プロセッサを 64 ビットモードで使用したときに利用できる広大なメモリアドレス空間へのアク セスを必要とする一方、64 ビットの Itanium システムに移行する場合に必要な費用やインフラストラクチャの変更 を望まないユーザーには、それらのプロセッサが適しています。 Xeon および Opteron のプロセッサアーキテクチャは、内部の細かい設計とプラットフォーム実装の点で異なって います。Xeon のパイプラインは高いクロック速度に最適化されており、Opteron は並行処理に最適化されていま す。 プラットフォームアーキテクチャの中では、Xeon プロセッサはよく知られているフロントサイドバス テクノロジ とメモリコントローラ用の専用チップセットを使用しています。Opteron プロセッサはコアプロセッサ速度で動作す る内蔵メモリコントローラを使用します。Opteron のダイレクト メモリ インタフェースにより、広い帯域幅と低いレ イテンシが実現されています。Opteron プロセッサは I/O サブシステムにダイレクト HyperTransport ポイントツー パフォーマンス速報『HP ProLiant DL385 がSPECweb99_SSLベンチマークで 2Pサーバとして最速のパフォーマンスを達成』 (http://h50146.www5.hp.com/products/servers/proliant/benchmark/bench-050902/から入手可)を参照 16 ProLiantサーバのベンチマーク情報はhttp://h50146.www5.hp.com/products/servers/proliant/benchmark/から入手可 15 21 ポイント インターコネクトを使用し、それにより広い帯域幅を獲得しています。 AMD の内蔵メモリコントローラと ポイントツーポイントの I/O 接続の使用により、パフォーマンスが大幅に向上しているようで、Opteron ベースのシ ステムは多くの場合、特に 4P システムで、Xeon ベースシステムのパフォーマンスを凌いでいます。代表的なベン チマークを用いた最近のテスト結果によると、4P ProLiant DL585 サーバは、トランザクション処理、メッセージング、 および SAP データベース構成といった点で非常に優れたパフォーマンスを示しています。 22 付録 A. 単位 表 A1. 一般的な単位 省略記法 指数表記 バイト数 1 つ下の単位との関係 ギガバイト G/GB 230 バイト 1,073,741,824 バイト 1024 メガバイト テラバイト T/TB 240 バイト 1,099,511,627,776 バイト 1024 ギガバイト ペタバイト P/PB 250 バイト 1,125,899,906,842,624 バイト 1024 テラバイト エクサバイト E/EB 260 バイト 1,152,921,504,606,846,976 バイト 1024 ペタバイト 23 関連情報 詳細については、以下のリソースを参照してください。 リソース名 URL AMD Web サイト www.amd.com/jp-ja Opteron 技術文書 http://www.amd.com/jp-ja/Processors/DevelopWithAMD/0,,30_2252_739_9003,00 .html AMD64 技術文書 http://www.amd.com/jp-ja/Processors/DevelopWithAMD/0,,30_2252_739_7044,00 .html Anandtech Web サイト www.anandtech.com/ (英語) 一般的なプロセッサ アーキテクチャ、 Intel アーキテクチャ、および AMD アーキ テクチャに関する情報があります。 Ars Technica Web サイト: www.arstechnica.com (英語) 一般的なプロセッサ アーキテクチャ、 Intel アーキテクチャ、および AMD アーキ テクチャに関する情報があります。 HP Web サイト ProLiant サーバ http://h50146.www5.hp.com/products/servers/proliant/ 業界標準サーバテクノロジに関す る文書 http://h50146.www5.hp.com/products/servers/proliant/technology HP ProLiant サーバの AMD プロ セッサロードマップ、技術概要 http://h50146.www5.hp.com/products/servers/proliant/whitepaper/wp038_050703 業界標準サーバの Intel プロセッ サロードマップ、技術概要 http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00164255/c00164 255.pdf (英語) Intel ハイパースレッディング テク ノロジ、技術概要 http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00164255/c00164 255.pdf (英語) Intel Web サイト ハイパースレッディングの情報 http://www.intel.co.jp/ http://www.intel.co.jp/jp/techtrends/technologies/hyperthreading.htm 24 ご意見をお寄せください ISSテクノロジ情報に関する皆様のご要望をよりよく理解し、お応えできるようにするために、本書に関するコメント を[email protected] (英語)までお送りください。 © 2004, 2005 Hewlett-Packard Development Company, L.P.本文書に記載の事項は、 予告なく変更されることがあります。HP 製品およびサービスの保証は、各製品およびサー ビスに添付された保証書に記載の明示保証のみとなります。追加保証に違反すると解釈 される事項は、本文書に一切記載されていません。HP は、本文書に記載の技術上、編集 上の過失または不作為に対し、法的責任はありません。 Intel、Xeon、および Pentium は、アメリカ合衆国または諸外国における、Intel Corporation またはその関連会社の商標または登録商標です。 Microsoft、Windows、および Windows NT は Microsoft Corporation の米国の登録商標 です。 AMD、AMD Arrow ロゴ、AMD Opteron、これらの組み合わせ、および 3Dnow!は、 Advanced Micro Devices, Inc.の商標です。 HyperTransport は HyperTransport Technology Consortium の許諾商標です。 TC051008TB、2005 年 10 月