...

業界標準サーバ用の

by user

on
Category: Documents
13

views

Report

Comments

Transcript

業界標準サーバ用の
業界標準サーバ用の x86 プロセッサの特性 - AMD Opteron
および Intel Xeon 技術概要
技術概要
概要 ................................................................................................................................................... 3
本書で使用している略語........................................................................................................................ 3
はじめに ............................................................................................................................................. 4
マイクロアーキテクチャの類似性 ............................................................................................................. 5
32 ビット動作 ................................................................................................................................... 5
64 ビット動作 ................................................................................................................................... 6
命令セットとレジスタ ...................................................................................................................... 6
動作モード ................................................................................................................................... 7
メモリアドレッシング ....................................................................................................................... 8
マイクロアーキテクチャの相違点 ............................................................................................................. 8
パイプラインとクロック周波数 .............................................................................................................. 8
キャッシュミスによるプロセッサ ストール ......................................................................................... 10
分岐予測失敗によるプロセッサ ストール ........................................................................................ 10
Xeon ......................................................................................................................................... 11
Opteron .................................................................................................................................... 12
パイプラインと周波数の比較 ......................................................................................................... 13
電力について ............................................................................................................................. 13
Xeonファミリプロセッサのハイパースレッディング.................................................................................. 13
システムアーキテクチャの相違点 .......................................................................................................... 15
メモリコントローラ ............................................................................................................................ 15
Xeonのフロントサイドバス ............................................................................................................. 15
Opteron内蔵メモリコントローラ ...................................................................................................... 16
I/Oインターコネクト......................................................................................................................... 18
Xeonノースブリッジ/サウスブリッジ ................................................................................................ 19
Opteron HyperTransport.............................................................................................................. 19
32 ビットパフォーマンスの比較 ............................................................................................................. 22
TPC-Cベンチマーク.......................................................................................................................... 22
MMB3 ベンチマーク........................................................................................................................ 23
SAPベンチマーク ............................................................................................................................ 23
64 ビットItaniumプロセッサのアーキテクチャ ........................................................................................... 25
アドレッシング................................................................................................................................. 25
命令セットとレジスタ ........................................................................................................................ 26
システムアーキテクチャ ................................................................................................................... 26
まとめ............................................................................................................................................... 27
付録A TPC-CベンチマークでのProLiant DL585 システムの構成 ................................................................ 28
付録B 単位 ...................................................................................................................................... 29
詳細情報 .......................................................................................................................................... 29
ご意見をお寄せください ....................................................................................................................... 30
概要
HP ProLiantサーバポートフォリオには、Intel® Xeon™ファミリのx86 プロセッサを使用するシステムと、AMD
Opteron x86 プロセッサを使用するシステムがあります。これらのプロセッサアーキテクチャがシステムプラット
フォームに対して持つ意味をご理解いただくために、本書ではXeonプロセッサをOpteronと比較して相違点を示し
ます。x86 プロセッサの 32 ビット コンピューティング空間と 64 ビット コンピューティング空間の両方について説
明します。また、Intel Itanium® 64 ビットアーキテクチャとXeonおよびOpteronの 64 ビットアーキテクチャを簡単に
比較します。
本書は、業界の標準的なサーバテクノロジの知識のある IT 技術者の方を読者に想定しています。
本書で使用している略語
本書では、以下の略語を使用しています。
表 1. 略語
略語
意味
2-Way
2 個のマイクロプロセッサを搭載
4-Way
4 個のマイクロプロセッサを搭載
8-Way
8 個のマイクロプロセッサを搭載
AGU
アドレス生成ユニット(Address Generation Unit)
ALU
演算装置(Arithmetic Logic Unit)
CPU
集中処理装置。マイクロプロセッサのこと(Central Processing Unit)
DDR
ダブルデータレート(Double Data Rate)
DIMM
Dual Inline Memory Module
DRAM
ダイナミック ランダムアクセス メモリ(Dynamic Random Access Memory)
FSB
フロントサイドバス(Front-Side Bus)
Gb
ギガビット(Gigabit)
GB
ギガバイト(Gigabyte)
GPR
汎用レジスタ(General Purpose Register)
KB
キロバイト(Kilobyte)
I/O
入力/出力(Input/Output)。キーボード、マウス、ビデオグラフィックなどの装置を指す
IT
情報技術(Information Technology)
MHz
メガヘルツ(Megahertz)
ns
ナノ秒(Nanosecond)
OS
オペレーティングシステム(Operating system)
PCI
ペリフェラル インターコネクト バス(Peripheral interconnect bus)
SDRAM
同期ダイナミック ランダムアクセス メモリ(Synchronous Dynamic Random Access Memory)
USB
ユニバーサルシリアルバス(Universal Serial Bus)
3
はじめに
1980 年代の初め以降、業界の標準的なコンピュータは x86 命令セット アーキテクチャを使用してきました。最近
の 20 年間に、x86 アーキテクチャは浮動小数点計算やマルチメディア処理を容易にする命令、レジスタを追加し
て強化されています。この間、x86 アーキテクチャは 16 ビットおよび 32 ビットのソフトウェアとの高度な互換性を
保ち、ソフトウェアアプリケーションで重要な後方互換性を確保していました。しかも x86 アーキテクチャでは、パ
フォーマンスは常に向上し、コストは常に切り下げられてきました。
Intel x86 プロセッサには、さまざまな市場向けに構成された多くのバージョンがあります。本書公刊時点で、業界
標準のサーバ向けのIntel x86 プロセッサの最新モデルはPentium® 4、Xeon™、およびXeon MPプロセッサです
(表 1)。表 1 に示されたIntelプロセッサはすべてNetBurst®アーキテクチャとハイパースレッディング テクノロジを
使用していますが、コア周波数、システムバス周波数、キャッシュ容量はそれぞれ異なります。ハイパースレッ
ディング テクノロジ1は、1 つのプロセッサコアでマルチスレッドレベルの並行処理を実現します。最新のPentium
4 およびXeonプロセッサ(以前のコードネームはPrescottおよびNocona)でも、オペレ―ティングシステムやアプリ
ケーションを 64 ビットでネイティブに実行できるエクステンデッド メモリ 64 ビットテクノロジ(EM64T)がサポートさ
れています。64 ビット拡張テクノロジを使用することにより、IT企業は 32 ビットコンピューティングと 64 ビットコン
ピューティングに共通のプラットフォームを導入し、ビジネスに有益な 64 ビットコンピューティングに段階的に移行
することが可能になります。
表 1. プロセッサの仕様(最大値を表示)
プロセッサ
コア周波
数(GHz)
L1 キャッシュ
(KB)
L2 キャッ
シュ(KB)
L3 キャッ
シュ(KB)
FSB 速度
Feature
size
(nm)
64 ビッ
トサ
ポート
ハイ
パース
レッディ
ングサ
ポート
ハイパースレッ
ディングテクノロ
ジをサポートす
る Pentium 4
3.6 GHz
16 K (データ)
1024
なし
800
MHz
90
あり
あり
1024
なし
800
MHz
90
あり
あり
512
4
400
MHz
130
なし
あり
1024
なし
N/A - 内
蔵メモリ
コントロー
ラ
130
あり
なし
1024
なし
N/A - 内
蔵メモリ
コントロー
ラ
130
あり
なし
12K (マイクロ
命令)
(旧コードネーム
Prescott)
Xeon (旧コード
ネーム Nocona)
3.6 GHz
Xeon MP
3.0
16 K (データ)
12K (マイクロ
命令)
(Gallatin コア)
8 K (データ)
12K (マイクロ
命令)
Opteron 2xx
(Hammer コア。
ただし 2-Way
サーバまで)
2.4
Opteron 8xx
(Hammer コア。
ただし 8-Way
サーバまで)
2.4
64K(データ)
64 K (命令)
64K(データ)
64 K (命令)
1
ハイパースレッディングの詳細は技術概要『The Intel® processor roadmap for industry-standard servers』(TC040504TB)を参照
(http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00164255/c00164255.pdfから入手可)。
4
2003、AMD は第 8 世代の x86 プロセッサ、Opteron を発表しました。Opteron は、64 ビットで動作するオペレー
ティングシステムとアプリケーション用に、64 ビット拡張機能(AMD64 命令セット)を提供する業界初のプロセッサ
でした。
Opteronプロセッサのモデルは、3 桁のモデル番号、Zxxで表されます。「Z」は 1 つのシステムで接続できるプロ
セッサの最大数を示し、「xx」はシリーズ内での相対的なパフォーマンスを示します。Opteron 2xxシリーズプロ
セッサは、2-Wayサーバ用に設計されており、Opteron 8xxシリーズは 8-Wayサーバをサポートしています2。ど
ちらのプロセッサも 0.13 ミクロンプロセスを使用し、最大 2.4 GHzで動作します。各プロセッサには、128 ビット
DDR内蔵メモリコントローラ、64KB内蔵L1 命令キャッシュ、64KB内蔵L1 データキャッシュ、および 1MB L2 キャッ
シュが搭載されています。Opteronプロセッサはメモリコントローラ内蔵で、HyperTransportアーキテクチャ(他のプ
ロセッサやI/Oデバイスにポイントツーポイントで接続)を使用しているため、Xeonで使用されているようなフロント
サイドバスは必要ありません。
マイクロアーキテクチャの類似性
Xeon ファミリプロセッサも Opteron プロセッサも、32 ビットアプリケーション資産との互換性を保つために、x86 命
令セットアーキテクチャに準拠しています。このため、どちらのプロセッサもプログラミングレベルでは同じように動
作します。言い替えれば、ソフトウェア/ハードウェア インタフェースでは、それぞれのプロセッサのソフトウェアイ
ンタフェースは、x86 アーキテクチャのメモリアドレッシングサイズ、命令セット、およびレジスタ設計に関しては変
わっていません。
32ビット動作
32 ビットプロセッサには、32 ビット幅の汎用レジスタ(GPR)があり、32 ビット幅の整数データストリームに対して動
作することができます。さらに、32 ビットアーキテクチャが話題になるときに一般に了解されているとおり、32 ビッ
トプロセッサは 1 つのレジスタに 32 ビットのメモリアドレスデータを保持することができ、アドレス可能なメモリは最
大 4GB です。
x86 アーキテクチャでは、PAE (Physical Addressing Extensions: 物理アドレス拡張)もサポートされています。こ
れはアドレス空間を拡張して 36 ビットアドレッシングを可能にし、アドレス可能な物理メモリを最大 64 GBにするも
のです。ただし、OSとアプリケーションで、追加のメモリアドレッシングを利用できる必要があります3。Xeonファミリ
プロセッサとOpteronプロセッサでは、32 ビットアドレッシングに加えて 36 ビットPAEもサポートされています。
表 2 に示すように、Xeon ファミリプロセッサと Opteron プロセッサに共通の x86 の 32 ビット命令セットには以下
のようなものがあります。
• 標準 x86 - 汎用演算機能です。
• SIMD (Single Input Multiple Data)命令 - 1 つのコマンドで複数のデータ項目を同時に処理することができます。
MMX、Streaming SIMD Extensions (SSE)、および SSE2 があります。
• x87 浮動小数点命令
AMDプロセッサの命名ルールについてはwww.amd.com/us-en/Processors/ProductInformation/0,,30_118_8796_9240,00.htmlを参照。
詳細は『IA-32 Intel Architecture Software Developer’s Manual』第 3 巻の第 3 章「36-Bit Physical Addressing Using the PAE Paging Mechanism」
(http://www.intel.com/design/pentium4/manuals/index_new.htmから入手可)を参照。
2
3
5
表 2. Intel プロセッサと AMD プロセッサに共通な 32 ビット x86 命令
命令名
説明
レジスタの
タイプ
レジスタの
サイズ
レジスタ数
標準 X86
論理演算、数値演算、アドレス計算、およびメモリポインタ保持
用の命令
GPR
32 ビット
8
MMX
整数(整数データ型に集約)に対して 64 ビット SIMD 処理を行う
ためのマルチメディア命令
MMX
64 ビット
8
x87
浮動小数点計算用命令
FP
80 ビット*
8
SSE および SSE2
SSE は MMX の命令に改良を加え、128 ビット SIMD 浮動小数
点処理を可能にしました。
XMM
128 ビット
8
SSE2 は、IA-32 アーキテクチャに 64 ビット パラレル浮動小数
点数値サポートを導入しました。また、古い命令を拡張して新し
い命令を追加し、128 ビット SIMD 整数をサポートします。
* 「Introduction to 64-bit Computing and x86-64」という記事によると「x87 は 80 ビットレジスタを使用して倍精度での浮動小数点計算を実行します。フロート
そのものは 64 ビットですが、プロセッサがそれを内部的に 80 ビットフォーマットに変換して計算時に精度を向上させます」4。
両者の 32 ビット命令セットには重要な相違点が2つあります。SSE3 と 3Dnow!のサポートです。最新のPentium 4
とXeonプロセッサはSSE3 命令をサポートしています。SSE3 命令には、SSEテクノロジ、SSE2 テクノロジ、および
x87 浮動小数点演算機能を高速化する 13 の命令が含まれています。AMDはOpteronの将来のバージョンで
SSE3 をサポートすると見込まれています5。
Opteron は AMD 3Dnow!命令をサポートしています。Intel が MMX 命令を導入して、それほど広く使用されてい
なかったときに、AMD は独自バージョンのマルチメディア命令を開発しました。それが 3DNow!命令です。
3DNow!セットには 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 命令用の 8 個の 128 ビットレジスタ(Xeon の場合は SSE3 命令にも使用)
Jon Stokes『Introduction to 64 ビット Computing and x86-64』(http://arstechnica.com/cpu/03q1/x86-64/x86-64-1.htmlから入手可)
TechReport Webサイトで報告されたScott Wasson『Future Athlon 64s to include SSE3 support』の報告(2004 年 3 月 2 日
http://techreport.com/onearticle.x/6363)による。
4
5
6
図 1. 32 ビットレジスタと 64 ビットレジスタの違い(出典: 『AMD Opteron Coverage – Part 1: Intro to Opteron/K8 Architecture』6 2003 年 4 月 23
日)
動作モード
これらのプロセッサでは、64 ビット ロングモード、64 ビット互換モード、および 32 ビット レガシーモードの 3 つの
異なる動作モードが使用されます。64 ビット ロングモードを使用するには、64 ビット OS と、64 ビットレジスタを
使用できるように再コンパイルされたアプリケーションが必要です。言い替えると、拡張されたレジスタの機能を最
大限に活用できるのは、OS とアプリケーションの両方が 64 ビットをサポートしているときだけです。64 ビット互換
モードには 64 ビット OS が必要ですが、32 ビットアプリケーションを使用できます。OS は追加されたレジスタを使
用することができますが、32 ビットアプリケーションは拡張レジスタをサポートしていないため使用できません。レ
ガシーモードで動作する場合、プロセッサは 32 ビットプロセッサとまったく同様に動作し、追加のレジスタは使用さ
れません(表 3)。
表 3. XeonファミリプロセッサとOpteronプロセッサの動作モード7
モード
必要 OS
アプリケーションの
再コンパイルは必要か
拡張レジスタは
使用可能か
GPR 幅(ビット)
64 ビット ロングモード
64 ビット OS
はい
はい
64
64 ビット互換モード
64 ビット OS
いいえ
はい(OS)
32
いいえ(アプリケーション)
32 ビット レガシーモード
32 ビット OS ま
たは 16 ビット
OS
いいえ
いいえ
32
www.anandtech.com/cpuchipsets/showdoc.aspx?i=1815から入手可。
『Intel Extended Memory 64 Technology Software Developer’s Guide』第 1 巻(ftp://download.intel.com/technology/64bitextensions/30083402.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から入手可)
6
7
7
メモリアドレッシング
XeonファミリプロセッサもOpteronプロセッサも 64 ビットレジスタの 64 ビットすべてを使用してメモリをアドレッシン
グしているわけではありません。64 ビットで表せる数は非常に大きいので(264ビット=16 エクサバイト)8、現行のア
プリケーションは、ローカルメモリでもページファイルでも、これほどの大きさのメモリをサポートできません。さらに、
64 ビットすべてを使用してメモリをアドレッシングすると、アーキテクチャが必要以上に複雑になり空間とリソース
を無駄にする可能性があります。大半のメモリアクセスではそのように大きい数を使用してアドレスを識別する必
要がないので、メモリアドレスを 64 ビット持っていても、ゼロで埋められた余分のビットがたくさん付加されるだけ
です。このため、64 ビットのロングモードで動作するとき、Xeonファミリプロセッサは最大 48 ビットの仮想メモリ
(256TB)と 36 ビットの物理メモリ(64GB)をサポートします。Opteronプロセッサ、64 ビットのロングモードで動作す
るときは、最大 48 ビットの仮想メモリ(256TB)と 40 ビットの物理メモリ(1TB)をサポートします。
マイクロアーキテクチャの相違点
先ほど説明したとおり、Xeon ファミリと Opteron プロセッサの基本設計はプログラミングレベルでは類似していま
す。言い替えれば、ソフトウェア/ハードウェア インタフェースでは、命令/レジスタ/アドレッシング方式は本質的
に同一です。もちろん、それらのプロセッサの実装には、マイクロアーキテクチャの面で多くの相違があります(プ
ロセッサがどのように命令をデコードするか、分岐予測がどのように作業をバッファするか、そのバッファにいくつ
の分岐予測を保持できるか、など)。ただし、これらのプロセッサが持つ 2 つの主要な相違点を理解することが重
要です。
• パイプラインの全体的な設計と、そのプロセッサ周波数との関係。Xeon ファミリプロセッサは、パイプラインの
実行効率を犠牲にして周波数を最適化しますが、Opteron プロセッサは、周波数を犠牲にしてパイプライン効
率を最適化します。
• マルチスレッド並行処理の実装。Xeon ファミリプロセッサにはハイパースレッディングテクノロジが組み込まれ
ており、これにより、命令レベルの並行処理に加え、異なるスレッドが並行的に動作します。Opteron では命令
レベルの並行処理だけが実現されています。
パイプラインとクロック周波数
プロセッサのパイプラインは工場の組み立てラインに類似しています。プログラムコードを実行するため(あるいは
ウィジェットを構築するため)に、作業は多数の「ステージ」に分割され、それぞれのステージがジョブ全体の小さい
部分を構成します。基本的な考え方は、言うまでもなく、作業を多くの段階に分割すれば、プロセッサ(あるいは工
員)を常に忙しく働かせられると言うことです。これにより、ある一定の時間にプロセッサがより多くのコードを実行
することが可能になります。
パイプラインのそれぞれのステージで発生させられるアクティビティの量を理解することは重要です。プロセッサ
はそれぞれのステージの処理を 1 クロックサイクルの中で完了する必要があります。1 つのタスクを複数の小さい
タスクに分けることによってプロセッサがタスクのサイズを小さくすると、それぞれのステージは短くなりますが、ス
テージの数は多くなります(図 2)。このようにすると、各ステージをより短い時間で完了できるため、プロセッサがよ
り高いクロック周波数を持つことが可能になります。これはパイプラインで行われる作業量が多いことを必ずしも
意味しません。クロック周波数をより高くできることを意味するだけです。
8
付録Bで、エクサバイトなど、あまりよく知られていない単位について説明しています。
8
図 2. 各段階の作業量を減少させるとクロック周波数の増大が可能になる
コンピュータパイプラインの基本的な構造は、プログラムを実行するために繰り返して実行される次の 4 つのス
テップから成り立っています。
1.
2.
3.
4.
プログラムカウンタに格納されたアドレスから次の命令をフェッチします。
その命令を命令レジスタに格納してデコードし、命令カウンタのアドレスを増加させます。
その時点で命令レジスタにある命令を実行します。
その命令の結果を実行ユニットから宛先レジスタへライトバックします。
通常のプロセッサアーキテクチャでは、パイプラインは、基本的なステップを実行する複数のセグメント(マイクロプ
ロセッサの「フロントエンド」、実行エンジン、リタイヤユニット)に分割されます(図 3 参照)。フロントエンドは命令を
フェッチし、より小さい命令(一般に「マイクロ命令」と呼ばれる)にデコードします。デコードされた命令は、3 種類の
実行ユニット(整数、ロード/格納、浮動小数点)の 1 つに送られます。最後に、命令がリタイヤされ、結果が宛先レ
ジスタにライトバックされます。
9
図 3. 4 ステージ構成の基本的なパイプラインスキーマ
キャッシュミスによるプロセッサ ストール
パイプラインを忙しく保つには、最初の命令がパイプラインを完全に通過する前に、プロセッサが 2 番目の命令を
実行し始める必要があります。ここで、次のように、3 つの数の合計操作を必要とする命令があると考えてくださ
い。
X=A+B+C
A と B は既にプロセッサによりそれぞれレジスタに格納されているが、C はメモリから取得しなければならない場
合にはどうなるでしょうか。この場合、「バブル」と呼ばれるパイプライン ストールが起きます。メモリから C の値を
取得してくるまで、プロセッサは命令を実行できません。このバブルはパイプラインの前段階にわたって伝わり、
バブルのある各ステージでアイドル状態を発生させ、そのクロックサイクルの間、実行リソースを無駄にします。
明らかに、パイプラインが長いほどこの問題は深刻になります。
分岐予測失敗によるプロセッサ ストール
ある命令が別の命令に依存していることによるプロセッサ ストールもよく発生します。プログラムに IF... THEN
ループのような分岐がある場合、プロセッサには 2 つの選択肢があります。決め手となる命令が終了するまで、
採用するプログラム分岐を決定しない(パイプラインはストールする)か、プログラムが採用する分岐を予測するか
です。
プロセッサによるコード分岐予測が誤りだった場合は、パイプラインをフラッシュして、正しい分岐を使用して IF...
THEN 文からやり直す必要があります。パイプラインが長くなるほど、分岐予測の失敗によるパフォーマンスへの
影響も大きくなります。たとえば、パイプラインが長くなれば、予測が外れたときに破棄するべき命令の実行も増
えます。
10
Xeon
Intelが文書で述べているように、Xeonで使われたNetBurstアーキテクチャでは、業界トップのクロックレートを可能
にする、深いパイプラインが実現されています9。言い替えれば、Intelは実際のクロック速度を高くできるようにプ
ロセッサを設計していますXeonファミリプロセッサの最新バージョンでは 31 段の整数パイプラインが使用されて
おり、2 つの「高速」演算装置(ALU)、1 つの「低速」ALU、2 つのアドレス生成ユニット(AGU)、および 2 つの浮動小
数点実行ユニットが搭載されています(図 4)。Xeonでは、長いパイプラインにより、最大 3.6GHzの周波数で動作
可能です。
こうした長いパイプラインの欠点を補う方法としてIntelが採用した方法の 1 つは、実行トレースキャッシュと呼ばれ
る 12KBの命令キャッシュです。Intelは、この 12Kキャッシュのヒット率が従来の 8∼16KBの命令キャッシュに近
いと報告しています10。このキャッシュは命令を翻訳、デコードして、トレース(ミニプログラムのようなもの)に入れ
ます。L1 キャッシュがヒットするとプロセッサはそのトレースを実行します。その特定のトレースを実行する場合に
毎回命令を翻訳、デコードする必要はありません。メインのパイプラインがする作業の量をその分減少させること
ができます。さらに、実行トレースキャッシュにはそれ自身の分岐予測アルゴリズムがあり、翻訳されたマイクロ命
令を投機的な順序で格納することができます。
図 4. Xeonプロセッサのマイクロアーキテクチャ(出典:『Intel Technology Journal』第 8 巻第 1 号(2004 年 2 月)の「The MicroArchitecture of the
Intel Pentium 4 Processor on 90nm Technology」)11
『IA-32 Intel Architecture Software Developer’s Manual Volume 1:Basic Architecture』 2-7 ページ
(http://developer.intel.com/design/pentium4/manuals/index_new.htmから入手可)
10
『Intel Technology Journal』第 8 巻第 1 号(2004)「MicroArchitecture of the Intel Pentium 4 Processor on 90 nm Technology」
11
(http://www.intel.com/technology/itj/2004/volume08issue01/art01_microarchitecture/p01_abstract.htmから入手可)
9
11
Opteron
Xeonファミリプロセッサと異なり、Opteronプロセッサは高度に効率的なパイプラインを実現できるように最適化さ
れています。AMDによれば12、これは、デコードされた多数のマイクロ命令を一括して並行して実行するように最
適化された、パイプラインのフロントエンド命令フェッチとデコードロジックによるものです。Opteronは 12 段の整
数パイプラインを持っています。これはXeonプロセッサのパイプラインよりはるかに短いものです。このため、より
遅い周波数を使用する必要があります。現在、Opteronは 1.6∼2.4GHzで動作しています。ただし、パイプライ
ンが短いため、分岐予測の失敗やキャッシュミスによる遅延のリスクは低減されます。また、パイプラインが短け
れば、それほど大規模な分岐予想アルゴリズムやターゲットバッファも必要ありません。
Opteron はまた、処理の並行性を高めるために、Xeon より多数の実行ユニットとデコードユニットを持っています。
Opteron には 3 つの ALU、3 つの AGU、および 3 つの浮動小数点実行ユニットがあります(図 5)。Opteron には
Xeon より多くの実行ユニットがありますが、その最大有効スループットは Xeon と同じで、1 サイクルあたり整数演
算 3 個です。
図 5. AMD Opteronのアーキテクチャブロック ダイアグラム(出典: AMD Eighth-generation Processor Architecture paper)
12
『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 と Opteron のパイプラインの相違に関して最後に取り上げるのは電力の問題です。消費電力はプロセッサ
の動作周波数と直接の相関関係があり、周波数が上がれば消費電力も増加します。このため、Xeon より動作周
波数が低い Opteron は消費電力が少なく、発熱量も Xeon プロセッサより少なくなります。消費電力の問題は、高
密度のラックを使用する大規模なデータセンターや顧客にとってだんだん深刻になってきています。
Xeonファミリプロセッサのハイパースレッディング
Intel NetBurst アーキテクチャでは、パイプラインを有効活用する方法の 1 つとしてハイパースレッディングが採用
されています。通常、プロセッサは単一の命令ストリームからの命令だけを実行します。スレッドや命令ストリーム
の間でのスイッチが発生すると、プロセッサはコンテクストスイッチのオーバーヘッドペナルティを支払う必要があ
ります。最近のプロセッサはスーパースカラーなので(並行実行ユニットとアウトオブオーダー実行を装備)、プロ
セッサは命令を再配列してアウトオブオーダー実行し、一部の命令を並行的に実行します(命令レベルの並行処
理)。Xeon と Opteron のいずれのプロセッサも、命令レベルの並行処理を使用して、クロックあたり最大 3 個の命
令を実行します。
さらに Xeon ファミリプロセッサは、ハイパースレッディング テクノロジを使用して 2 本の別個のスレッドを並行して
実行します(マルチスレッド並行処理)。Xeon ファミリプロセッサは、命令ポインタ、レジスタアロケーションテーブル、
およびその他のアーキテクチャ レジスタといった一部のプロセッサ コンポーネントを複製します。Intel はこれらの
コンポーネントを「アーキテクチャ ステート」と呼んでいます。アーキテクチャ ステート(論理プロセッサ)は、2 つの
論理プロセッサが共有するプロセッサ実行リソースに対して命令をスケジューリングします。片方のスレッドスト
リームにバブルが検出されると、プロセッサは実行リソースをもう一方のスレッドストリームにシフトします。これに
よりプロセッサは、別々のスレッドから供給されるマイクロ命令を時間多重化方式で実行して、実行リソースの使
用効率を可能な限り高く維持します(図 6)。
13
図 6. ハイパースレッディングテクノロジがある場合とない場合の比較13。右側のハイパースレッディングの例では、ライトグレーの部分がス
レッド 1 からの命令、ダークグレーの部分がスレッド 2 からの命令を表しています。白い四角形はアイドル状態の実行リソースです。
ハイパースレッディングは、マルチスレッドに対応したアプリケーションやオペレーティングシステムのパフォーマ
ンスを向上させます。Intelの報告では最大 30%の改善が見られるとのことですが14、アプリケーションに大きく依
存します。平均的なパフォーマンス向上率は、ほぼ 5∼10%と考えられます15。実際のパフォーマンス向上率は、
OSやアプリケーションがマルチスレッドをどの程度有効に利用しているかに依存します。このため、マルチスレッ
ド対応でないアプリケーションやオペレーティングシステムでは、ハイパースレッディングによる利点はありませ
ん。
この数値はIntelのホワイトペーパー『Hyper-Threading Technology on the Intel Xeon Processor Family for Servers』記載の情報から算出しました。
出典.『Hyper-Threading Technology on the Intel Xeon Processor Family for Servers』
(www.intel.com/business/bss/products/hyperthreading/server/ht_server.pdfから入手可)
15
Anandtech Webサイトの報告によると、データベースでのパフォーマンステストでは 3∼5%の向上。『AMD Opteron vs. Intel Xeon: Database Performance
Shootout』(2004 年 3 月 2 日) www.anandtech.com/
13
14
14
システムアーキテクチャの相違点
サーバのパフォーマンスはプロセッサそのもののパフォーマンスだけでなく、メモリサブシステム、I/O サブシステ
ム、および実行中のアプリケーションの種類にも影響されます。Xeon ファミリプロセッサと Opteron のアーキテク
チャでは、メモリサブシステムと I/O サブシステムが大幅に異なっています。
• メモリコントローラの実装。Xeon ファミリプロセッサには、メモリコントローラにリンクするノースブリッジがありま
す。Opteron プロセッサはメモリコントローラを内蔵しています。
• I/O トランスポート。Xeon ファミリプロセッサは、パラレルの共有フロントサイドバスを使用します。Opteron プロ
セッサは、非常に高い帯域幅と低いレイテンシを提供するポイントツーポイントの HyperTransport リンクを使用
します。
メモリコントローラ
今日のプロセッサはメモリサブシステムよりはるかに高速で動作しています。このため、メモリサブシステムを改
良することで、プロセッサコアの速度やパフォーマンスを向上させるだけでは不可能なレベルに、システム全体の
パフォーマンスを向上させることができます。Xeon ファミリプロセッサと Opteron プロセッサはどちらも標準的な
DDR SDRAM を使用しています。ただし、Xeon プロセッサは別個のメモリコントローラに接続する、一般的なフロン
トサイドバス アーキテクチャを使用していますが、Opteron はプロセッサそのものに内蔵されたメモリコントローラ
を使用しています。
Xeon のフロントサイドバス
メモリのアーキテクチャを話題にする場合には、帯域幅、レイテンシ、およびスケーラビリティの 3 つの項目に注意
する必要があります。
帯域幅
Xeon フロントサイドバス(FSB)は、コントローラとすべてのプロセッサが帯域幅を共有する、パラレルの 64 ビット
マルチドロップテクノロジです。メモリコントローラはプロセッサとは別個のチップセットで、使用できるメモリの容量
とタイプはチップセットの設計によって異なります(プラットフォームの設計者が決定)。通常、HP では、Xeon ファミリ
プロセッサを搭載した Intel または Serverworks のチップセットを使用してきました。最大 32GB のデュアルチャン
ネル DDR SDRAM をサポートしています。
最新の Xeon ファミリプロセッサは、800MHz のフロントサイドバスを使用してプロセッサとメモリや I/O デバイス
を接続します(図 7)。これにより、最大帯域幅の合計は 6.4 GB/s となります。Xeon ファミリの旧バージョンは
400MHz または 533MHz のフロントサイドバスを使用しており、総帯域幅は 3.2 GB/s または 4.3 GB/s に制限
されていました。
レイテンシ
Xeon ファミリプロセッサは、すべてのプロセッサがメモリに対して同等のアクセス権を持つ、対称型マルチプロセッ
シング環境に合わせて設計されています。メモリレイテンシ(プロセッサがメモリからのデータを要求するのに必要
な時間)はすべてのプロセッサで同じです。HP の測定では、Xeon ファミリプロセッサのメモリレイテンシは約 120ns
です。
15
図 7. Xeon ファミリプロセッサを使用する典型的な 2-Way サーバのブロックダイアグラム
スケーラビリティ
シングルプロセッサ アーキテクチャとしては、プロセッサを増設せずにメモリを追加できる FSB アーキテクチャの
方が有利でしょう。しかし、ユーザがプロセッサを増設すると、複数(2 または 4)プロセッサ間での帯域幅の共有が
大きな問題になります。フロントサイドバスの共有特性により調停が頻繁に発生し、レイテンシが高くなるため、メ
モリに高い負荷をかけるアプリケーションでは Xeon ファミリプロセッサのパフォーマンスが制限される可能性があ
ります。
Opteron 内蔵メモリコントローラ
Xeon の FSB アーキテクチャと異なり、Opteron プロセッサにはメモリコントローラが内蔵されています。これにより、
メモリに関する 3 つの問題点のすべてに大きな利点がもたらされます。Xeon ファミリプロセッサと比べ、帯域幅は
広くなり、メモリレイテンシは少なくなり、スケーラビリティも向上します。
帯域幅
Opteron は、最大 8 枚の DDR DIMM(各チャネルに 4 枚)をサポート可能な 128 ビットインタフェースを備えたデュ
アルチャネル DDR SDRAM コントローラを内蔵しています。
このコントローラは、登録された DIMM を使用する PC1600、PC2100、PC2700、PC3200 DDR メモリをサポート
するように設計されています。実効転送速度 400MHz で動作する PC3200 メモリの場合、これによりチャネルあ
たり 3.2 GB/s、両チャネル合計で 6.4 GB/s の帯域幅がプロセッサに提供されます。旧バージョンの Xeon プロ
セッサを搭載したシステムを使用するユーザにとって、これは、Opteron を使用するシステムでは最大で 2 倍の帯
域幅を使用できることを意味します。
レイテンシ
図 8 は、システムアーキテクチャでの Opteron プロセッサとメモリの関係を示しています。各プロセッサにはローカ
ルに接続されたメモリがあります。他のプロセッサは、プロセッサ内部のクロスバースイッチと、プロセッサ間の高
速ポイントツーポイント インターコネクト(HyperTransport インターコネクト)を使用してそのメモリにアクセスできま
す。
16
図 8. 2-Way システムでの Opteron とメモリの関係の例
メモリを、プロセッサのローカルメモリと、プロセッサに対してリモートのメモリに分割するこのアーキテクチャでは、
レイテンシが大きくなる心配はないでしょうか。しかし、メモリコントローラが内蔵されていてプロセッサのコア速度
で動作しており、プロセッサ間のインターコネクトが高速であるため、ローカルアクセスとリモートアクセスのレイテ
ンシの相違は実際には非常に小さいものです。デュアルプロセッサシステムでは、ローカルアクセスのメモリレイ
テンシは約 70nsで、リモートアクセスの場合は約 100nsです。どちらも対応するXeonのレイテンシより小さい値で
す(表 4)16。ローカルとリモートでのメモリアクセスの差がこのように小さいため、AMDはこれを「ほぼ均一な」メモ
リと呼んでいます。メモリサブシステムの設計は均一ではありませんが、インターコネクトの速度により均一と見な
せます。
表 4. 2-Way サーバのメモリレイテンシ
メモリアクセスの種類
Xeon
Opteron
速度差
ローカルアクセス
120ns
70ns
42 %
リモートアクセス
120ns
100ns
17 %
メモリアクセス時に消費されるクロックサイクル数を比較すると、クロックサイクルの差は実際の時間の差よりもさ
らに大きくなります(図 9)。Xeon プロセッサではクロック速度が高いため、メモリレイテンシが大きくなることにより、
CPU がメモリアクセスを待機するクロックサイクル数がさらに大きくなるわけです。
William Wong「AMD Hammers Multiprocessor Hyperchannel」、『ED Online ID #1680』2002 年 4 月 1 日
www.elecdesign.com/Articles/ArticleID/1680/1680.html
16
17
図 9. メモリアクセス待機時に消費されるクロックサイクル数(出典: 『AMD Opteron Coverage – Part 1: Intro to Opteron/K8 Architecture』
6 2003 年 4 月 23 日)17
さらに、新しいバージョンのオペレーティングシステムでは、ローカルおよびリモートのメモリを活用する機能が OS
に用意されています。ProLiant DL585 などの HP ProLiant プラットフォームでは、ROM ベースのセットアップユー
ティリティ(RBSU)で、プロセッサのクロスバースイッチを経由してリモートメモリにアクセスせず、サーバノード上の
ローカルメモリを検索するように設定できます。
スケーラビリティ
メモリは各プロセッサに増設できるので、総メモリ容量はプロセッサ数に比例して増大します。たとえば、4-Way
の Opteron システムは最大 64GB のメモリを搭載できます。対応する Xeon システムでは 32GB です。こうした大
量のメモリを使用できるアプリケーションでは、Opteron ベースのシステムを使用するとパフォーマンスが大幅に
向上する可能性があります。
さらに、各 Opteron プロセッサにそれぞれのメモリコントローラと HyperTransport リンクがあるため、利用できるメ
モリ帯域幅はプロセッサ数に比例して増大します。メモリコントローラを内蔵していることにより、複数のメモリ要求
を並列化することも可能です。並行処理により、メモリへの実効帯域幅は増大し、メモリの平均レイテンシは減少
します。
I/Oインターコネクト
既に説明したとおり、Xeon プロセッサは従来のフロントサイドバス テクノロジを使用して、I/O とメモリにリンクす
るノースブリッジにプロセッサを接続しています。一方 Opteron は、ポイントツーポイントの HyperTransport リンク
を使用しています。AMD は、システム内のバス数を減らし、スケーラビリティの高いマルチプロセッシングシステ
ムを可能にするためのハイパフォーマンスリンクとして HyperTransport リンクを開発しました。
17
www.anandtech.com/cpuchipsets/showdoc.aspx?i=1815から入手可
18
Xeon ノースブリッジ/サウスブリッジ
I/O サブシステムの速度と帯域幅は、プラットフォームの設計者が選択したチップセットにより異なります。図 10
は、Grand Champion-HE などの Serverworks チップセットの、システム構成での使用例を示しています。このチッ
プセットは ProLiant サーバで使用されており、総計 3.2GB/s の I/O 帯域幅を PCI-X ブリッジに提供し、ビデオ、ネッ
トワーキング、ストレージ、およびシステム管理デバイスを制御するサウスブリッジに 200MB/s の帯域幅を提供
します。
図 10. Xeon MP プロセッサ(400MHz FSB)と Serverworks チップセットを使用した 2-Way システムのアーキテクチャ例
Opteron HyperTransport
Opteron プロセッサには、3 本の 16 ビット幅 HyperTransport リンクが用意されています(図 11)。HyperTransport
は、フロントサイドバス並列テクノロジに代わる、ポイントツーポイント並列インターコネクトです。2 倍のデータレー
トを使用して、16 ビットリンク上で、1 クロックサイクルあたり 2 ビット転送しています。HyperTransport のクロック
は 200MHz から 800MHz の間で変化し、最大 1600MT/s (秒あたりメガ転送)の実効動作周波数と、各方向に
最大 3.2GB/s の実効転送速度を実現しています。転送は両方向同時に発生するため、16 ビットの
HyperTransport I/O リンクで、総計 6.4GB/s の転送速度を実現できます。共有バスや双方向バスと比較して、
ポイントツーポイント インターコネクトには、バス調停のオーバーヘッドがなく、シグナルの完全性を容易に維持
できる利点があります。HyperTransport テクノロジは低電圧差動伝送(LVDS: Low-Voltage Differential Signaling)
テクノロジを使用して電力消費を抑え、クロストークと電磁干渉を最小限に抑制します。
19
図 11. HyperTransport テクノロジの Opteron 内での位置付け
Opteron プロセッサは 3 本の HyperTransport リンクを使用して他の Opteron プロセッサや I/O に接続できます
(図 12)。Opteron プロセッサの 100、200、および 800 シリーズの主要な相違は、プロセッサによる 3 本の
HyperTransport リンクの使い方です。100 シリーズでは、3 本の HyperTransport リンクは、非コヒーレント リンク
で I/O に接続するためだけに使用できます。つまり、100 シリーズの Opteron プロセッサはシングルプロセッサ
システムでの使用に限定されます。200 シリーズでは、HyperTransport リンクのうち 1 本を、コヒーレント リンク
で他の Opteron プロセッサに接続するために使用できます。それ以外のリンクは I/O に接続するために使用され
る(非コヒーレント リンク)ため、200 シリーズの Opteron プロセッサはデュアルプロセッサ システムで使用できま
す。800 シリーズでは、3 本の HyperTransport リンクすべてを、他の Opteron プロセッサまたは I/O に接続する
ために使用できます。この設計ではスケーラビリティが非常に高いアーキテクチャを実現できるため、Opteron プ
ロセッサを 2-Way、4-Way、または 8-Way システムで使用するように容易に構成できます。
20
図 12. Opteron と AMD 8000 チップセットを使用した 4-Way システム アーキテクチャ例
たとえば、ProLiant DL 585 サーバ18は図 12 に示す構成を持ち、HyperTransportトンネルにAMD 8131 チップ、
I/OハブにAMD 8111 チップが使用されます。これらのコンポーネントやプロセッサのHyperTransport機能は、
PCI-X機能をサポートするHyperTransportトンネルに、4.8GB/sの帯域幅を提供します。
AMD 8131 の HyperTransport トンネルは、グラフィックデバイスやストレージデバイスを含む I/O サブシステム
に、3.2GB/s の帯域幅を提供します。I/O ハブへの帯域幅はそれより狭いものですが、将来の拡張や高 I/O ス
ループットの実現には十分な余裕があります(表 5)。
18
ProLiant DL585 の詳細は、『HP ProLiant DL585 Server Technology』を参照してください
(http://h200005.www2.hp.com/bc/docs/support/SupportManual/c00180597/c00180597.pdf)。
21
表 5. HyperTransport と既存の I/O プロトコルの帯域幅比較
プロトコル
帯域幅
各プロトコルと比較した
HyperTransport (8 ビット、3.2
GB/s)の速度比
各プロトコルと比較した
HyperTransport (16 ビット、6.4
GB/s)の速度比
レガシーPCI (32 ビッ
ト、33 MHz)
133MB/s
24X
48X
USB 2.0
480MB/s
6.6X
13X
PCI-X (64 ビット、133
MHz)
1064MB/s
3X
6X
Infiniband 4X link
10Gb/s
(1.25GB/s)
2.5X
5X
10Gb Ethernet
10Gb/s
(1.25GB/s)
2.5X
5X
32 ビットパフォーマンスの比較
アーキテクチャを比較する際の困難は、特定のシステムやアプリケーションでどちらのプロセッサのパフォーマン
スが優れているかを決定する絶対の基準がないことです。たとえば、これまでに説明したとおり、プロセッサのパ
フォーマンスは、コアプロセッサの周波数、パイプラインの設計、分岐予測能力、キャッシュサイズ、メモリや I/O
へのインタフェースに依存します。
HP は、Opteron プロセッサを使用するシステムの方が Xeon ファミリのプロセッサを使用するシステムと比較して
一般にパフォーマンスが優れていると考えています。メモリアクセスの頻度が高いアプリケーションでは Opteron
の内蔵メモリコントローラが有利なので、このことが特に当てはまります。4-Way システムではほとんどの場合に
パフォーマンスの差が見られます。2-Way システムでは、使用されるアプリケーションに依存する割合がはるか
に大きくなります。
TPC-Cベンチマーク
2004 年 5 月のTPC-Cベンチマークでは、4 個のOpteronプロセッサを使用するHP ProLiant DL585 サーバがx86
システム部門のtpmCランキング 1 位を獲得しました(図 13)。最高記録の 105,687tpmは、Xeonプロセッサを使
用するサーバの中で最高位だったものの記録より大幅に優れています。2 番目のTPC-Cベンチマークは 64GBの
メモリを使用して実施されており、結果はXeonのシステムに対して 20%優れたパフォーマンスを示しています。た
だし、ベンチマークは、更新されたオペレーティングシステムが実運用で利用できるようになってから公表される
予定です。既に触れたとおり、サーバのパフォーマンスは、プロセッサ速度(またはキャッシュサイズなどのプロ
セッサに関する数値)の比較には留まりません。たとえば、図 13 に示されたRackSaver QuatreX-64 システムは 4
個のOpteronプロセッサを使用しています。しかしシステム設計が異なるため、RackSaverシステムはProLiant
DL585 のパフォーマンスには及びません。付録Aに、HP ProLiant DL585 のシステム構成を詳しく示しています。
TPCベンチマークや他のシステムに関する詳細は、TPC Webサイト(www.tpc.org)を参照してください。
22
図 13. TPC-C の 4-Way32 ビットコンピューティング x86 のパフォーマンス
MMB3ベンチマーク
2004 年 7 月、HP は 4-Way ProLiant DL585 サーバ(2.4GHz/1MB)を使用して、Microsoft® Exchange MAPI
Messaging Benchmark (MMB3)で 9,000MMB3 の成績をマークしました。これは、Microsoft Windows Server
2003 を 4-Way システムで使用した Microsoft Exchange 2003 において現在最高のパフォーマンスです。
MMB3 ベンチマーキングの作業負荷と方法は、Exchange 2003 MAPI サーバ比較の標準となります。MMB3 の
作業負荷は、中堅企業の電子メール環境を想定したものです。
ProLiant DL585 のパフォーマンスパラメータは以下のとおりです。
• CPU 使用率は平均 85%
• 加重 95 パーセンタイル応答時間のスコアは 653 ミリ秒
• 4 時間の安定稼働時での平均送信キューサイズは 97 メッセージ
詳細は、『HP ProLiant DL585 achieves world-class 4-Way, x86 performance results on Microsoft Exchange
MAPI Messaging Benchmark 2003 』19、およびMicrosoft Webサイト
(www.microsoft.com/exchange/evaluation/performance/default.asp)で参照してください。
SAPベンチマーク
HP はまた、ProLiant DL585 を使用した SAP SD (Sales and Distribution)標準アプリケーションベンチマークで非常
に優秀な成績を上げたと報告しています。SAP Web サイトで述べられているとおり、SAP ベンチマークは mySAP
Business Suite のスケーラビリティを実証テストするものです。ベンチマークの成績により、新しいハードウェア、シ
ステムソフトウェア コンポーネント、および RDBMS をテストすることにより、ユーザに基本的なサイズに関する推
奨事項を提供することができます。また、さまざまなシステム構成を比較することもできます。
表 6 は、Windows Server 2003 Enterprise Edition オペレーティングシステムを使用する 4-Way サーバの比較
を示しています。Opteron プロセッサ搭載の ProLiant DL585 は、32 ビットアーキテクチャの 4-Way システムで 1
位と 3 位のパフォーマンスを示しています。
19
ftp://ftp.compaq.com/pub/products/servers/benchmarks/dl585-mapi.pdfから入手可
23
表 6. SAP R/3 Enterprise 4.7 2-Tier プラットフォーム用の構成
4P プラットフォーム
テスト対象
SD ベンチ
マーク
ユーザー数
平均
dialog
応答時間
(秒)
1 時間
あたりの
dialog
処理
OS と DB
SAPS
値
1 時間
あたりの
完全処理
項目
認定番号
HP ProLiant
DL585, Opteron
800 シリーズ,
2.4GHz, 1MB L2
キャッシュ, 12GB
RAM
770
1.95
232,000
Microsoft
Windows
Server
2003 EE,
SQL
Server
2000
3870
77,300
2004024
IBM eServer xSeries
365 8862RX, Intel
Xeon™ MP 3 GHz,
512KB L2 /4MB L3
キャッシュ, 8GB
RAM
720
1.93
217,000
Microsoft
Windows
Server 2003
EE, DB2
UDB 8.1
3620
72,330
2004019
HP ProLiant
DL585, Opteron
800 シリーズ,
2.2GHz, 1MB L2
キャッシュ, 16GB
RAM
712
1.95
214,000
Microsoft
Windows
Server
2003 EE,
SQL
Server
2000
3570
71,300
2004018
IBM eServer xSeries
365 8862-3RX, Intel
Xeon™ MP
2.8GHz, 512KB L2
/2MB L3 キャッ
シュ, 8GB RAM
562
1.98
169,000
Microsoft
Windows
Server 2003
EE, DB2
UDB 8.1
2820
56,330
2004003
IBM eServer xSeries
445 8870-4RX, Intel
Xeon MP 2.8GHz,
512KB L2/2MB L3
キャッシュ, 8GB
RAM
525
1.97
158,000
Microsoft
Windows
Server 2003
EE, DB2
UDB 8.1
2630
52,670
2003035
Dell PowerEdge
6650, SMP, Intel
Xeon MP 2.8GHz,
512 KB L2/ 2MB L3
キャッシュ, 8GB
RAM
420
127,000
Microsoft
Windows
Server 2003
EE, SQL
Server 2000
2120
42,330
2003055
1.91
詳細情報は『New HP ProLiant DL585 achieves four-Way Windows leadership performance result』20および
SAP Webサイト(www.sap.com/benchmark/)を参照してください。
20
ftp://ftp.compaq.com/pub/products/servers/benchmarks/dl585-sap2.pdfから入手可
24
64 ビット Itanium プロセッサのアーキテクチャ
本書はXeonファミリプロセッサおよびOpteronプロセッサのx86 アーキテクチャに焦点を当てています。しかし別
の業界標準のプロセッサ、Itaniumも 64 ビット拡張機能をサポートしているので、ここで簡単に説明しておくのも無
意味ではないでしょう。Itaniumプロセッサファミリ(IPF)アーキテクチャとx86 アーキテクチャの詳細な比較は本書の
範囲を超えます。ItaniumおよびItanium 2 アーキテクチャに関する詳細情報は、HPのWebサイトとIntelのWebサ
イトを参照してください21。
Itanium ファミリプロセッサの主要機能の概要を表 7 に示します。
表 7. Itanium および Itanium 2 プロセッサの仕様(最大値を示す)
プロセッサ
Itanium
Itanium 2
コア周波数
800MHz
1.5GHz
L1 キャッシュ(KB)
16 K (データ)
16 K (データ)
16K (命令)
16K (命令)
L2 キャッシュ(KB)
96
256
L3 キャッシュ(MB)
4 (チップ外)
6 (チップ上)
FSB 速度
266MT/s, 64 ビット幅
400MT/s, 128 ビット幅
FSB 帯域幅
2.1GB/s
6.4GB/s
パイプライン段数
10
8
レジスタ総数
328
328
実行ユニット総数
13
16
1 サイクルあたりの最大命令数
6
6
アドレッシング
Itanium プロセッサも広大なアドレス空間を持っていましたが、Itanium 2 プロセッサはそれをさらに拡大しました。
Itanium 2 は 64 ビット仮想アドレッシングをサポートしているため、プログラムは最大 16EB(エクサバイト)の仮想メ
モリにアクセスできます。また、50 ビットの物理アドレッシングをサポートしているため、最大 1PB(ペタバイト)の物
理メモリにアクセスできます。
21
HPのWebサイト(www.hp.com/products1/itanium/)およびIntelのWebサイト
(www.intel.com/products/server/processors/server/itanium2/index.htm?iid=sr+itanium&)を参照してください。
25
命令セットとレジスタ
Itanium は、Intel EMT64 や AMD64 とはまったく異なった命令セットアーキテクチャを使用します。HP と Intel は、
EPIC (Explicitly Parallel Instruction Computing)を採用した Itanium を共同開発しました。EPIC の手法は、コンパイ
ラがプログラムのソースコードを解析して命令ストリームに明示的な情報を埋め込み、並行処理しても安全な命
令をプロセッサに知らせて、パフォーマンスの向上を図るものです。x86 の手法では、並行処理する命令をプロ
セッサがその場で決定する必要がありました。x86 プロセッサにはこのタスク専用のハードウェアがあるため、設
計が複雑化し、パフォーマンス低下の原因となりました。
EPICの設計では、IA-32 との互換性をエミュレーション機能により確保しています。通常、Itaniumの 32 ビット動作
は現在のx86 より遅くなります。EPICは、64 ビットで動作するオペレーティングシステムとアプリケーション用に設
計されています。Intelによる最近の改良点には、IA-32 実行レイヤー(IA-32 EL)も含まれます。Intelによると、IA-32
ELは「IA-32 アプリケーションをItaniumプロセッサファミリのシステムで実行する新しいテクノロジです。Itanium
ベースのプラットフォーム上でのIA-32 アプリケーションのサポートは、Itaniumプロセッサ上のハードウェア回路を
使用して実現されています。この機能は、Itaniumベースのオペレーティングシステムに付属のIA-32 ELソフトウェ
アでは拡張され、IA-32 命令をItanium命令に、動的に変換できるようになります」22。
Itanium 2 には、8 個の 64 ビット GPR と 256 個のデータレジスタがあります。そのうち 128 個は 64 ビット整数
用で、128 個が 82 ビット浮動小数点用、そして 72 個のデータレジスタは分岐予測情報に関係します。Itanium 2
のレジスタと、IA-32 や EM64T/AMD64 で利用可能なレジスタの違いを表 8 にまとめました。
表 8. x86 プロセッサと IPF プロセッサのレジスタの比較
レジスタサイズ
32 ビット x86 (Xeon
または Opteron)
64 ビット x86 (EM64T
または AMD64)
IPF (Itanium 2)
1 ビット
—
—
分岐予測用に 64 個
32 ビット
8
—
—
64 bit
16
32
136 個(128 個は汎用、8 個は分岐予測)
82 ビット
—
—
128 個(浮動小数点)
128 ビット
8
16
—
(MMX および x87)
システムアーキテクチャ
IPF アーキテクチャは、Xeon アーキテクチャに類似した FSB アーキテクチャを使用しています。ただし、以下の重要
な相違点がシステム全体のパフォーマンス向上に大きく関わっています。
• FSB プロトコルは Xeon FSB プロトコルより効率的
• Itanium2 FSB は Xeon FSB の倍の幅を持つ
• Itanium プロセッサは Xeon よりはるかに大きなキャッシュサイズを使用するため、FSB にアクセスする必要性が
低く抑えられる
「IA-32 Execution Layer: Technical Whitepaper」Intel Webサイト
(http://www.intel.com/cd/ids/developer/asmo-na/eng/microprocessors/itanium/93086.htm)
22
26
まとめ
ProLiant DL585 サーバおよび DL145 サーバの導入により、ユーザは、Intel Xeon プロセッサと AMD Opteron プ
ロセッサのどちらを使用する ProLiant プラットフォームにするか選択できます。どちらも x86 アーキテクチャに準拠
した 32 ビットプロセッサです。これは、両者がプログラミングレベルで同一のハードウェア/ソフトウェア インタ
フェースを持っていると言うことです。つまり、同一の命令セット、メモリアドレス機能のレベル、同一の基底レジス
タセットを、どちらもサポートしています。64 ビットのアプリケーションやオペレーティングシステムに移行するユー
ザのために、Xeon プロセッサと Opteron プロセッサのどちらでも、既存の 32 ビットアプリケーションとの互換性を
維持しつつ 64 ビット拡張機能にスムーズに移行できます。同様に業界標準で 64 ビットアーキテクチャである IPF
も、64 ビットアプリケーションの使用時には優れたパフォーマンスを発揮します。ただし、Itanium および Itanium2
プロセッサが 32 ビットコードを変換するのに使用するエミュレーションモードは、x86 プロセッサで 32 ビットコード
をネイティブ実行する場合ほど効率的ではありません。このため、Xeon および Opteron プロセッサを 64 ビット
モードで使用したときに利用できる広大なメモリアドレス空間へのアクセスを必要とする一方、Itanium に移行する
場合に必要な費用やインフラストラクチャの変更を望まないユーザには、それらのプロセッサが適しています。
Xeon および Opteron のプロセッサアーキテクチャは、内部の細かい設計とプラットフォーム実装の点で異なって
います。Xeon のパイプラインは高いクロック速度に最適化されており、Opteron は並行処理に最適化されていま
す。プラットフォームアーキテクチャの点では、Xeon プロセッサは、メモリコントローラとして機能する単一のノース
ブリッジを備えた従来のフロントサイドバス テクノロジを使用します。Opteron はコアプロセッサ速度で動作する
内蔵メモリコントローラを使用します。メモリインタフェースにより、広い帯域幅と低いレイテンシが実現されていま
す。同様に、Opteron は I/O サブシステムに HyperTransport ポイントツーポイント インターコネクトを使用し、そ
れにより広い帯域幅を獲得しています。内蔵メモリコントローラとポイントツーポイントの I/O 接続の使用によりパ
フォーマンスが大幅に向上したように見えるため、Opteron は多くの場合、特に 4-Way システムで、Xeon よりパ
フォーマンスの優れたシステムとなります。典型的なベンチマークを用いた最近のテスト結果によると、4-Way の
ProLiant DL585 は、トランザクション処理、メッセージング、および SAP データベース構成といった点で非常に優れ
たパフォーマンスを示しています。また、EDA アプリケーションにおいても最大実メモリ容量のベネフィットを生か
す利用が可能です。
27
付録 A TPC-C ベンチマークでの ProLiant DL585 システムの構成
以下の情報は、HP Webサイト(http://h18004.www1.hp.com/products/servers/benchmarks/index.html)に
ある「New HP ProLiant DL585 with AMD Opteron processors achieves top 4-way 32-bit computing x86 TPC-C
performance results」に基づいています。
2004 年 5 月、新しい HP ProLiant DL585 サーバは、Microsoft Windows Server 2003 Enterprise Edition オペ
レーティングシステムでの TPC-C ベンチマークで、x86 4-Way32 ビットコンピューティングサーバの最高記録を樹
立し、パフォーマンス第 1 位の座を獲得しました。今回達成したパフォーマンスと価格性能比は、105,687tpmC
で 3.23 ドル/tpmC になります。2 番目の TPC-C ベンチマークは 64GB のメモリを使用して実施されており、結果
は Xeon のシステムに対して 20%優れたパフォーマンスを示しています。ただし、ベンチマークは、更新されたオ
ペレーティングシステムが実運用で利用できるようになってから公表される予定です。
表 A1. x86 4-Way32 ビットコンピューティングの上位サーバに関する TPC-C システム構成
システム構成
TpmC
$/tpmC
オペレーティングシステムとデータベース
発売時期
HP ProLiant DL585 4P, AMD
Opteron Model 848, (2.2
GHz), 1MB L2 キャッシュ, 32 GB
RAM
105,687
$3.23
Microsoft Windows Server 2003
EE, Microsoft SQL Server 2000 EE
SP3
05-03-04
IBM eServer xSeries 365 c/s 4P,
3.0 GHz, 4 MB L2 キャッシュ, 32
GB RAM
102,667
$3.52
Microsoft Windows Server 2003 EE w
QFE, Microsoft SQL Server 2000 EE
SP3 w QFE
03-31-04
IBM eServer xSeries 445 4P, 2.8
GHz, 2 MB L2 キャッシュ, 32 GB
RAM
90,271
$3.97
Microsoft Windows Server 2003
Enterprise Edition, Microsoft SQL Server
2000 Enterprise Ed. SP3 w QFE
12-31-03
Dell PowerEdge 6600 4P, 2.8 GHz,
2 MB L2 キャッシュ, 32 GB RAM
84,595
$3.58
Microsoft Windows2003 Enterprise
Server, Microsoft SQL Server 2000 SE
12-30-03
RackSaver Quatrex 64 Server, 4P
AMD Opteron 844 1.8 GHz with
1MB L2 キャッシュ, 32 GB RAM
82,226
$2.72
Microsoft Windows SQL Server 2000
Enterprise Edition SP3, Windows Server
2003 Enterprise Edition, Windows
2000 Server
10-21-03
Dell PowerEdge 6650, 4P Intel Xeon
MP 2.0 GHz, 2MB L2 キャッシュ,
32 GB RAM
71,586
$5.10
Microsoft Windows SQL Server 2000
Enterprise Edition SP3, Windows Server
2003 Enterprise Edition
03-31-03
Fujitsu-Siemens Primergy R450 c/s
4P Intel Xeon MP2.0 GHz, 2MB iL3
キャッシュ, 16 GB RAM
68,264
*
Microsoft Windows SQL Server 2000
Enterprise Edition SP2, Microsoft
Windows 2000 Advanced Server SP
05-03-03
* R450 についてはユーロドルで計算されているため、他の結果と直接比較できません。
28
付録 B 単位
表 B1.
省略記法
指数表記
バイト数
1 つ下の単位との関係
ギガバイト
[G/GB]
230バイト
1,073,741,824 バイト
1024MB
テラバイト
[T/TB]
240バイト
1,099,511,627,776 バイト
1024GB
ペタバイト
[P/PB]
250バイト
1,125,899,906,842,624 バイト
1024TB
エクサバイト
[E/EB]
260バイト
1,152,921,504,606,846,976 バイト
1024PB
詳細情報
詳細については、以下のリソースを参照してください。
リソース名
Web アドレス
AMD Web サイト
www.amd.com/
Opteron 技術文書
AMD64 技術文書
Anandtech Web サイト
www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_739_9003
,00.html
www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_739_7044
,00.html
www.anandtech.com/
一般的なプロセッサ アーキテクチャ、Intel アー
キテクチャ、および AMD アーキテクチャに関す
る情報があります。
Ars Technica Web サイト:
www.arstechnica.com
一般的なプロセッサ アーキテクチャ、Intel アー
キテクチャ、および AMD アーキテクチャに関す
る情報があります。
ハイパースレッディング情報(Intel 提供)
www.intel.com/technology/hyperthread
ハイパースレッディング情報(HP 提供)
Web ページ
技術概要「Intel Hyper- Threading
Technology」2003 年 3 月、
TC030306TB
http://h18004.www1.hp.com/products/servers/technology/hyper-threading.
html
ftp://ftp.compaq.com/pub/supportinformation/papers/c030306tb_rev0_us.
pdf
HP Web サイト
ProLiant DL サーバ
http://h18004.www1.hp.com/products/servers/platforms/index-dl.html
Itanium サーバ
www.hp.com/products1/itanium/infolibrary/
業界標準のサーバテクノロジに関する文書
www.hp.com/servers/technology
「Intel processor roadmap for
industry- standard servers」技術概要
Intel
http://h20000.www2.hp.com/bc/docs/support/SupportManual/c0016425
5/c00164255.pdf
www.intel.com/
29
ご意見をお寄せください
ISSテクノロジ情報に関する皆様のご要望をよりよく理解し、お応えできるようにするために、本書に関するコメント
を[email protected]までお送りください。
© 2004 Hewlett-Packard Development Company, L.P. 本
文書に記載の事項は、予告なく変更されることがあります。
HP 製品およびサービスの保証は、各製品およびサービスに
添付された保証書に記載の明示保証のみとなります。追加
保証に違反すると解釈される事項は、本文書に一切記載さ
れていません。HP は、本文書に記載の技術上、編集上の過
失または不作為に対し、法的責任はありません。
Intel、Xeon、および Pentium は、アメリカ合衆国または諸外
国における、Intel Corporation またはその関連会社の商標
または登録商標です。
Microsoft、Windows、および Windows NT は Microsoft
Corporation の米国の登録商標です。
AMD、AMD Arrow ロゴ、AMD Opteron、AMD Athlon、お
よびこれらの後に続いて記載されている AMD-8111、
AMD-8131、AMD-8132、AMD-8151 は、Advanced
Micro Devices, Inc.の商標です。
HyperTransport は HyperTransport Technology Consortium
の許諾商標です。
TC040902TB, 2004 年 9 月
Fly UP