
その結果、CPU内処理効率に関しては、アプリケーション毎に大きく異なっています。また新世代プロセッサであるAMD Opteron(TM)やNehalemではボトルネックが改善していることが判ります。
次に、CPU間処理効率に関しては、は1世代前のXeon(R)からボトルネックは解消しています。
以上のことより、Nehalemでは、「メモリ性能律速型アプリケーション」についてはさらなるメモリ性能の向上が求められ、要求量はアプリケーションによって大きく異なっていることがわかります。

2CPU機で発生するメモリボトルネックは、2個のCPU間で発生しているのではなく、1個のCPU内で発生していることが知られています。これは実際に「メモリ性能律速型アプリケーション」で並列計算を行った際に、並列化効率が4並列から8並列へ移行する際に大きく低下することとして知られています。これを回避するため従来のXeon(R)ではDual-Core CPUを選択していました。
最初のグラフはシステム内で発生しているメモリボトルネックの様子を示すため、2CPU 8コア機での1ジョブ処理と8ジョブ処理のスループット効率を各アプリケーション別かつCPU世代別に調べた結果です。するとアプリケーションによってスループット効率に大きな違いがあることとCPUによっても効率が異なることがわかります。しかしこのグラフではボトルネックがCPU内で発生しているのかあるいはCPU間で発生しているのかが判りません。そこでSPEC CFP2006の結果を用いて詳しい観察をしたいと思います。
次のグラフはCPU間のメモリボトルネックとCPU内のメモリボトルネックの比較を行うため2種類のグラフに分離しました。
・ CPU内メモリボトルネック観察用グラフ (1CPU機1ジョブ処理と1CPU機4ジョブ処理でのスループット効率を比較)
・ CPU間メモリボトルネック観察用グラフ (1CPU機4ジョブ処理と2CPU機8ジョブ処理でのスループット効率を比較)
左グラフをみると"赤い線"で表記している「CPU性能律速型アプリケーション」は4ジョブ並行処理でも理想的なスループット性能 (100%) を維持していることがわかります。これに対して"青い線"で表記している「メモリ性能律速型アプリケーション」は理想的なスループットには程遠く、従来のXeon(R)では理想値の10%〜40%、現行のAMD Opteron(TM)でも25%〜60%、最新のXeon(R) (Nehalem) でも25%〜60%と、程度に差はありますが、100%のスループット性能は得られていません。
ところが右グラフをみると驚いたことに、CPU間のメモリ競合は2世代前のXeon(R)で少し発生していただけで、それ以降はCPU間のメモリ競合は発生していませんでした。すなわち、従来のXeon(R)ではチップセットとメモリ間の転送性能よりも、CPUとチップセット間を接続するフロントサイドバスにボトルネックが存在していたことになります。従来のXeon(R)でDual-Core Xeon(R)を採用していた理由はここに由来していたようです。
・
メモリボトルネックは同じCPU内のコア間で発生している
・ CPU間のメモリボトルネックは現在は殆ど発生しない
・ CPU間メモリボトルネックが発生したのは2世代前の65nm Xeon(R)まで
・ 激しいCPU内メモリボトルネックが発生するのは「メモリ性能律速型アプリケーション」でまだ解消していない
・ 「メモリ性能依存型アプリ」のボトルネック解消には50GB〜100GB/s/CPU (Nehalem)のメモリ性能が必要
・ 「CPU性能依存型アプリ」では現在のメモリシステムでも十分な性能が得られる
新Xeon(R) (Nehalem) は各CPU上に独立したメモリコントローラを持ち、3チャンネルのメモリポートが実装されており、高速なDDR3メモリを利用できます。そのメモリ性能はDDR3 800MHzで19.2GB/s、DDR3 1066MHzでは25.6GB/s、DDR3 1333MHzでは32GB/sの転送速度を実現します。さらにCPU上には8MBの共有L3キャッシュを搭載し効率の良いメモリI/Oやコア間通信を実現しています。
(表の値はウィキペディアなどを参照して作成)
| メモリ種類 | チップ規格 | モジュール 規格 |
メモリクロック (MHz) |
バスクロック (MHz) |
データ 転送速度 (GB/s) |
CPU | CPU毎の 接続チャネル |
CPU毎の データ 転送速度 (GB/s) |
| DDR2 DIMM | DDR2-400 | PC2-3200 | 100 | - | 3.20 | AMD Opteron(TM) |
2 | 6.40 |
| DDR2-533 | PC2-4200 | 133 | - | 4.27 | 8.54 | |||
| DDR2-667 | PC2-5300 | 166 | 333 | 5.33 | 10.66 | |||
| DDR2-800 | PC2-6400 | 200 | 400 | 6.40 | 12.80 | |||
| DDR3 DIMM | DDR3-1333 | PC3-10600 | 166 | 667 | 10.67 | AMD (Next) |
(4) | 42.68 |
| DDR2 FB-DIMM | DDR2-400 | PC2-3200 | 100 | - | 3.20 | Xeon(R) (NetBurst) (Core) |
(2) | (6.40) |
| DDR2-533 | PC2-4200 | 133 | - | 4.27 | (8.54) | |||
| DDR2-667 | PC2-5300 | 166 | - | 5.33 | (10.66) | |||
| DDR2-800 | PC2-6400 | 200 | - | 6.40 | (12.80) | |||
| DDR3 DIMM | DDR3-800 | PC3-6400 | 100 | 400 | 6.40 | Xeon(R) Core(TM) i7 (Nehalem) |
3 | 19.20 |
| DDR3-1066 | PC3-8500 | 133 | 533 | 8.53 | 25.59 | |||
| DDR3-1333 | PC3-10600 | 166 | 667 | 10.67 | 32.01 | |||
| DDR3-1600 | PC3-12800 | 200 | 800 | 12.80 | - | (3) | (38.40) | |
| DDR3-1800 | PC3-14400 | 225 | 900 | 14.40 | (43.20) | |||
| DDR3-2000 | PC3-16000 | 250 | 1000 | 16.00 | (48.00) | |||
| DDR3-2133 | PC3-17066 | 266 | 1066 | 17.06 | (51.18) |
| SPEC CFP2006 Rates (並行処理性能) | ||||||||
| 世代 | 2世代前 Xeon(R) (65nm) |
1世代前 Xeon(R) (45nm) |
現行 AMD Opteron(TM) (Shanghai) |
最新 Xeon(R) (Nehalem) |
||||
| 製品 | DL140 | DL140 | DL160 | DL160 | DL365 | DL365 | 8200EX | 8200EX |
| CPU | Xeon | Xeon | Xeon | Xeon | AMD Opteron(TM) |
AMD Opteron(TM) |
Xeon | Xeon |
| 製造プロセス | 65nm | 65nm | 45nm | 45nm | 45nm | 45nm | 45nm | 45nm |
| CPU番号 | X5365 | X5365 | X5482 | X5482 | 2384 | 2384 | W5570 | W5570 |
| CPUクロック | 3.0GHz | 3.0GHz | 3.2GHz | 3.2GHz | 2.7GHz | 2.7GHz | 2.93GHz | 2.93GHz |
| チップセット | 5000P | 5000P | 5400 | 5400 | - | - | X58 | X58 |
| メモリ | DDR2 667MHz 16GB |
DDR2 667MHz 16GB |
DDR2 800MHz 32GB |
DDR2 800MHz 32GB |
DDR2 800MHz 32GB |
DDR2 800MHz 32GB |
DDR3 1066MHz 12GB |
DDR3 1066MHz 12GB |
| OS | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Linux |
| コンパイラ | Intel11 | Intel11 | Intel11 | Intel11 | Intel11 | Intel11 | Intel11 | Intel11 |
| CPU 数 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 1 |
| コア数/CPU | 4 | 4 | 4 | 4 | 4 | 4 | 8 | 4 |
| 総コア数 | 4 | 4 | 4 | 4 | 4 | 4 | 8 | 4 |
| 投入ジョブ数 | 4 | 1 | 4 | 1 | 4 | 1 | 8 | 1 |
| SPEC値 | 36.1 | 18.1 | 86.4 | 26.4 | 52.6 | 19.3 | 169 | 37.0 |
| 経過時間(秒) | ||||||||
| bwaves |
2395 | 436 | 2494 | 319 | 1059 | 511 | 617 | 165 |
| gamess | 929 | 956 | 822 | 876 | 1162 | 1200 | 771 | 801 |
| milc | 2584 | 886 | 1465 | 574 | 986 | 443 | 507 | 243 |
| zeusmp | 936 | 595 | 811 | 378 | 635 | 542 | 400 | 276 |
| gromacs | 397 | 380 | 359 | 337 | 472 | 489 | 317 | 302 |
| cactusADM | 1144 | 307 | 928 | 96.6 | 757 | 543 | 502 | 66.8 |
| leslie3d | 2365 | 573 | 1779 | 465 | 1162 | 490 | 613 | 323 |
| namd | 509 | 504 | 465 | 462 | 618 | 635 | 432 | 407 |
| dealII | 580 | 415 | 575 | 391 | 566 | 532 | 384 | 328 |
| soplex | 1677 | 663 | 1406 | 571 | 899 | 535 | 496 | 278 |
| povray | 223 | 221 | 204 | 202 | 308 | 307 | 189 | 181 |
| calculix | 564 | 532 | 383 | 339 | 456 | 453 | 301 | 290 |
| GemsFDTD | 2987 | 640 | 2111 | 358 | 1354 | 579 | 789 | 268 |
| tonto | 744 | 482 | 599 | 485 | 620 | 577 | 412 | 374 |
| lbm | 3657 | 2153 | 2780 | 364 | 1767 | 447 | 1018 | 289 |
| wrf | 1416 | 536 | 1315 | 476 | 802 | 499 | 428 | 274 |
| sphinx3 | 2586 | 890 | 1896 | 676 | 1060 | 761 | 864 | 451 |
※ (お断り) この比較では1CPU機での1ジョブ処理と4ジョブ処理の経過時間に基づいたスループット効率を割り出しています。ところが、Xeon(R) (Nehalem) については目的に適ったテストが行われていませんでした。そこでやむを得ず2CPU 8コア機に8ジョブ投入した際のデータを用いています。しかし、Xeon(R) (Nehalem)は個々のCPU に独立してメモリが搭載されており、複数のCPU間でのスループット効率は100%に近い性能が得られていることを他で確認しているため、2CPUの結果を用いても体制に影響しないことを理解していただいたうえで、結果を見ていただきたい思っております。
| SPEC CFP2006 Rates (並行処理性能) | ||||||||
| 世代 | 2世代前Xeon(R) (65nm Core) |
1世代前Xeon(R) (45nm Core) |
現行AMD Opteron(TM) (45nm Shanghai) |
最新Xeon(R) (Nehalem) |
||||
| 製品 | DL140 | DL140 | DL160 | DL160 | DL365 | DL365 | R670 | M470 |
| CPU | Xeon | Xeon | Xeon | Xeon | AMD Opteron(TM) |
AMD Opteron(TM) |
Xeon | Xeon |
| 製造プロセス | 65nm | 65nm | 45nm | 45nm | 45nm | 45nm | 45nm | 45nm |
| CPU番号 | X5365 | X5365 | X5482 | X5482 | 2384 | 2384 | W5580 | W5580 |
| CPUクロック | 3.0GHz | 3.0GHz | 3.2GHz | 3.2GHz | 2.7GHz | 2.7GHz | 3.2GHz | 3.2GHz |
| チップセット | 5000P | 5000P | 5400 | 5400 | - | - | 5520 | X58 |
| メモリ | DDR2 667MHz 16GB |
DDR2 667MHz 16GB |
DDR2 800MHz 32GB |
DDR2 800MHz 32GB |
DDR2 800MHz 32GB |
DDR2 800MHz 32GB |
DDR3 1333MHz 48GB |
DDR3 1333MHz 12GB |
| OS | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Linux |
| コンパイラ | Intel11 | Intel11 | Intel11 | Intel11 | Intel11 | Intel11 | Intel11 | Intel11 |
| CPU 数 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 |
| コア数/CPU | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| 総コア数 | 8 | 4 | 8 | 4 | 8 | 4 | 8 | 4 |
| 投入ジョブ数 | 8 | 4 | 8 | 4 | 8 | 4 | 16 | 8 |
| 経過時間(秒) | ||||||||
| bwaves |
3279 | 2395 | 2508 | 2494 | 1068 | 1059 | 1123 | 1162 |
| gamess | 929 | 929 | 837 | 822 | 1164 | 1162 | 1435 | 1490 |
| milc | 3522 | 2584 | 1477 | 1465 | 993 | 986 | 797 | 831 |
| zeusmp | 1127 | 936 | 827 | 811 | 650 | 635 | 673 | 650 |
| gromacs | 398 | 397 | 360 | 359 | 473 | 472 | 543 | 558 |
| cactusADM | 1389 | 1144 | 939 | 928 | 773 | 757 | 800 | 788 |
| leslie3d | 3142 | 2365 | 1813 | 1779 | 1167 | 1162 | 1077 | 1157 |
| namd | 512 | 509 | 470 | 465 | 618 | 618 | 651 | 668 |
| dealII | 687 | 580 | 634 | 575 | 595 | 566 | 603 | 607 |
| soplex | 2229 | 1677 | 1443 | 1406 | 923 | 899 | 886 | 913 |
| povray | 225 | 223 | 204 | 204 | 312 | 308 | 295 | 300 |
| calculix | 576 | 564 | 385 | 383 | 461 | 456 | 526 | 545 |
| GemsFDTD | 3954 | 2987 | 2095 | 2111 | 1360 | 1354 | 1372 | 1468 |
| tonto | 868 | 744 | 625 | 599 | 631 | 620 | 726 | 719 |
| lbm | 4486 | 3657 | 2795 | 2780 | 1770 | 1767 | 1761 | 1864 |
| wrf | 1841 | 1416 | 1327 | 1315 | 820 | 802 | 776 | 770 |
| sphinx3 | 3508 | 2586 | 1949 | 1896 | 1114 | 1060 | 1460 | 1485 |
【SPEC CPU2006の公開データを資料として引用】
SPEC, SPECint and SPECfp are resistered trademarks of the Standard Performance Evaluation Corporation. For more information on this SPEC benchmarks see www.spe.org. SPEC and the benchmark name SPEC CPU2006 are registered trademarks of the Standard Performance Evaluation Corporation. Competitive benchmark results stated above reflect results published on www.spec.org as of April 03, 2009. The comparison presented above is based on the best performing 2-cpu servers currently shipping by Intel Corporation, Hewlett-Packard Company, SGI, Fujitsu Siemens Computers For the latest SPEC CPU2006 benchmark results, visit http://www.spec.org/cpu2006/