sansansansan
Created with Snap
Pocket HatenaBlog facebook Twitter Close

Features Ideas 公開日:2018.05.31

ジョン・ヘネシー、コンピュータの過去・現在・未来を語り尽くす

コンピュータの歴史に輝く業績を残した人物が、Googleのイベントで語ったこと。

お気に入り
 ジョン・ヘネシー氏は、コンピュータの歴史に偉大な功績を残した人物として知られている。コンピュータの設計をテーマにした数々の論文を書いた電子工学者であり、Google創業者の二人を育んだスタンフォード大学で2010年から16年にわたって学長を務めた実務家であり、ファブレス半導体企業ミップス・テクノロジーズを創業したビジネスパーソンでもある。

 そのヘネシー氏がGoogleの開発者向けイベント「Google I/O 2018」に登壇。親会社Alphabetで取締役も務めるヘネシー氏が、活発な質疑応答とともに、コンピュータの発展の歴史から現状、そして展望に至るまでを語った。なぜムーアの法則は限界を迎えたのか、なぜAppleやGoogleがプロセッサを自社開発するようになったのか、なぜCPUではなくGPUが注目されるのか──。そんな素朴な疑問への答えがたくさん詰まった講演だ。
2018年5月に開催されたGoogle I/Oではジョン・ヘネシー氏が講演した

「コンピュータ発展の法則」の崩壊

 今日、私たちがコンピュータを使わない日はない。コンピュータの発展は目覚ましく、これからも驚くべき速度で高速化、高度化が進んでいく──多くの人々は、そう考えているかもしれない。

 また、日常的にPCやスマートフォンといったコンピュータに接しているために、私たちは時々素朴な疑問に思い至ったりもする。例えば、なぜIntelのCPUはスマートフォンに採用されていないのか、あるいは、なぜAppleやGoogleは自分たちでプロセッサを開発しているのか、といったものだ。

 ヘネシー氏は、プロセッサが発展していく過程を紐解きながら、こうした疑問のすべてに答えた。

 コンピュータが急速に発展を遂げていく、まさにそのただ中にいたヘネシー氏は、現在のコンピューティング環境について、性能向上を示すグラフが2次関数的に右肩上がりで伸びていく状態ではないと指摘する。

 コンピュータ発展の法則として最も著名なのは、Intel創業者の1人であるゴードン・ムーア氏の「ムーアの法則」だろう。半導体の性能は18カ月で2倍に向上する、というあの法則だ。ヘネシー氏によると、ムーアの法則は既に崩壊しているという。

 「ムーアの法則の終焉は、理解すべき初歩的なことです。これは法則を提唱したゴードン・ムーア自身が私に語ったことなのです。すべての物事には終わりが訪れます。まさに、そのときが訪れたということです」

 同じことはメモリーの容量にも起きているという。DRAMは長きにわたり年間50%というペースで容量を増してきた。しかし過去7年間を見ると、容量は2倍にしか増えていない。つまり年間10%増にとどまっているのだ。

 「DRAMを発明したIBMのボブ・デナードは、何年も前からこうした減速を予測していました。そして、メモリーのスケーリング理論『デナード則』は2007年以来、本質的には停止しているのです。その結果、何が起きたか分かりますか?」
 2018年に創業50周年を迎えるIntelには2人の天才がいた。一人はエンジニアリングの天才ゴードン・ムーア(画像)、もう一人が経営の天才で2016年に死去したアンディ・グローブだ(出所:Intel)。

