Intelのハイパースレッディング技術が、サーバの性能を低下させるとして、一部の技術者から非難されている。ハイパースレッディングは、Intel製プロセッサの性能を向上させるために開発された技術である。
「SQL Server」と「Citrix Terminal Server」をインストールし、Intelのハイパースレッディング技術を有効にしたマザーボードでは、高負荷状態下での性能が著しく低下すると一部の技術専門家が報告している。また、同専門家らは、ハイパースレッディング技術を無効にすることで、サーバの性能を本来のレベルに戻せるとも指摘している。
財務会計ソフトを販売する英企業Lakeview Computersでテクニカルディレクターを務めるPeter Ibbotsonは「同一マシン上でCitrix Terminal Serverとわれわれのソフトウェアを稼働させると、そのマシンが予想に比べてはるかに低い性能で動作すると、顧客は不満を述べている」という。
「ハイパースレッディングをテストで有効にしたときは楽しかった。同技術を有効にすると、マザーボードに命が吹き込まれるようだった。ハイパースレッディングを無効にすると、性能は通常の状態に戻っていった」と、Ibbotsonは付け加えた。
ハイパースレッディングは、プロセッサの空いている部分を利用して、異なるコードを同時に実行することを可能にする技術のこと。Intelは、ハイパースレッディング技術によりチップ性能が向上し、同技術を使わない場合に比べ、約2倍の情報を処理できるようになると述べる。
MicrosoftでSQL Server 2005の開発を担当するSlava Ocksは11月に入って、同様の問題をブログで報告した。
「ハイエンドなハードウェアでハイパースレッディングを有効にした場合、興味深い現象が発生することを、われわれの顧客が確認している。SQL Serverに高い負荷をかけると、CPUの使用率が非常に高くなるにも関わらず、SQL Serverの性能が低下する場合があることに顧客は注目している」と書いている。
そして、Ocksは、この現象を再現するテストの詳細を記載している。これに従ってテストすると、ディスクキャッシュメモリをクリアするシステムスレッドが、ワーカースレッドと同時に稼働する。「Intelのハイパースレッディング技術により、論理プロセッサがL1およびL2キャッシュを共有する。これにより、L1およびL2キャッシュの内容が廃棄されることが考えられる」(Ocks)
これらのオンチップキャッシュは、チップの処理速度を向上させるためにある。オンチップキャッシュには、直近にアクセスされたデータのコピーが保持される。オンチップキャッシュのデータにアクセスする方が、メインシステムのメモリにアクセスするよい速いからだ。CPUが、ハイパースレッディング技術を使って複数のスレッドを動作させる際に、これらの共有されたキャッシュでは次々に入ってくる要求に対応できなくなり、性能の低下が発生するというのが、OcksとIbbotsonによる分析結果だ。
「まさに皮肉だ」とIbbotsonは述べる。「Intelは、マルチスレッドをサポートするソフトウェアで性能が向上すると、ハイパースレッディング技術を売り込んでいた。SQL Serverは、マルチスレッドをサポートしているが、Intelのチップ上でその効果を発揮できなかった。事実、ハイパースレッディング対応のサーバソフトウェアで、性能が向上したものを見たことがない。Citrixとわれわれのソフトウェアを同一サーバで動作させる場合には、同技術を無効にすることを顧客には勧めている」(Ibbotson)
Intelの広報担当者Scott McLaughlinは米国時間21日、ほとんどのベンチマークにおいて、ハイパースレッディング技術は良い結果を出していると述べた。「Intelでは、どのような場合に同技術が役に立ち、どのような場合にそうでないかを明らかに示してきた」(McLaughlin)
2005年に入り、Intelのハイパースレッディング技術は、セキュリティ上の脆弱性が指摘されている。犯罪者はこれを悪用すると、2つのプロセスが同じキャッシュメモリにアクセスできることを利用した攻撃を仕掛けることができたという。
この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス