伸び悩むXEONの演算性能

IvyBridge-EP の12コア最上位品がTB-ALL 3.0GHzでAVXをフル活用した場合のピーク性能は
 単精度:12コア × 16演算機 × 3.0GHz = 576GFLOPS
 倍精度:12コア × 8演算機 × 3.0GHz = 288GFLOPS

IntelのCPUは演算機がLINPACK向けに設計されています。これはLINPACKが大量需要家の性能指標になっているので商業的には正解な面がありますけど、実務的に発生する任意精度演算や順次演算向けに最適化された設計ではないですし、多数の仮想マシンが同時に演算する様にも設計されてはいません。もちろんそれらをソフト的には実現可能だけれどもハードがそうは設計されてないので、実際にはピーク性能からは程遠い性能になってしまいます。簡単に言えばXEONのピーク性能は12×16=192それ以上に細分化して並列化できる演算に限った性能指標だからで、もうすでに超並列ベクトル演算機と言っても良い状態です。

続いてHaswell-EPを見てみましょう。

Haswell-EP の18コア品が定格2.3GHzでAVX2を利用した場合にどうなるか?
 単精度:18コア × 16演算機 × 2.3GHz = 662GFLOPS
 倍精度:18コア × 8演算機 × 2.3GHz = 331GFLOPS

この様に、僅かに1割増し程度の性能向上しか達成していない様にも見えます。
整数演算機が128Bitから倍の256Bitに成ったので整数の“並列演算”に限っては倍速化していますが、その他についてはわずかな性能向上しか達成できていない様に思われますし、次の世代ではもうこの手法も使えないでしょう。

こんな簡単な事はIntelの技術者自身判っている事だと思いますので、それを見越してだと思うのですがいくつかの新機能が盛り込まれています。

1:AVX命令を利用する際の特殊なTB(ターボブースト)モード
2:DC-DCコンバータをCPUに内蔵(その結果TDPが10W程度増えた)
3:コア集団を論理的に分割し、キャッシュコヒーレンシの負荷低減
4:仮想化の補助機能追加

DC-DCコンバータをCPUに内蔵した理由は、CPUコア全体の温度(つまりTDP)を維持しながら必要な回路だけ局所的に電圧を盛る為の様ですが、しかし、こんな小細工をしないと性能が上げられない所まで来ちゃったという見かたも出来そうです。これによりAVX2の演算回路をピンポイントで集中的に利用するLINPACKの様なベンチマークのスコアを2.3GHz定格では出せない様な高スコアへと引き上げているのだと思われます。

色々と驚くような新技術を投入している一方で、しかしながら、SuperPIの様に、もう何年も処理速度がほとんど向上しないものもあります。ソフト側が最適化してないのが悪いという意見が出そうですが、これはひとえにXEONの演算性能は固定精度の整数や浮動小数のベクトル演算機としての性能向上に重点を置いているからでもあり、またそうでなければ技術的にも既に上限に達しているのかもしれません。クロック以外の方法で、かつ並列化しないで速度を向上する手法は本当に無いのでしょうか?

任意精度演算や順次演算の性能向上は長期に渡り置き去りにされ、多数の仮想マシンを動かす様なクラウドインフラではARMグリッドの様なものに置き換わってゆく運命なのかもしれませんね・・・

そういえば、LLCが45MBに増えていますが、これ、SuperPIの419万桁に必要な32MBのメモリ容量がすっぽり収まりますね。リングバスを跨るのは仕方ないとしても少しはみ出しちゃう30MBのIvyBridge-EPと比べてみたいです。というかメインメモリをLLC並みの高速SRAMにする様なアプローチって駄目なんだろうか???恐らく技術的には可能でも商業的に大人の事情で実現しないのでしょうね・・・256MBのLLCがあればSuperPIは全ての桁をCPU内部のみで演算完結出来るのですが、はたしてそこまでの容量が達成出来る日は来るのだろうか?

例えば↓の写真はHaswell-EP 18コア品のものです。
Haswell-EP-18Core.jpg
1コアあたり2.5MBのLLCが付いておりコアとLLCの面積比で概ね1:1.5程度です。
これを乱暴に同一面積のダイ上に2コア残して他のコアをLLCに置き換えてみますと、
(18コア - 2コア) × 1.5倍面積 × 2.5MB + 45MB = 合計105MB
更に2コアに減らした事で不要になるリングバスやバッファスイッチが占める面積もLLCに置き換えれば面積的には同一サイズのダイ上に128MBくらいはLLCを搭載出来そうです。

