SMTによる性能向上は簡単ではない
SMT自体はわりと一般的な技法になりつつあるのだが、もちろん欠点もいくつかある。その最大のものは、性能が上がらない、ということだ。
先述のとおり、SMTは空いている実行ユニットを活用する技術だから、これが空いてないとオーバーヘッドが増えるだけである。実際、Pentium 4で採用されたNetburst Architectureの場合、Hyper-Threadingを使わない場合の実行ユニットの利用率は平均30%程度。Hyper-Threadingを有効にすることで、これが50%程度まで高まった、なんていう解析結果がインテル自身から語られるほどに、実行ユニットが空いていたから性能改善の余地が大きかった。
ところが、実行ユニットを効率よく使うNehalemの場合、特にWindows XPあたりで通常のデスクトップアプリケーションを使うと、露骨に性能が落ちるという状況に陥った。このあたりはWindows 7になって、同時に動くプログラムの数が増えたことで多少緩和された(Hyper-Threadingを有効にして性能が落ちるケースはほとんどなくなった)が、30%もの性能アップが見込めるケースはほとんどない。
また消費電力は、特に実行ユニット以外の部分が、2スレッド分の管理が必要になったこともあってむしろ増えており、性能/消費電力比の観点ではむしろ悪化しているケースも見られた。それにも関わらず、インテルがNehalem世代でHyper-Threadingを再び有効にしたのは、特にサーバー向けの分野で大量のデータを処理する際に、Hyper-Threadingによるレイテンシー遮蔽の効果が効きやすいからだ。逆に言えば、デスクトップやモバイルでは、あまり効果が見られないことになる。
もうひとつ致命的なのは、システム全体としての性能は上がっても、1スレッドあたりの性能は変わらないことだ。先ほど「30%向上」と書いたが、あくまでもシステム全体での話である。もっともこれに関しては「いや、ある程度体感できる」という人もいるかも知れないが、これは別の事情による。
特にWindows XP以降では、OSが常時さまざまな処理をしており、これによるオーバーヘッドが馬鹿にならない。そのため1スレッドのCPU(例えばCeleron)を使っていると、アプリケーションの実行中に頻繁にOS関係の処理が割り込むことになり、見かけ上アプリケーションの動作が遅くなっていた。
ところがHyper-Threadingを有効にすると、こうしたOS関係の処理が別スレッドで実行できるため、アプリケーション処理のスレッドがフルに動けるようになる、というものだ。ただ、これは別にSMTの利点ではなく、マルチコアCPUでも同じ効果が得られる話であり、SMTそのもので1スレッドの性能が上がるわけではない。
インテルはこの分野でも研究を重ねており、「Speculative Pseudo Multi-Threading」「Helper Thread」「Victim Thread」などと呼ばれる「仮想マルチスレッド」の仕組みを研究していた。これを簡単に言えば、あるプログラムを複数のスレッドで、同時に実行するというものである。
例えば、あるプログラムがデータA、B、Cを読み込んでから処理する場合、プログラムのメインスレッドに先立って、Helper ThreadがあるものはAを、あるものはBを、別のものはCをと、それぞれ取り込む。そのため、メインのスレッドが動くときには、A~Cのデータはすでに読み込まれてキャッシュ中にあるため、最小限のレイテンシーで実行できるという壮大なものだ。
ただし、言うは易く行なうは難し。性能が上がるケースもあれば下がるケースもあるといった具合に、必ずしもうまくいかなかった。インテルはこれを、「Prescott」(90nm世代Pentium 4)に続く「Tejas」世代で本格的に活用する予定だったようだが、Tejasが消えたのと連動してこちらも実用化の目処がなくなった(関連記事)。そんなわけで、今のところSMTによる1スレッドの性能改善方法は、見当たらないままである。
性能の改善率が平均30%程度、というのも問題であり、これもあってAMDは次世代の「Bulldozer」コアで、SMTではなく独自のデュアルコア構成を採用する。必ずしもSMTは万能ではないわけだ。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第868回
PC
物理IPには真似できない4%の差はどこから生まれるか? RTL実装が解き放つDimensity 9500の真価 -
第867回
PC
計算が速いだけじゃない! 自分で電圧を操って実力を出し切る賢すぎるAIチップ「Spyre」がAI処理を25%も速くする -
第866回
PC
NVIDIAを射程に捉えた韓国の雄rebellionsの怪物AIチップ「REBEL-Quad」 -
第865回
PC
1400WのモンスターGPU「Instinct MI350」の正体、AMDが選んだ効率を捨ててでも1.9倍の性能向上を獲る戦略 -
第864回
PC
なぜAMDはチップレットで勝利したのか? 2万ドルのウェハーから逆算する経済的合理性 -
第863回
PC
銅配線はなぜ限界なのか? ルテニウムへの移行で変わる半導体製造の常識と課題 -
第862回
PC
「ビル100階建て相当」の超難工事! DRAM微細化が限界を超え前人未到の垂直化へ突入 -
第861回
PC
INT4量子化+高度な電圧管理で消費電力60%削減かつ90%性能アップ! Snapdragon X2 Eliteの最先端技術を解説 -
第860回
PC
NVIDIAのVeraとRubinはPCIe Gen6対応、176スレッドの新アーキテクチャー搭載! 最高クラスの性能でAI開発を革新 -
第859回
デジタル
組み込み向けのAMD Ryzen AI Embedded P100シリーズはZen 5を最大6コア搭載で、最大50TOPSのNPU性能を実現 -
第858回
デジタル
CES 2026で実機を披露! AMDが発表した最先端AIラックHeliosの最新仕様を独自解説 - この連載の一覧へ











