IBM i のウンチクを語ろう
~ その65:Power10 はどれだけ速いのだろう
皆さん、こんにちは。9月8日付けでPower10プロセッサ搭載Power E1080サーバーが発表されました。様々なメディアでも取り上げられましたので、既にご存知の方も多数いらっしゃるものと思います。AI推論機能の取り込みやセキュリティ、可用性・信頼性の向上もハイライトの一部ですが、従来のPower9に比べてどのくらい性能が向上しているのか、という点に目を向けずにはいられません。新しいPower10システムにおいては、プロセッサの高速化だけでなく、DDR5メモリや第五世代のPCIeバス(PCIe G5)の採用など、いくつかのテクノロジーが刷新された効果も期待できます。ちなみにPower9システムにおいては、それぞれ一世代前のDDR4メモリとPCIe G4バスが採用されていました。今回のテーマは、IBM i ないしシステムの視点から新システムの性能向上を眺めてみようというものです。
IBM i の性能と言えばまずはCPW値を知りたいところです。IBM i のパフォーマンスに関する2021年9月版の最新ドキュメント「IBM Power Performance Capabilities Reference」に公開されている数値をまとめると、以下の表のとおりとなります。チップあたりのコア数(10・12・15)とそれぞれに割り当てられたクロック・スピードの観点から、Power10プロセッサには3種類のパッケージングがあります。
【 E1080 CPW 】
チップコア数 | クロック(GHz) | 1 ノード | 2 ノード | 3 ノード | 4 ノード |
---|---|---|---|---|---|
10 | 3.65-3.9 | 1 x 40コア | 2 x 40コア | 3 x 40コア | 4 x 40コア |
922,000 | 1,834,000 | 2,756,000 | 3,678,000 | ||
12 | 3.60-4.15 | 1 x 48コア | 2 x 48コア | 3 x 48コア | 4 x 48コア |
1,129,000 | 2,246,000 | 3,375,000 | 4,504,000 | ||
15 | 3.55-4.0 | 1 x 60コア | 2 x 60コア | 3 x 60コア | 4 x 60コア |
1,320,000 | 2,626,000 | 3,946,000 | 5,266,000 |
ざっと計算してみると、15コアチップにおける最低値でも、そのコアあたり性能は22,000CPW近くにまで達しています。参考までにサンプルとして似たようなPower9モデル構成の性能値を拾ってみると以下のとおりですので、60%以上の向上が図られています。
【 E980 CPW 】
チップコア数 | クロック(GHz) | 1 ノード | 2 ノード | 3 ノード | 4 ノード |
---|---|---|---|---|---|
12 | 3.55-3.9 | 1 x 48コア | 2 x 48コア | 3 x 48コア | 4 x 48コア |
687,500 | 1,368,000 | 2,055,600 | 2,743,000 |
さらにPower8世代にまで遡って類似構成のシステムを探してみると、2016年9月に発表されたPower E880Cが見つかります。CPW値は以下のとおりですので、二世代・約5年を経て2.2倍以上の性能向上が達成された事になります。
【 E880C CPW 】
チップコア数 | クロック(GHz) | 1 ノード | 2 ノード | 3 ノード | 4 ノード |
---|---|---|---|---|---|
12 | 4.02 | 1 x 48コア | 2 x 48コア | 3 x 48コア | 4 x 48コア |
491,060 | 980,230 | 1,470,340 | 1,961,410 |
ところで私達がよく参照するCPWとはどのような指標なのでしょうか。これはCommercial Processing Workload ratingの頭文字をとったもので、同時に複数ユーザーが、オンライン型のIBM i 用ビジネス・アプリケーションを稼働させた際の、トランザクション処理総量すなわち仕事量、またはスループットを各モデル間で比較するための相対的な性能値です。ビジネス・アプリケーションを想定しているわけですから、プロセッサだけでなく、メモリ、システム・バス、ストレージといった各コンポーネントを含む、総合的なシステムとしての性能が反映されます。あくまでも比較のための参照値であり、より大きな数値を追求する事を目的としてはおりませんので、性能測定上はオーバーヘッドであるIBM i の強固なセキュリティは有効にしたまま、システム設定など特別なチューニングは施さない、という点が通常のベンチマークとは異なります。
CPW値は並列度が低いジョブ、典型的にはバッチ型アプリケーションの処理時間の予測にはあまり役立たない点に注意する必要があります。このようなアプリケーションにおいては、プロセッサのクロック・レート、システム・バスのデータ転送速度、ストレージ読み書きやソフトウェア上の待ち時間、などがより重要な要素であって、CPWのようにシンプルな指標は存在しません。
私達は「性能」という言葉をもって、仕事量(スループット)と処理時間(スピード)という、全く異なる二つの概念を表現しています。そして両者は相反することすらある点に注意しておきたいと思います。例えば2人までしか乗れないかも知れませんが、スーパーカーならば200Kmの距離を1時間で走れるとしましょう。実際には走り切る前にどこかで捕まってしまうと思いますが。一方で大型バスは40人を乗せられますが、同じ距離を2時間かけて走るかもしれません。ここでスピードに着目すれば、スーパーカーは大型バスの2倍の性能を持っています。輸送量、すなわち定められた時間内に運べる距離と人数の積に着目すれば、大型バスの性能はスーパーカーの10倍と圧倒的です。どちらがより優れた性能を持っているのかという判断は、どのような観点から評価するのかに依存しています。そしてIBM i はビジネス用途のサーバーと位置付けられていることから、仕事量を表すCPWという指標を主に用いています。
ここまでCPWという値を通じてPower10の性能について話を進めてきたわけですが、あくまでも「井の中の蛙」ならぬIBM i の世界の中の議論でした。他サーバーとの比較のためには、中立的で多くのベンダーが参加していて、世間一般に通用する指標が必要です。有名なものの一つに非営団体であるSPEC(Standard Performance Evaluation Corporation)が提供するベンチマーク・プログラムがあり、このメンバーであるIBMはAIXを前提に測定値SPECrate2017_int_baseとSPECrate2017_int_peakを公開しています。これは整数演算におけるプロセッサ、メモリ、コンパイラのスループットを測定する指標です。そして標準的なコンパイル・オプションによって生成された実行プログラムによる結果が前者のbase、各サーバー向けに最適化された結果が後者のpeakです。ここではpeakを前提に、プロセッサ・コアあたりの性能に着目してベスト5を眺めてみましょう。以下は9月30日にSPECサイトからCPU2017結果の全てをCSV形式でダウンロードして、コアあたりのSPECrate2017_int_peak、すなわちPeak結果(Peak Result)をコア数(#Cores)で割り算した結果を大きい方から順に並べたものです。Power10搭載Power E1080は二位以下を大きく引き離したダントツのトップです。
システム | Peak結果 | コア数 | Peak結果÷コア数 |
---|---|---|---|
IBM Power E1080 (3.55 - 4 GHz, 120 core, AIX) | 2,170 | 120 | 18.08 |
ASUS RS720A-E11(KMPP-D32) Server System 3.70 GHz, AMD EPYC 72F3 | 197 | 16 | 12.31 |
ASUS RS520A-E11(KMPA-U16) Server System 3.70 GHz, AMD EPYC 72F3 | 98.2 | 8 | 12.28 |
IBM Power E950 (3.4 - 3.8 GHz, 40 core, SLES) | 475 | 40 | 11.88 |
ThinkSystem SR655 3.70 GHz, AMD EPYC 72F3 | 94.8 | 8 | 11.85 |
ちなみにIBM i を稼働させた際のベンチマーク結果はありません。理由を問われた事があるのですが、基幹業務用途のサーバーとしての位置付けゆえに性能を追求しないから、というのが短い答えです。先に述べたように、各ベンダーは最善のベンチマーク結果を得るために、できる限りのチューニングを施すのが通常です。このような慣習はIBM i 利用環境においてはあまり実情にそぐわないことから、AIXなど他のOSによってシステム性能を追求しています。
ランキングを見ていていくつか気付いた点がありました。
- Power E1080のpeak性能2,170が他に比べて桁違いに大きいのは、120コアを搭載する大規模システムであることによるものです。一般的にコア数が増えるに従い、性能向上の度合いは非効率になってゆきます。すなわちコア数を横軸、性能を縦軸にしたグラフを描くと、右肩上がりの直線にはならず、次第に上昇率が落ちるカーブを描きます。システムとして高性能でありながら、なおかつコアあたり性能も最高値というのは、プロセッサとして極めて優秀であることの証左だと言えるでしょう。
- 一世代前のPower9搭載Power E950も未だに第4位にランクインしているのはさすがですね。IBMのPowerは他社の一歩先を行っていることがわかります。
- 意外だったのは、いわゆるX86プロセッサの中で、元祖であるインテルは34位まで登場しないことです。AMDのEPYC 7003シリーズ搭載機が上位を押さえており、インテルについてはコアあたりPeak性能10.25のXeon Gold 6250搭載機が最高でした。
これまで見てきたのは、言わば現時点における「瞬間写真」です。メーカーがこれまでにどのように各プロセッサを「育てて」きたのか、前記ベンチマーク(SPECrate2017_int_peak)におけるIBM PowerとAMD EPYCプロセッサの世代別最速値を、新しい方から見てみましょう。参考までにEPYCの世代は末尾数字で判別できます。
プロセッサ | システム | 発表年 | Peak結果 | コア数 | Peak結果÷コア数 |
---|---|---|---|---|---|
Power10 | IBM Power E1080 | 2021 | 2,170 | 120 | 18.08 |
EPYC 72F3 | ASUS RS720A-E11 | 2021 | 197 | 16 | 12.31 |
EPYC 7F32 | ASUS RS500A-E10 | 2020 | 80.2 | 8 | 10.03 |
EPYC 7371 | HPE ProLiant DL 385 G10 | 2019 | 217 | 32 | 6.78 |
Power9 | IBM Power E950 | 2018 | 475 | 40 | 11.88 |
Powerでは2018年から2021までの3年間で、11.88から18.08まで52%の性能向上が見られます。年率平均では15%相当です。一方のEPYCでは2年間で82%、年率換算で35%になります。もし両者のペースがこのままで推移するとしたら、計算上は2024年に逆転することになりますが、現実はそこまで単純ではないでしょう。今後の事はわかりませんが、プロセッサ業界はなかなか興味深いものですね。
ではまた。