実用的な最初のWindowsはWindows2000だと筆者は思うのですが、Windows2000はメインメモリ128MBでも普通に動きます。WindowsXPさえも動作要件として128MBのメインメモリとなっています。とは言えメインメモリ128MBだとスワップが必須ですが、スワップにDRAMを使えばよいと思うのです。Haswell-EPの物理メモリ上限は1.5TB768GB(Dual-Socketなら1.5TB)です。メインメモリ128MB(LLC)+ストレージ768GB(Quad-Channel DDR4-NVDIMM w/ECC)こんな構成のPCが有ったら、もの凄く快適なんじゃないか?と思うのは筆者だけでしょうか?
関連記事
スポンサーサイト

コメントの投稿

非公開コメント

No title

わたし個人的には環境設定等の使いやすさはともかくとして
NT4.0で安定して使っていたので、一定の到達点に来たのだろうと
思っています。

PentiumⅣ世代のXEON(というよりCPU)あたりから、クロックを
上げることの限界性から、並列処理に舵を切った感がありましたが
いずれ限界が見えてたことも指摘されていたように思います。

とはいえ、個人レベルでは十分以上の水準に達したので、さらなる
高性能のCPUのアーキテクチャを開発する見返りは、次第に薄れ、AMDですら、一般向け以外は脱落したように見えます。

Re: No title

> わたし個人的には環境設定等の使いやすさはともかくとして
> NT4.0で安定して使っていたので、一定の到達点に来たのだろうと
> 思っています。

そうですね、NT4.0が今のMS製OSのベースだと思います。

> PentiumⅣ世代のXEON(というよりCPU)あたりから、クロックを
> 上げることの限界性から、並列処理に舵を切った感がありましたが
> いずれ限界が見えてたことも指摘されていたように思います。

そうですね。P3からP4の時に、そうなりましたね。HTTがそうですし。

> とはいえ、個人レベルでは十分以上の水準に達したので、さらなる
> 高性能のCPUのアーキテクチャを開発する見返りは、次第に薄れ、
> AMDですら、一般向け以外は脱落したように見えます。

Bulldozerですよね。定格が 5GHz 200W↑ですからね。

何か他にあると思うんですけどね・・・

No title

分子コンピュータと違いますやろうか。

現行のシステムだと、ラックで疎結合になるんでしょうが
普通の家(とりわけ集合住宅)だと電力面でアウトでしょうね。

それにしてもopteronは田舎以外でも見なくなりました。
プロフィール

DualSocketTheWorld

Author:DualSocketTheWorld
自作を始めて20台目くらいになりますが、最初からデュアルソケット限定(始めた当時はデュアルスロット)で自作しており、近年になってAMD K6を試したくなりSocket7でK6-2+のシングル構成で組んだのがシングル初です。

シングルマザー(含:シングルソケットマルチコア)や4ソケット以上の自作は基本的にしませんし、メーカー製PCの改造も基本的にはしません(ノートPCのSSD化くらいはしますが・・・)

基本路線はワークステーションと呼ばれる分野での自作で、OSもWindows系であればProfesionalが主な対象に成ります。

ゲーマーの様なOverClockは行わず、WS路線としてハイエンドCPUとハイエンドGPUの組み合わせで定格或いはDownClockで発熱を抑えつつ、その時のアーキテクチャに置いて爆速かつ静音を目指し、30年以上の長期に渡り稼動状態をキープする事を目指します。

※基本的にリンクフリーです。どこでも自由にどうぞ。

※画像は時々変ります。

※お決まりの文章ですが、改造は個人の責任で行ってください。ここに記載された情報は間違いを含んでいる可能性が有り、それを元に製作や改造などをして失敗しても筆者は一切責任持てませんので悪しからず。

筆者略歴:
小学生時代にゴミ捨て場で拾ったジャンクテレビ数台を分解して部品を取り出し真空管アンプを自作、中学生時代にPC8801mkⅡsrでZ80アセンブラを始める。社会人になって初のプログラムは弾道計算、後に医療系・金融系プログラマ~SEを経て100~200人規模プロジェクトのジェネラルマネジャを数年経験、独立して起業。現在は不動産所得で半引退生活。
(人物特定を避ける目的で一部経歴を変更しています)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR