はじめに
IntelがHaswellアーキテクチャ系列の一部製品に搭載していたTSX(Transactional Synchronization Extensions)を一時的にキャンセルすることを決定しました:
- Errata prompts Intel to disable TSX in Haswell, early Broadwell CPUs – The Tech Report
- Intel Disables TSX Instructions Erratum Found in Haswell, Haswell-E-EP, Broadwell-Y – AnandTech
- Intel disables hot new TSX tech in early Broadwells and Haswells – The Register
「お盆+夏休み+終戦記念日」ということで、日本語による明確なソースがなかったので、以上すべて英語の情報ソースです。
TSXを取り巻く状況
これらによると、Haswellアーキテクチャと今後発売予定のBroadwellアーキテクチャの一部で使用可能(一部は未発売のため予定)なTSXと呼ばれるトランザクショナル・メモリーを扱う機構にエラッタ(機能上の誤り)が発見され、この問題を解決するために今後配布するマイクロコードの更新でTSX機能が無効化されることになりました。この無効化は、発見されたエラッタがマイクロコードの更新では修正できないことによる措置とのことです。
今回のこの不具合はIntel内部ではなく、外部のソフトウェア・ベンダーが発見したもので、連絡を受けたIntelが不具合であることを確認したそうです。
当初、この件が英語圏のニュース・サイトで報道され始めたころにはIntelの発表が行われておらず、状況が不明確だったのですが、現在は「Intel® Xeon® Processor E3-1200 v3 Product Family Specification Update / August 2014 Revision 007 / Reference Number: 328908-007(PDF)」などに記載があります。
この中の「Identification Information(識別情報)」には以下の記述があります:
HSW136. Software Using Intel® TSX May Result in Unpredictable System Behavior
Intel® TSXを使用するソフトウェアは予測不可能なシステムの挙動を示すことがあります。Problem:
問題:Under a complex set of internal timing conditions and system events, software using the Intel TSX (Transactional Synchronization Extensions) instructions may result in unpredictable system behavior.
内部のタイミング状況とシステム・イベントの複雑な組み合わせによっては、Intel TSX(Transactional Synchronization Extensions)命令を使用するソフトウェアは予測不可能なシステムの挙動を示すことがあります。Implication:
影響:This erratum may result in unpredictable system behavior.
このエラッタは予測できないシステムの挙動をもたらす可能性があります。Workaround:
対策:It is possible for the BIOS to contain a workaround for this erratum.
このエラッタのための対策をBIOSに含めることができます。Status:
状況:For the steppings affected, see the Summary Table of Changes.
影響を受けるステッピングに関しては「Summary Table of Changes」を参照ください。
Intel® Xeon Processor E3-1200 v3 Product Family Specification Update, August 2014
49ページより引用
※日本語表記は筆者による日本語意訳です。
また、同「Specification Changes(仕様変更)」には以下の記載があります:
HSW1. TSX instruction
TSX命令
- Due to Erratum HSw136, TSX instructions are disabled and are only supported for software development. See your Intel representative for details.
エラッタHSW136のため、TSX命令はソフトウェア開発用にのみサポートされ、その他の用途では無効化します。詳細についてはIntelが別途提供する情報を参照ください。
Intel® Xeon Processor E3-1200 v3 Product Family Specification Update, August 2014
51ページより引用
※日本語表記は筆者による日本語意訳です。
まとめ
このように、Intelはソフトウェア開発用途を除いてTSXは無効化する方針です。これによる影響をまとめると以下のようになります:
状況 | 影響 |
---|---|
TSX専用ソフトウェア | 動作しなくなります。ただし、現時点でTSX専用のソフトウェアで有名なものは存在していないものと思われます。 |
TSX兼用ソフトウェア | 動作速度に若干のペナルティが発生し、従来よりも遅くなりますが動作そのものに問題はありません。 |
TSX非対応ソフトウェア | 影響はありません。 |
一般用途ではTSX専用ソフトウェアは存在しないと思われるため、一部の特殊用途で問題が生じるほかは、TSXを兼用で採用した一部のソフトウェアで速度上のメリットが失われる程度の影響と思われます。一方で、TSXを使用しないソフトウェアには全く影響はありません。
このように、この件の影響を受けるのはごく少数のソフトウェアであると思われます。
とはいえ、新規に導入した機構が使用できなくなるというのは非常に残念なことです。特に私は、このTSXを高く評価していただけに余計に残念に思います。
エラッタの修正が終わり次第、TSXを再導入する予定ではあるので、一時的にTSXを撤回することになったというのが現状です。