トピック
CPUを評価する時に最も注目すべき「リアル・ワークロード」とは?
- 提供:
- インテル株式会社
2022年1月17日 06:30
半導体メーカーのインテルは、インテル Xeonブランドのデータセンター向けCPUを長年供給しており、現在ではデータセンター向けのCPUの大多数を同社の「インテル Xeon スケーラブル・プロセッサー」(以下、Xeon SP)が占めるまでになっている。現在世界各地に建設されている大規模データセンターにXeon SPは多数採用されており、スマートフォンやPC、さらには自動運転自動車などエッジデバイスがウェブ・アプリケーションやクラウドストレージなどを利用するためのインフラを提供している。
そうしたXeon SPの最新製品は第3世代インテル Xeon スケーラブル・プロセッサー(開発コードネーム:Ice Lake)で、2022年には次世代製品となる開発コードネーム「Sapphire Rapids」を投入する計画になっている。
インテルでデータセンター向けプロセッサーの評価を担当しているインテル コーポレーション データ・プラットフォーム事業本部 シニア・データセンター・パフォーマンス部長 デビッド・ヒル氏に、そもそもデータセンター向けプロセッサーの性能とはどのようなもので、どこを注意して評価していけば良いのかについてお話を伺ってきた。
コンピューターの性能を本当に表現する「リアル・ワークロード」
インテルで専門家としてデータセンター向けプロセッサーの評価をリードする、インテル コーポレーション データ・プラットフォーム事業本部 シニア・データセンター・パフォーマンス部長 デビッド・ヒル氏は、データセンターを評価するベンチマーク・プログラムには4段階のレベルがあり、それぞれ目的に応じて使い分ける必要があると指摘する。
「インテルでは、ベンチマーク・プログラムを4つのレベルに区分けしている。それがマイクロベンチマーク(Micro Benchmarks)、標準ベンチマーク(Standard Benchmarks)、アプリ特定型ベンチマーク(App-Specific Benchmarks)、顧客アプリケーション(Customer Applications)という4つだ」(ヒル氏)。
利用するベンチマーク・プログラムが何をしているのかを詳しく分析することで、4つの種類のベンチマーク・プログラムに分類し、目的と用途に応じてデータの活用を行うことが必要だというのだ。
そもそもベンチマーク・プログラムとは何かと言えば、コンピューターに特定の用途をさせてみて、その結果(例えば、かかった時間の計測)を数値化し、公平に比較できるようにするものだ。コンピューター業界では、古くからこうしたベンチマーク・プログラムが性能の指標として使われてきた歴史がある。
同じことをやらせてその性能を評価しているのだから、その数字をもって簡単に比較できると、多くの読者は考えるのではないだろうか。しかしヒル氏によれば、同じ数字であっても、ベンチマーク・プログラムがそれぞれやっていることにより、計測している部分は違っており、それを正しく理解する必要があるというのだ。
それはどういうことかを直感的に理解していただくために、自動車の性能の指標について考えてみよう。古くから自動車の性能指標として使われてきた数字に馬力がある。馬力とはピーク時にエンジンが発揮することができる出力を馬1頭分に例えたモノだ。160馬力よりも260馬力の車の方がより高いパワーを出せる、それはすぐに理解できるだろう。
しかし、自動車が走るコースが直線だけであれば馬力は最も重要な性能指標だが、実際には自動車は直線ばかりを走っているわけではなく、コーナーがある道を走っている。高速道路は直線が多いかもしれないが、高速道路を走った後に、箱根スカイラインのようにコーナーばかりの道を走るかもしれない。その時には、ハンドリング性能やブレーキ性能なども含めて、エンジン以外の要素も性能としては重要になってくるのだ。
このため、近年の自動車、特にスポーツカーのような性能が重視される車では、実際にサーキットを走らせてみてどんなタイムが出るかで優劣を競っていることが少なくない。言い換えれば、直線ばっかり速い車である「直線番長」ではなく、直線もコーナーもしっかり速い自動車こそが“本当に速い車”ということになる。
ヒル氏が言っているのは、コンピューターの評価も同じだということだ。例えば、メモリー帯域幅を計測するベンチマーク・プログラムであれば、メモリーという一部分を図るものだし、CPUの性能を測るベンチマーク・プログラムも、CPUという一部分を計測しているだけで、自動車で言えばエンジンの馬力を競っているのと同じことだというのである。
それに対して、実際にユーザーが利用しているようなアプリケーションを使って、CPUだけでなく、メモリー、ストレージといった周辺部分を含めて総合的に計測すれば、自動車をサーキットで走らせてそのタイムで優劣を決めるような、よりユーザーの利用環境に即したベンチマークになるという。
そうした直線番長なサーバーを買うのではなく、どんなシーンでも本当に速いサーバーを買うのに理解する必要があるのが「リアル・ワークロード」というキーワードであると、ヒル氏は強調する。
4つの種類のベンチマーク・プログラム、最も重要なのは「顧客アプリケーション」での性能比較
「リアル・ワークロード」を理解するには、ヒル氏が言う4つの種類のベンチマーク・プログラムがなんであるかを、正しく理解していく必要がある。
①マイクロベンチマーク(Micro Benchmarks)
簡単に言うと、デバイス単位での性能を計測するベンチマーク・プログラムのこと。例えば、CPUに特定の処理を行ってその時間を計測するタイプのベンチマーク、あるいはメモリーの帯域幅を計測するベンチマークや、ストレージのスループットを計測するベンチマーク・ツールなどがそれに該当する。
ヒル氏によれば、こうしたマイクロベンチマークは、CPUの性能を古い世代と新しい世代で差分を比較したい場合などには有効とのこと。そして、メモリー帯域幅やストレージのスループットが性能に影響するアプリケーションを利用している場合には、有益なテストになる。
その一方で、システム全体の一部分の性能を計測するテストになるので、車に例えれば「馬力だけ」といった、偏った性能を測ることになりがちである。
マイクロベンチマークの例としては、STREAM、LMbench、FIO、iperfが挙げられる。
②標準ベンチマーク(Standard Benchmarks)
標準ベンチマークに分類されるのは、データセンターの世界で一般的に使われている、SPEC(Standard Performance Evaluation Corporation)が提供する業界標準のベンチマーク・テストだ。SPECcpu、SPECjbb2015、SPECvirtなどがこれに該当する。一般的に、サーバーベンダーやCPUベンダーが公表する性能のスコアは、SPECのベンチマーク・プログラムが多い。
ただし、例えばSPECcpuなどはCPU単体の性能は示しているが、メモリーやストレージといったシステム全体の性能は含んでいないことが多いので、同時にマイクロベンチマークでもある。公平なモノサシとしての意味はあるが、その性能すべてがサーバーの性能を示しているわけではないことには注意が必要。
③アプリ特定型ベンチマーク(App-Specific Benchmarks)
アプリケーションを利用して、特定の動作をさせることでスコアを記録していく形のベンチマーク・プログラム。最大の特徴は、実在するアプリケーションを用いて、スクリプトなどの自動実行機能を活用して特定の動作をさせ、それにかかった時間を計測している点で、それによって相対的なスコアを導き出す。
①マイクロベンチマークと②標準ベンチマークでは、特定のユースケースを再現すべくプログラムが作られているが、実際のアプリケーションをバイナリーやコードなどを利用して実行するため、ユーザーが実利用環境で得られる性能をよりリアルに計測できる。
TPC-E/H、SAP BW for SAP HANA、TPCx-BB、VMmarkなどがこれに該当する。
④顧客アプリケーション(Customer Applications)
ヒル氏が「顧客アプリケーション」と呼んでいる4つ目のベンチマークこそ、実際にユーザーがシステム上で利用しているプログラムそのものだ。例えばエンタープライズなら、データセンターでインメモリーデータベースのSAP HANAを動かしているだろう。それなら実際に、HANAを動かした時にどちらの方がより大容量のデータを短時間で処理できるのかなどを計測した方が、実際にユーザーが動かす環境に近い性能差を把握できるわけだ。
言ってみれば、これは自動車をサーキットで走らせてみて、どちらの方が速いタイムを刻むことができるのかに近いテストであろう。つまり、サーバーの本当の総合性能を競うベンチマーク・プログラムと言える。
リアル・ワークロードでの性能を調べるには、ホンモノのアプリケーションを使って評価することが重要
ヒル氏は「例えば、SQLのようなデータベースやSAP HANAのようなインメモリーデータベースでも、現時点でも世界中のサーバーCPUの1/3のサイクルはデータベースを動かすために使われており、世界各地のデータセンターでデータベースが動かされている。気象シミュレーションやモンテカルロ・ファイナンス・シミュレーションなどのHPC(ハイパフォーマンス・コンピューティング)のアプリケーションを好むユーザー層も多い。また仮想化環境で運用しており、様々なワークロードを高性能で実行できる性能が欲しいというのが現在の大多数だ。
このように、ユーザーの実利用環境では、ある日はデータベースを使う、別の日はこれを使うといったように、利用するアプリケーションは常に変化している。従ってわれわれは、誤解を招く可能性がある1つのベンチマークだけに焦点を当てるのではなく、幅広いリアル・ワークロードのベンチマークを表示し、ユーザーが実際に何を得られるのかを分かるようにしたいと考えている」と述べ、そうしたリアル・ワークロードでの性能を計測するベンチマーク(具体的には④の顧客アプリケーション)を多数実行し、その性能を比較することが一番顧客にとってメリットがある比較だと強調した。
これは最初の自動車の例で言えば、①のようなマイクロベンチマークは、エンジンの馬力を測るなどの車両の性能のうち一部分を計測しているのに過ぎない。このため、馬力はとてもあるけれど、ブレーキ性能やハンドリング性能はイマイチでコーナーは遅いといった、車両全体の性能を測ることができないという意味では、実際にサーキットを走らせてみて、全体の性能を測るべきだということだ。
しかし、サーキットも直線がほとんどでコーナーがほとんどないオーバルサーキットのようなコースもあれば、直線とコーナーをバランスよく配置したサーキット、逆にコーナーばかりで直線がほとんどないサーキットなど、様々な種類のコースがある。
そうした複数の種類のサーキットは、アプリケーションの種類だと考えれば分かりやすい。本当に速い車というのは、そうしたあらゆる種類のサーキットで速い車のことだ、というのは論をまたない。それと同じように、サーバーも1つのアプリケーションだけでなく、複数の種類のアプリケーションで速いサーバーこそが本当に速いサーバーだということが、それが「リアル・ワークロード」の本当の意味だと言える。
情報を入手するにはOEMメーカーのデータ、テックメディアの記事、インテルの営業に連絡という3つの方法がある
それではそうしたベンチマーク・データはどのようにして手に入れたら良いのだろうか? ヒル氏によれば、具体的には3つの方法があるという。
(1)OEMメーカーが公開しているデータ
「Dell Technologies、HPE、富士通などのインテルの顧客であるOEMメーカーがspec.orgやtpc.orgなどで様々なサーバーのデータを公開しており、SPECやTPCといった業界標準のベンチマークのスコアを直接確認できる」(ヒル氏)との言葉の通りで、インテルのOEMメーカーとなるサーバーメーカーは、自社のウェブサイト、またSPECやTPCのウェブサイトにおいてベンチマーク・データを公開している。そうしたデータを参照して、インテルのCPUを搭載した製品、競合他社のCPUを搭載した製品の性能を比較することができる。
(2)テックメディアなどに掲載されている報道用のデータ
ヒル氏が2つ目として指摘したのは、本誌を始めとしたテックメディアで公開されているベンチマークの結果だ。インテルや競合メーカーは、自社製品を発表する時に、報道用の資料として各種のベンチマーク・データを公開するのが通例である。
そうした中には前の世代との比較データ、そして競合との比較データが含まれている。もちろん、そうしたデータは自社に有利なモノが選ばれるのが通例なのだが、両者のデータを見比べてみると、それぞれの強み弱みが見えてくることがあり、参考になるデータと言えるだろう。
・第3世代インテル Xeon スケーラブル・プロセッサー発表時に、インテルが報道関係者に公開したプレスキット
https://www.intel.com/content/www/us/en/newsroom/resources/3rd-gen-intel-xeon-scalable.html#gs.jhcp3i
・第3世代インテル Xeon スケーラブル・プロセッサー発表時のプレゼンテーション
https://newsroom.intel.com/wp-content/uploads/sites/11/2021/04/3rd-Gen-intel-Xeon-Scalable-Platform-Press-Presentation-281884.pdf
・(本誌記事)第3世代Xeon SPは競合より最大1.5倍高速。40コア化やメモリ/キャッシュも改善
https://pc.watch.impress.co.jp/docs/column/ubiq/1316935.html
(3)インテルがプライベートに顧客に公開しているデータ
ヒル氏によれば「通常、テックメディアなどに対して提供するデータやサーバーメーカーが公開するデータは、最上位SKUの製品のデータになる。ただ、VMwareのライセンス単位では、32コアが1つの単位として課金されることになるため、32コアのSKUが売れ筋となっているという現実もある。そのため、メインストリーム向けの32コアでの性能を知りたいというお客さまも少なくない。そのような時には当社の営業にご連絡を頂ければ、そうしたデータを開示することもできる」との通りで、インテルの営業が顧客に対して必要なデータを提供する場合もあるという。
より大規模にデータセンターなどにサーバーCPUを導入しようと検討しているエンタープライズなどの場合には、直接インテルの営業に連絡を取り、検討してみるのも1つの手だろう。