1959年、カリフォルニア工科大学で開催されたアメリカ物理学会での講演で、物理学者リチャード・ファインマンは「底辺には十分な余地がある」と題する講演を行い、原子レベルで物質を操作できる可能性を提示した。
それ以来、半導体業界は小型化を重視し、チップ上のトランジスタの密度を数十年にわたって着実に向上させてきました。1965年、フェアチャイルドセミコンダクターとインテルの共同創業者であるゴードン・ムーアは、半導体の進歩のペースは少なくとも10年間は続くと予測しました。
ムーアの法則という誤った認識が広まったこの予測は、数年前に崩壊し始めるまで有効でした。ムーアの考えはまだ完全には実現していないかもしれませんが、MITの研究者グループは、この考えに終止符を打ち、テクノロジースタックの底辺の先を見据えようとしています。
彼らによると、チップの小型化は、収益の減少とトランジスタ数のさらなる削減に伴う予想コストの増大により、5nm製造で終焉を迎える見込みだ。半導体の微細化による利益が得られないため、彼らはコンピューティング業界が技術スタックの「最上位」に注力することを望んでいる。
金曜日に科学誌「サイエンス」に掲載された論文[有料]の中で、MITの教授チャールズ・レイサーソン氏とダニエル・サンチェス氏、非常勤教授バトラー・ランプソン氏、実務教授ジョエル・エマー氏、研究科学者ブラッドリー・クズマウル氏、タオ・シャールドル氏、ニール・トンプソン氏は、ハイテク業界にはソフトウェアパフォーマンスエンジニアリング、問題解決へのより優れたアルゴリズム的アプローチ、合理化されたハードウェア相互作用が必要だと主張している。
スタックの最上部にあるこれら 3 つの領域は相互に関連しているために、過去の半導体密度の向上に比べると信頼性の低い成果しか得られません。
「『すべてのボートを持ち上げ』ることで予測通りに性能を向上させてきたムーアの法則とは異なり、性能を得るためにトップに取り組むと、機会主義的で不均一かつ散発的な向上しか得られず、通常は一度に特定の計算の1つの側面しか改善されない」と著者らは述べている。
それでも、これ以上の小型化は現実的ではなくなった今こそがチャンスです。
下から上へ
この未来には、より高速なコードを書くためのより優れたプログラミング技術が求められます。この点を説明するために、MITの研究者たちは、2つの4,096×4,096行列の乗算を行うシンプルなPython 2プログラムを作成しました。2.9GHz、18コアCPU、25メビバイトの共有L3キャッシュを備えたIntel Xeonプロセッサーを使用し、Fedora 22とLinuxカーネルバージョン4.0.4を実行しました。
i が xrange(4096) 内にある場合: j が xrange(4096) 内にある場合: k が xrange(4096) 内にある場合: C[i][j] += A[i][k] * B[k][j]
彼らによると、このコードでは行列積の計算に 7 時間かかり、Python 3 を使用すると 9 時間かかるとのこと。より効率的なプログラミング言語を使用することでパフォーマンスを向上させることができ、Java では 10.8 倍の高速化、C (v3) ではさらに 4.4 倍の高速化により実行時間が 47 倍改善されるという。
プログラミング言語の性能向上に加え、特定のハードウェア機能を活用することで、コードの実行速度をさらに1300倍向上させることができます。コードを並列化し、利用可能な18個のプロセッシングコアすべてで実行できるようにし、プロセッサのメモリ階層を最適化し、コードをベクトル化し、IntelのAdvanced Vector Extensions(AVE)を使用することで、7時間かかる計算タスクを0.41秒に短縮できます。これは、元のPythonコードの6万倍の速度です。
著者らは、すべてのアプリケーションがプログラミングの改善によって 5 桁も改善されるわけではないが、ほとんどのアプリケーションはパフォーマンス エンジニアリングの恩恵を受けることができると述べています。
ムーアの法則は死んでいない、とチップ専門家は宣言する ― AIのためにはムーアの法則が今後も継続していく必要がある
続きを読む
著者らは、アルゴリズムの改良も速度向上につながると述べ、1978年以降、ネットワークの最大フローを計算する方法が4つの進歩を遂げたことを指摘している。アルゴリズムの改良は、時間の経過とともに性能向上という点でムーアの法則と歩調を合わせてきたが、こうした進歩は不規則であり、永遠に続くとは期待できないと述べている。
また、パフォーマンスを最大化するために特定のアルゴリズムで使用される一部のハードウェア機能(同時マルチスレッド、動的電圧および周波数スケーリングなど)は、簡単にモデル化できない変動を引き起こすため、最適化が困難になることにも言及しています。
著者らは、ハードウェアメーカーがムーアではなく、より少ないことに焦点を合わせる必要があることを強調している。
「ポスト・ムーア時代には、設計者は逆の戦略を採用し、ハードウェアの合理化、つまりより少ないトランジスタとより少ないシリコン面積でハードウェア機能を実装することに重点を置く必要があると私たちは主張する」と彼らは言う。
これは、プロセッサの簡素化 (コア数と並列処理を増やすためにトランジスタ数を減らす) とドメイン特化 (特定のタスク向けにカスタマイズされたチップ) を意味します。
特化の可能性はGPUの文脈で見ることができます。研究者たちは、Advanced Micro Devices(AMD)FirePro S9150 GPUを使用してPythonテストを実行しました。結果は70ミリ秒で、Xeonの最高値よりも5.4倍、元のPythonコードよりも36万倍高速でした。
著者らは、かつては汎用プロセッサが急速に進化したため、専用プロセッサ市場を限定する傾向があったと指摘している。現在ではそうした競争がなくなり、クラウドプロバイダーが専用アプリケーションの需要を集約しているため、専用チップの需要はより高まると予想されている。
研究者たちは最後に、必ずしも底が探られたわけではなく、グラフェンなどの材料や量子コンピューティング、超伝導といった研究分野の進歩によって状況が変化する可能性があると指摘しています。しかし、そのような進歩はすぐには訪れず、私たちはスタックの頂点に目を向けるべきだと彼らは言います。® ®