ニコニコニュース

話題の記事

CPU脆弱性問題、速度と省エネどっちが大事? プログラマー小飼弾が解説「省電力が注目されるまで、高速精度がCPUにとって唯一無二の価値だった」

 Intelなどの半導体大手で発覚した「CPU脆弱性問題」。パッチ等の対策を施すことで、コンピューターの動作速度に影響を及ぼす報道が話題となっています。

 1月8日放送『小飼弾の論弾』において、プログラマー小飼弾氏山路達也氏は、CPUの設計における問題点を指摘し、これまでの変遷から今後の対策を明示しました。

左から、小飼弾氏、山路達也氏

─人気記事─

『ポプテピピック』15分アニメ×2回放送に中年男性ガチ困惑「録画失敗したのかと思った」

4億円詐欺のスパコンベンチャー『PEZY Computing』はどんな会社? 社長の人物像は? プログラマー小飼弾が解説「技術的には平凡なもの」


パフォーマンスの体感速度は使っているときの速度

山路:
 脆弱性問題に関連して、「コンピューターの動作速度において、25%近くパフォーマンスがダウンするんじゃないか」という報道がありましたね。

小飼: 
 Webブラウザとかで、実際に遅くなったみたいです。

山路:
 ただ、最近のコンピューターは24時間フル稼働で、最大限にCPUを使っているわけではないですよね。 そんなに影響あるものなんですか?

小飼:
 とても影響があります。普段は休んでいるけど、いざ人間が使うときは、一挙に高速で動かすためのテクニックを使うので、フル稼働状態になるわけです。

山路:
 高速で動かすためのテクニック?

小飼:
 クロック【※】を目一杯上げ、パイプライン【※】もなるべく埋めて、キャッシュメモリ【※】を使う。

※クロック
クロック周波数。CPUの処理性能を示す、秒間動作周波数であり、単位はHz(ヘルツ)。

※パイプライン
CPU処理速度向上のための技術。命令系統の設計技法。

※キャッシュメモリ
高速で読み書きできる小容量メモリ。CPUはキャッシュを使うことで、処理能力を向上させている。

山路:
 ユーザーが快適に使えるために最大限の性能を、そこに使っているから、パフォーマンスが落ちるとノロノロ動く感じがする?

小飼:
 あくまでも、ユーザーの体感速度は、そのコンピューターの最高速度なんです。自分が使っているときには、スピードを上げて欲しいわけですよ。

新機種のトレンドは速度より省電力?

小飼:
 安全性のために速度を落とした結果、Appleも怒られたんです。

山路:
 最近のバッテリー問題【※】の話ですね。

※AppleのiPhoneバッテリー問題
2017年12月20日、Appleが旧型iPhoneの性能を意図的に制限していた報道。バッテリーの誤作動を防ぐための措置と発表した。

Apple社のロゴ(画像はApple公式HPより)

小飼:
 省電力がクローズアップされるまでは、高速精度がCPUにとって唯一無二の価値だったんです。Intelはそれで勝ったわけですから。

山路:
 例えば、今までであれば新製品を出して、「20%性能がアップ」と言っていたのが、脆弱性に対応するために25%も遅くなってしまったら、真っ青ですね。

小飼:
 しかも最近は、昔よりムーアの法則【※】も緩やかになっていて、コンピューターモデルに速度差は少ない。今はどっちかというと速度よりも省電力に振っている

※ムーアの法則
Intel創業者のゴードン・ムーア氏による、半導体の将来予測指標。チップの処理能力と小型化の相関を表す法則。

対策が難しい脆弱性

山路:
 キャッシュを消す方法もあると聞きましたが、CPUのキャッシュを取り出すのは、ユーザーからだとなんとも手出しできないわけですよね?

小飼:
 正しくは、カーネル【※】が使ったメモリの残滓がキャッシュに残っている状態。加えてもうひとつの方法としては、ユーザーがアクセスしようとしたら、CPUの設計を変えてちゃんとSEGV【※】を出すことですね。

※カーネル
OSの中で中核の機能を受け持つ基本的な部分。ハードウェアとソフトウェアの中間として、管理している。一般的に、ユーザーは直接制御できない。

※SEGV(セグヴィー)
セグメンテーション違反を表すプログラムのエラー。segfault。一般保護違反。

山路:
 悪用しようと、ひそかに研究しているクラッカーとかはいそうですね。

小飼:
 NSA【※】やロシアとかも脆弱性を突く技術を持っているかもしれない。

※NSA(National Security Agency)
アメリカ国家安全保障局。米国における諜報機関。

困難なのは設計ではなく考え方

山路: 
 CPUの設計などで対応するにしても、例えば今年出てくる新製品の場合や、大がかりな修正や検証をしたところで、どれくらい対応できるものなんでしょうか?

小飼:
 OSとかアプリケーションで対応してもらうしかない。パフォーマンスは落ちますが、ソフトウェアのほうで、対応しようと思えば対応可能です。

山路:
 もしIntelが、CPUの設計を変えて対応したとしても、今までのCPUと同じ仕組みを持つものであれば、遅くなってしまうんですか?

Intel製チップイメージ(画像はIntel公式HPより)

小飼:
 必要なのは、根本的な考え方の変革です。実は、今のコンピューターの仕組みは、僕がMacSE【※】を買ったころから、たいして変わっていません。速度の違いこそあれ、要はコンピューターがやっている作業は、単なるデータのコピーなんですよ。

※MacSE(Macintosh SE)
1987年に販売されたApple社のコンピューター。

山路:
 言ってみたら、画面に描画するのも、ビデオのメモリにデータを移しているだけですか?

小飼:
 GPU【※】のメモリに、ですね。

※GPU(Graphics Processing Unit)
画像処理に強い集積回路。CPUとはアーキテクチャが異なる。

山路:
 結局、CPUがやっているのは、大小を比較することなど。

小飼:
 そういうこともやっているんですけれども、単純にデータのコピーのオーバーヘッド【※】が一番大きい。理由として、記憶媒体の特性がそれぞれかなり異なるからなんです。

山路:
 今後変革される可能性はありますか?

※オーバーヘッド
CPUにおいては、本来の目的以外の処理による負荷。

小飼:
 すでにSSDが出てきた時点で、考え方はもっと変えていい

山路:
 つまり、今までとは違う考え方のメモリが今後出て来る可能性もある?

小飼:
 今のOSの延長ではなく、ランダムアクセス【※】も速くて、電源をオフにしても中身が消えないメモリ、というのを前提にしてもいい。設計によって、CPUとメモリがなぜ遠くなったか? もっと性能は低くてもいいから、その代わりメモリとCPUを近づけておく前提の設計もあって、一部はGPUとして常駐しているわけです。

※ランダムアクセス
記憶装置へのアクセス方式。直接的なアクセスを可能とする。

「IT・科学」の最新記事

関連記事

新着ニュース一覧

2018 秋アニメ一覧 Nアニメ

アクセスランキング