Skylake/Kaby Lakeでシステムクラッシュを引き起こすエラッタが発見→ハイパースレッディングを切ってみた
6月25日、“Skylake”および“Kaby Lake”アーキテクチャのプロセッサで、特定の条件下で特定の命令を実行した場合に、システムの予期せぬ動作を引き起こす可能性があるエラッタが発見された。
これはDebianのコミュニティでHenrique de Moraes Holschuh氏によって報告されたもので、対象となるのは第6世代および第7世代Coreプロセッサ、Xeon v5、Xeon v6と一部Pentiumプロセッサなど。
エラッタは上記のプロセッサでハイパースレッディングを有効にしている場合に発生し、アプリケーションやシステムの誤動作、データ破損、データ消失などのエラーを引き起こす可能性があるという。Debianコミュニティでの報告が行なわれているが、Linuxディストリビューションに限らず、macOS、WindowsなどのOSも影響を受ける。(yahooニュース PC Watch)
https://headlines.yahoo.co.jp/hl?a=20170627-00000050-impress-sci
ごく一部で話題になっているこの問題
比較的新しいCPUでのハイパースレッディング(HT)に問題が見つかりごく一部の条件でエラーが起こる可能性があるという
対象機種は6000番台と7000番台のインテルcore i7、i3、i5のUモデル、およびPentiumのG4560以上の機種である(i7の6800番以上は対象外)
現在判明している再現できる不具合の状況は特定のソースでのコンパイルを何度も繰り返した場合セグメンテーション違反を引き起こしクラッシュするというものらしく、この時点で意味不明な方にはほとんど影響のない問題であるとも言えそうである
ただ気になる方もいると思うのでハイパースレッディングの切り方とその影響を簡単に説明してみたい
マシンはASRock deskmini 110 、cpuはPentium G4560である
これまで2コア2スレッドだったPentiumにHTが付き2コア4スレッドとなりコスパ抜群と評判のCPUである
UEFIからHTを切ることができるので早速UEFIへ
ASRocはwindows上からUEFIに入るためのユーティリティを用意してくれているので便利である
(キーボードからは起動時にdeleteボタン)
なお最近のUEFIはFAT32フォーマットのUSBメモリなどを刺しておけばF12キーでスクリーンショットが保存できるという便利な機能がある
これも以前では難しいことだったが便利になったものだ
これでハイパースレッディング(hyperthreading)を無効にできる
上記記事が気になる方はこれでUEFIの更新が来るまでしのぐと安心であろう
なおこれを切ることによるパフォーマンスの低下を地デジ動画のエンコードで試してみたところ
以下の通りだった(HandbrakeによるH.264エンコード、CPUエンコードとQSVエンコードで比較、フィルタはデインターレースのみ)
CPUエンコード
HTあり→FPS30
HTなし→FPS22
QSVエンコード
HTあり→FPS75
HTなし→FPS67
これを見ると2コア2スレッドと2コア4スレッドでは15%~25%程度の処理能力の差しかないようである
動画エンコードでこの程度の差なら通常利用では切っていてもそう体感できるものではないかもしれない
それはそれで残念な話ではあるが…
今回紹介したベアボーン
TDP65Wまでのデスクトップ用CPUが搭載できるので高スペックな小型マシンが欲しい方にはかなりおススメ
ただしUEFIがアップデートされていないとkabylakeのCPUは動かないのには注意