モバイルのパラダイムで起きていること

 2007年に何が起きたのか、ピンときている人も多いだろう──iPhoneの登場である。iPhoneの登場によって、PC分野で当てはまっていた様々な法則に変化が起きてしまったのだ。

 「みなさん、現代のマイクロプロセッサで何が起こっているか、ご存じですか?エネルギーが尽きるのを防ぐために、クロックを下げたり、コアを止めたりなど、様々なことをやっています」

 「突然、エネルギー効率が重要になったのです。これは大きな変化です。ハードウエアの設計者は、『トランジスタの数』ではなく『消費電力』に注意を払わなければいけなくなりました。モバイルデバイスはすべてバッテリーにつながっていますから、処理性能が高くても、バッテリーを使い果たして電源が切れてしまえば災難になりますよね」

 ヘネシー氏は、エネルギー効率の問題はクラウドコンピューティングにも訪れていると指摘する。膨大な量のサーバーを冷却しながら稼働させるためには、それこそ膨大な電力が必要となるからだ。こうした現状にいかに立ち向かっていくのかを考えると、進化の法則にも変化が必要になる。

 「マイクロプロセッサはこれまでに年間22%ずつ性能を高めてきました。しかし、同じ設計のRISCは過去20年間、毎年50%の性能向上を経験しています。ただ、やはり発展速度は低下している。そこで1つの回路への集積度を高めるのではなく、マルチコアによる高速化へと移行したのです」

 現在、スマートフォン向けではオクタコア(8コア)のプロセッサすらもはや珍しくない。また「Intel Core i9」プロセッサには、すでに18コアを搭載するモデルもある。ここで新たな問題にぶつかる。それは、ソフトウエアだ。

Intelプロセッサが主導権を握れない理由

 ヘネシー氏がその成立に深く携わったRISCは、現在データセンターからスマートフォンに至るまで、幅広く使われているプロセッサのアーキテクチャだ。すなわち、モバイル時代から続くコンピュータの性能向上を担う存在を、ヘネシー氏は設計したといえる。

 RISCは、命令セットを単純化して処理の高速化を図る。ただし、RISCプロセッサにも、それ以前のCISCプロセッサにも、電力効率における無駄が存在するという。CISCプロセッサである「Intel Core i7」は、整数コードで実行された処理結果のうち、約25%を捨てているからだ。

 「将来、64コアのプロセッサを手にするかもしれません。しかし連続的なコードは1%程度しかないため、このプロセッサは実質的には40コアプロセッサ程度の性能しか発揮できないことを意味します。同じ電力を使っても、半分より少しだけ高い性能しか得られないのです」

 確かに、プロセッサはコア数を増していくことで処理能力を高めてきた。しかし、マルチコアプロセッサの利点を生かすために、複数の「推測」をしながら処理を実行する。簡単に言えば、先回りして計算しているのだ。当然ながらすべての推測を当てることはできず、いらない結果は捨てなければならない。

 「x86(Intelプロセッサ)が革新を起こすことは、難しいでしょう。先読みは、しばしばソフトウエアの速度を低下させます。今、まさにそれが問題になっているのですから」

マルチコアプロセッサを生かすドメイン固有アーキテクチャ

 ヘネシー氏は、コンピュータの処理性能が進化していく上で、最も重要な要素になるのはソフトウエアだとしている。マルチコアプロセッサを生かすには、それに最適化されたコードが必要になる。

 ここでヘネシー氏は、マサチューセッツ工科大学(MIT)のチャールズ・ライサーソン氏のグループによる実験「There’s plenty of room at the top」を紹介した。行列の積を求めるコードを複数書いて、その速度を計測するというテストだ。
 MITコンピュータ科学・人工知能研究所 教授で、並列・分散コンピューティングの専門家チャールズ・ライサーソン氏(出所:Wikimedia Commons)
 この実験ではPythonでコードを書き、Intelの18コアプロセッサで処理を実行した。これをC言語で書き直すと、処理速度は47倍になった。さらにこれをParallelクラスを使ってループを並列処理させると、9倍高速化された。メモリー最適化で20倍、キャッシュ割り当てで20倍、そしてIntel Coreプロセッサにある命令を使うと10倍高速化された。

 「最終的には、初期のPythonコードから6万2000倍も高速化したのです。最初は小さくて簡単なコードです。しかし、ソフトウエアの改良を考慮すべき可能性が示されています」

 こうした実験を受けて重視されるようになったのが「ドメイン固有アーキテクチャ」だ。

 「ドメイン固有アーキテクチャでは、まずどんなアプリケーションを実行するプロセッサなのかを特定します。既存の汎用プロセッサの命令セットは、一度プログラムしたらそのコードを実行するだけで、ほかのことは何もできません。これをプログラマブルにして、分野に特化することでより効率的に動作させるのです」

 こうした動向を知れば、現在のプロセッサの発展の理由も理解できるようになる。現在のプロセッサの発展はGPUで起きていること、さらにGoogleが機械学習処理に特化したプロセッサ「TPU」を自前で作っていることが理解できるだろう。というのも、特定分野の処理に集中することで予測の効率を高め、効率性を劇的に高めることができるからだ。当然、エネルギー効率も劇的に高まるという。

 ソフトウエアにも変化が必要だ。今後、より重要になるのはランタイムではなくコンパイラになるためだ。それと同時に特定の処理やハードウエアに合致するプログラミング言語、つまりドメイン固有言語も重要性を増していく。

 「OpenGL(グラフィックス)やTensorFlow(機械学習)は、特化型のプロセッサと特化型の言語の組み合わせを実現する一歩進んだ完全に新しい領域といえます。ドメイン固有言語の鍵となるのは、コードを書き直さなくてもプロセッサが自律的に高速化できるようになる点で、クラウドやスマートフォンの中で動作するようになります。この分野が次のチャレンジでしょう」

