ついに「ムーアの法則」が終わりつつあるという現実―― 果たして世界はどこへ向かおうとしているのか?
プロセッサの進化を支配してきた「ムーアの法則」が終わろうとしているなか、GPUやFPGA、AI専用チップなど、さまざまなプロセッサが登場してきています。この先には果たして、いかなるコンピューターが待ち受けているのでしょうか。その未来を探ってみます。
これまでの約50年にわたり、IT業界の進歩を規定してきたといっても過言ではない、いわゆる「ムーアの法則」に終わりが見え始めてきました。
ムーアの法則は多くの人がご存知のように、「集積回路上のトランジスタの数が18カ月ごとに2倍になる」という予測です(この18カ月という期間はその後修正され、いまでは24カ月ということになっています)。
ムーアの法則は“法則”と言うものの、実際には「努力目標」あるいは「経験則」といったものです。その成立をこれまで支えてきたのは、主に集積回路を微細化する技術の進歩でした。より精細な集積回路を作ることで、以前よりもたくさんのトランジスタを集積回路上に載せることができるようになり、その結果、より高速で複雑な処理が可能になり、消費電力も下がり、発熱も小さくなったわけです。
この50年、多大な努力を注ぎつつ、ムーアの法則を成立させていたからこそ、コンピューターは毎年のように価格が下がり、さらに小型で高性能な新機種が登場してきたわけです。
しかし微細化は、無限には続きません。いま、その終わりが近づきつつあるのです。
例えばインテルの最新プロセッサであるコード名「Kaby Lake」は、14nmの精細さで製造されていることが伝えられていますが、2014年に登場した「Broadwell」もすでに14nmで製造されており、さらにKabl Lakeの次の「Coffee Lake」も14nmで製造されると言われており、精細化のペースは確実に落ちています。
また著名な理論物理学者ミチオ・カク氏は、2013年の時点でプロセッサの回路は原子20個分の幅しかなく、これが5個になると熱によってチップが溶ける、あるいは量子論に支配されて電子の位置が決定できなくなり、電子が回路の中にあるのか、外にあるのか分からなくなるため、シリコンによる回路の微細化はあと10年程度で限界が来ると指摘していました。
そして現在、ムーアの法則ではない、何らかの方法でコンピューターの性能向上を実現しようという動きが出始めています。ここで、その概要を見ていきましょう。
メニーコアによる並列性の向上
微細化の進行速度が落ちているなか、現在進行しているもっとも典型的なコンピューター性能向上策のひとつは「メニーコア化」です。
プロセッサ単体の性能向上がこれ以上進まないのであれば、プロセッサの数(ここではプロセッサの核となるコア)を増やし、たくさんの並列処理を進めることで性能向上を図ろうとしているのです。
すでにプロセッサのメニーコア化は進んでおり、PC用のプロセッサでも2コアや4コアが普通になっていますし、サーバー用のプロセッサでは20コアやそれ以上のものも登場してきています。
ただし、単にメニーコア化したところで、コンピューターの性能が上がることはありません。メニーコアに対応して並列処理を実現するOSやアプリケーションと組み合わせなければ、その実力は発揮されないのです。
最新のIntel Xeonプロセッサは28コア搭載モデルも登場
DRAMや不揮発性メモリの活用
プロセッサの性能向上とは別に、大量のDRAMを搭載してすべての処理をインメモリで実行することによる性能向上や、フラッシュメモリのような不揮発性メモリを活用することによる性能向上策も広がりつつあります。
一般にフラッシュメモリを含むメモリは、プロセッサに比べると集積回路のなかで処理の負荷が集中しにくいため、発熱による問題なども発生しにくく、回路自体もシンプルであることから、まだムーアの法則のペースで(ときにはそれ以上のペースで)集積度が高まっています。この成長分野のコンポーネントを活用することで、コンピューターの性能を向上させようというアプローチもあるのです。
ただし、この場合もインメモリ処理や不揮発性メモリに対応したOSやアプリケーションの整備が求められます。
GPUやFPGAなど用途別プロセッサの活用
特定の処理を高速に実行する用途別プロセッサも注目されつつあります。従来の汎用プロセッサの性能がムーアの法則の限界で頭打ちになりつつあるなか、特定の処理に特化したプロセッサを用意することで、その部分の処理速度を上げていこうというものです。
例えば機械学習の世界では、GPUを用いることが一般的になっています。GPUはCPUのような汎用的な処理は苦手ですが、単純な処理を大量に並列処理することが得意で、それが機械学習との相性の良さを生んでいます。
NVIDIAの機械学習向けGPUマシン「DGX-1」
機械学習の分野では、Googleが2017年5月に機械学習処理専用のプロセッサ「TensorFlow Processing Unit」を発表しました。
参照:http://www.publickey1.jp/blog/17/googlecloud_tpuaigoogle_io_2017.html
これも汎用プロセッサで処理するより、ずっと高速かつ低消費電力に機械学習を実行できるとしています。
一方、マイクロソフトはプログラミングが可能な半導体チップであるFPGAの活用に積極的です。FPGAを用いてクラウドのネットワーク処理を高速化したり、機械学習処理を行ったりしていることを明らかにしています。
Amazon Web Services(AWS)は誰もがFPGAのプログラミングから実装、実行までを行えるクラウドサービスの展開を発表しました。いまやFPGAは、多くのITエンジニアが利用可能なものになっているのです。
以前の筆者のコラムで、インテルがFPGAベンダーのアルテラ社を買収したことを紹介しました。インテルもこうした流れを見据えているわけです。
参照:http://cn.teldevice.co.jp/column/detail/id/93
専用プロセッサやFPGAによるチップレベルでのプログラミングは、汎用プロセッサで処理させるよりも圧倒的な高性能を期待できます。一方で専用プロセッサの開発には、膨大な初期投資が必要ですし、GPUやFPGAにしても、それを活用するための特殊なプログラミングを行わなければならない点で、従来のアプリケーション開発よりも初期コストや複雑性が高まります。
これら用途別のハードウェアを使うにあたっては、システム全体の中でそうした要素をどう組み込むのか、どこに組み込むのかなど、設計レベルで新たに全体最適化を図る必要があります。
Amazon Web ServicesはクラウドでFPGAを利用できる「F1 Instances」を
2016年12月に発表した。
ムーアの法則の先には「多様なハードウェアを活用する時代」が
ムーアの法則が十分に機能していたころは、同じソフトウェアが一年後により安く速くなったハードウェアの上でそのまま実行できた幸福な時代でした。
しかし、そうした時代は過ぎつつあります。これからは高速かつ低消費電力でソフトウェアを実行するためには、並列処理やインメモリ処理、専用プロセッサといった新しいハードウェアを用いることになるため、そのハードウェアに合わせてソフトウェアを開発し直さなければならない時代になりつつあります。
しかも、ここで紹介したテクノロジーのさらに先には、例えば量子コンピューターや分子コンピューターのような、さらに新しいハードウェアが登場しようとしています。それは初期のメインフレームやパーソナルコンピューターがさまざまなベンダーから登場したように、それぞれが互換性を持たない多様なハードウェアとして登場するはずです。
ムーアの法則が終わった先にある世界は、さまざまなハードウェアやアーキテクチャが用途別にバラエティ豊かに存在する世界となりそうです。そうしたとき、それらを活用するためのソフトウェア開発の技術や方法論、そしてシステム全体の開発手法も、さらに幅広いものになっていくことは間違いないでしょう。
※このコラムは不定期連載です。
※会社名および商標名は、それぞれの会社の商標あるいは登録商標です。
-
新野淳一/Junichi Niino
ブログメディア「Publickey」( http://www.publickey1.jp/ )運営者。IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求。