Intelの「Skylake」や「Kaby Lake」を搭載するコンピュータを使っていて、説明のつかないアプリケーションやシステムの動作不具合、データの破損や損失を経験したことのある人はいるだろうか。心当たりのある人は、チップセットでハイパースレッディングが有効化されており、チップが正常に機能していないことが原因かもしれない。
「Debian Linux」開発者のHenrique de Moraes Holschuh氏がDebian開発者リストで、このIntel製チップの問題を指摘した。Intelは公式にこの問題を認めていないが、DellとIntelのエンジニアは、この問題とその解決法が存在することを筆者に認めた。
このプロセッサ/マイクロコードの不具合は、ハイパースレッディングが有効化されたSkylakeおよびKaby Lakeプロセッサで見られる。さらに、「Xeon v5」や「Xeon v6」などの関連するサーバプロセッサのほか、一部のIntel「Pentium」プロセッサモデルでも見られるという。
この問題を公表したのはDebianコミュニティーだが、影響を受けるのはLinuxだけではない。「Windows」や「macOS」「FreeBSD」など、あらゆるOSが影響を受ける可能性がある。
Intelのエラッタには、「複雑なマイクロアーキテクチャ条件の下で、AH、BH、CH、またはDHレジスタとそれに対応する幅の広いレジスタ(例えば、AHの場合はRAXやEAX、AX)を使用する、64未満の命令の短いループは、予測不可能なシステム挙動を引き起こす可能性がある。この問題は、同一の物理プロセッサ上の論理プロセッサがいずれもアクティブな状態にある場合にのみ発生する」と書かれている。
これにより、コンピュータで「予測不可能なシステム挙動」が発生する。どのプログラムがこの不具合を引き起こすのかということについての明確な答えはないようだ。Holschuh氏は、「現時点では、十分な情報が得られていないため、どれだけのソフトウェアがこの特定の不具合を引き起こすのかは不明である」としている。
この問題は、「OCaml」開発者が2017年1月に新しいコンパイラをテストしているときに最初に発見されたという。ただし、この問題は、2016年第2四半期にリリースされたIntelプロセッサでも確認されている。
Intelや、主要な商用Linuxディストリビューション、コンピュータのOEMらは、この問題を修正するこれらのプロセッサ向けのマイクロコードのアップデートを提供しようと取り組んでいる。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。