限界を乗り越えるための挑戦

 重要なのは汎用性ではなく、ある分野に特化していることだという。何が起きるか分かっている場所に対して、処理の最大効率化を図る。その最たる分野が機械学習であり、人工知能であるとヘネシー氏は説く。
AIがお店に電話して予約するサービス「Google Duplex」のデモは、Google I/O 2018のハイライトだった(出所:Google
 「これは革命です。Google Duplex(Google アシスタントがお店に電話して予約する機能)は、特定の領域においてチューリングテストをパスしています。これこそドメイン固有アーキテクチャの驚くべき革新といえます」

 「Googleの機械学習に特化したプロセッサ『TPU』は、多くの制御やキャッシュ処理はできません。データを直接処理するだけなのです。その代わり、プロセッサは1クロックで8ビット整数の処理を6万4000回も実行できます。1クロックで、です。こうして物事の推論を導き出し、問題解決を図るのです──しかも、ボトルネックとなるエネルギー効率を高めながら」

 ヘネシー氏の発言から、Appleが2010年に自らRISC系プロセッサの開発に乗り出したことも説明できる。

 Appleは処理性能と消費電力を高めるべく、自前のプロセッサの中で端末の動きの検出と処理、グラフィックス、機械学習処理、カメラと画像に関する処理といった、スマートフォンにおけるドメイン固有アーキテクチャを取り入れているのだ。

 「iPhone X」に搭載されたプロセッサ「A11 Bionic」は、毎秒6000億回の機械学習処理を実行できる。それでも、1年前の「iPhone 7」に比べて2時間も電池が長持ちするのだ。Appleは、自社でiOSを開発し、さらにアプリ開発言語の「Swift」も自社で発展させている。ハードウエアとスフとウエアを自社のコントロール下に置き、発展のための理想的な環境を作ったといえる。

 「過去を振り返れば、コンピュータができあがったばかりの黎明期、ハードウエアの設計者、アプリケーションの専門家、ソフトウエア環境の設計者は、垂直統合的にコラボレーションしてきました。ハードウエア設計者は、アプリチームの活動を理解した上で、機械をいかに新しい方法で再構築するか、産業を前進させる挑戦を行ってきたのです」

 「現在も驚くべき処理性能の優位性を発揮するに足る領域が存在します。例えばサイバーセキュリティの心配からユーザーを解き放つにはどうすれば良いか。ハードウエア開発者はソフトウエア開発者とともにセキュリティ向上を目指すべきで、集中すべき大きな問題といえるでしょう」

 2017年末、PCやスマートフォン、サーバーなど、あらゆるコンピュータに使われているプロセッサに「Spectre」「Meltdown」という脆弱性が発見された。半導体メーカーやOSを提供するソフトウエアメーカーは対策に躍起になり、その結果、いくつかのプロセッサで速度低下が発生してしまった。

 その理由も、ムーアの法則崩壊と関係しているという。これらの脆弱性は、プロセッサが捨ててきた「先回りして推測する処理」を悪用したものだからだ。高速化のために実行していた処理が脆弱性に変貌してしまったということになる。

 これを乗り越えるには、ハードウエアであるプロセッサと実行するソフトウエアとが無駄なく緊密に連携する必要がある。すなわち、汎用プロセッサによる発展の限界と、ドメイン固有コンピューティング時代の顕在化が、消費電力とは異なる形で代弁されているのだ。

ポストシリコン、そして教育

 コンピュータ発展の黎明期に起きたことと、現在起こっていることには共通点がある。ハードウエアとソフトウエア、アプリケーションなどの専門家がコラボレーションしていることだ。その歴史を見つめ、実際に協働してきたジョン・ヘネシー氏の視点は明快だった。

 シリコンプロセッサの高度化、モバイルとクラウド時代に求められたエネルギー消費の効率化、そしてドメイン固有型の時代というトリロジー(3部作)と、コンピューティングの歴史は綴られてきた。

 ヘネシー氏が設計を主導したRISCは、プロセッサの命令セットを削減することで高速化を図ってきた。それが現在のモバイルとクラウドのニーズを満たすようになった。しかし同氏は、今後は用途に特化したプロセッサとソフトウエアの組み合わせがより重要になると述べる。これはプロセッサの複雑化につながらないのだろうか。

 「ドメイン固有コンピュータは必ずしも複雑化するわけではありません。適用範囲を狭めて、何が重要かを考えて設計することが大切です。そのため、今後重要性を増していくのはアセンブリ言語です。コンピュータに直接働きかける古い方法ですよね。でも、機械学習や仮想現実、拡張現実などの膨大な計算力が必要となる世界では、汎用コンピュータはこうしたドメイン固有コンピュータを従えるのです」

 ヘネシー氏は、ポストシリコンも見据える。その先に訪れる量子コンピューティングや神経回路プロセッサの世界への「橋渡し」を担うべきだと考えているのだ。

 「ムーアの法則が崩壊し、コンピュータの発展が止まる時点の10年前には、代替技術を手に入れている必要があります。そのころには創造的なソフトウエアがあふれているでしょうから、より速いマシンで処理を実行したいと考えるでしょう。いくつかの可能性があります。私は、有機コンピュータ、量子コンピュータ、カーボンナノファイバーなどが、未来のテクノロジーの特徴になると定義しています」

 「橋渡しする理由は、これらの技術はまだ物理学の世界にいるため、コンピュータ科学者や技術者の手に渡っていないからです。まだ実験室の中にいるのですね。一方で量子コンピューティングは、控えめに見ても莫大な計算能力を実現します。それに見合うクリエイティブなソフトウエアが必要になるでしょう」

 そうした未来へと進む起点は教育にある、とヘネシー氏は説く。スタンフォード大学の前学長は、最後に教育に触れて講演を締めくくった。

 「社会はテクノロジーに精通している必要があります。そのためには若者を教育しなければなりません。すべての人が大学に戻って教えるわけではありませんが、キャリアの中で教育者であることが魅力的にならなければいけません。だからこそ、私たちは教育に投資しなければいけないのです」

 「Googleは大規模な投資活動を展開しています。しかし、量子技術以降の多くのテクノロジーについては、政府が引き続き投資を担うプレーヤーだと思います。現代のテクノロジー、例えばインターネットやRISCは、ある時点まではすべて政府からの資金提供を受けて開発されてきました。人工知能は50年前に政府から資金調達したことで、今やっと革新の時期に至っています」

 「政府は未来の信者であるべきです。より長期的なもの、地平線の外にあるものに資金を提供すべきなのです。その受け皿となり、産業界に役割を果たす大学を作らなければいけません」


松村 太郎


本記事は、日経BP総研とSansan株式会社が共同で企画・制作した記事です。
© 2019 Nikkei Business Publications, Inc. / Sansan, Inc.

関連記事

DIGITALIST会員が
できること

  • 会員限定記事が全て読める
  • 厳選情報をメルマガで確認
  • 同業他社のニュースを閲覧
    ※本機能は、一部ご利用いただけない会員様がいます。

公開終了のお知らせ

2024年1月24日以降に
ウェブサイトの公開を終了いたします