Why Algorithms Suck and Analog Computers are the Future

この記事の見出しは少し挑発的に聞こえるかもしれませんが、これは真実です。 膨大な処理能力を必要とする問題では、アルゴリズム コンピューティングはあまりうまくスケールしません。

高性能コンピュータの最新のトップ 500 リストを見てください。 現在、最も強力なスーパーコンピューターは、中国の無錫にある国立スーパーコンピューティングセンターにある Sunway TaihuLight です。 この巨大なコンピュータは、なんと93ペタフロップス(1ペタフロップスは1秒間に1兆回の浮動小数点演算に相当)を実現し、まさに底知れぬ威力を発揮している。

スーパーコンピュータとエネルギー消費

しかしながら、このような巨大な処理能力にはコストがかかります。 この場合、10,649,600 個のプロセッシング ユニット、いわゆるコアが必要で、15,371 メガワットを消費します。これは、サンフランシスコと同等の平均エネルギー消費量で、人口約 16,000 人の小さな都市を賄える電力量です。 このシステムは、14.11ギガFLOPS/Wを達成しながら、36288コアに必要な総電力消費量は「わずか」142キロワットなのだそうです。 エネルギー効率という点では、TaihuLightの約2倍となる。 しかし、142 キロワットはまだ非常に多くの電力です。

しかし、実行にこれほどのエネルギーを必要としないスーパーコンピューターはないのでしょうか。 実際、あります。 人間の脳はその好例で、その処理能力は約38ペタフロップスと推定され、TaihuLightの5分の2程度です。 しかし、その動作に必要なエネルギーは約20ワットです。 メガワットではなくワットです。

「これほどエネルギーを必要としないスーパーコンピューターはないのですか? 確かにあります。 人間の脳がいい例です」

この違いは何なのでしょうか。 まず、脳はいわば特殊なコンピュータであり、TaihuLightやTSUBAME3.0のようなシステムは、さまざまな問題に取り組むことができる、より汎用的な機械であることです。 基本的にこれは一連の命令であり、各プロセッサはメモリサブシステムから命令を読み出し、命令を解読し、オペランドをフェッチし、要求された演算を実行し、結果をストアバックするなどして実行する。 人間の脳

これらのすべてのメモリ要求には相当なエネルギーが必要で、処理速度がかなり低下します。 何十万もの個別のコアを持つことは、必要に応じてコア間でデータを交換するための複雑な相互接続ファブリックも必要となり、これも計算を実行するのに必要な時間と電力を増加させることになります。 その動作には何のプログラムも関与していない。 9085>

脳は、メモリから命令やデータを取り出したり、命令を解読したりする必要はない。 ニューロンは他のニューロンから入力データを受け取り、このデータに基づいて動作し、出力データを生成して、受信ニューロンに送ります。 OK – これは少し単純化しすぎですが、次のような疑問を持つには十分です:

  1. 1. このようなコンピュータのアーキテクチャに相当するものはないのか。
  2. 2. 本当に汎用のスーパーコンピュータが必要なのか。
  3. 3. ある問題に取り組むには、特殊なシステムの方がよいのではないか。

最初の質問に対する答えは、「はい、そのようなアーキテクチャの電子版に相当するものがあります」です。 アナログコンピュータとは、まさにそのようなものです。

いわゆる直接アナログ (調査対象の問題と同じ基本原理に基づく) は、このようなアナログ手法の最も単純なクラスを形成します。

「アナログ・コンピュータは、ある問題のモデルであり、それをシミュレーションすることによって、まさにその問題を解決するために使用できる」

より一般的に使用できるクラスには、問題と計算領域の間のマッピングを必要とする間接的なアナログが含まれる。 一般的に、このようなアナログは、加算器、積分器、乗算器などのアナログ電子回路に基づいています。 しかし、デジタル部品を使用して実装することもでき、その場合はデジタル差分分析器と呼ばれます。

両方のアプローチに共通する特徴は、そのようなコンピュータの動作を制御する保存されたプログラムがないことです。 その代わり、多くの計算要素間の相互接続を変更することにより、コンピュータをプログラムするのです (脳のようなものです)。 ワイヤの十字架は機械のプログラムとして表現することができます。

この写真は Tibor Florestan Pluto によって撮影されたもので、筆者自身のアナログ コンピュータ プロトタイプを表しています。 パッチコードを抜き差しすることで、コンピュータをプログラムします。

幸運なことに、今日の電子技術では、基本的な計算要素だけでなく、付属のデジタル・コンピュータからプログラムできるクロスバーを含む集積回路を構築することが可能であり、ワイヤの鼠の巣を完全に排除することができる。 たとえば、2005 年の論文で、Glenn E. R. Cowan は Very-Large-Scale-Integrated Analog Computer (VLSI) 、すなわちいわばチップ上のアナログ コンピュータを説明しました。 このチップは、あるクラスの微分方程式に対して、1 ワットあたり 21 ギガフロップスという驚異的な性能を発揮し、今日の Green500 リストの中で最も電力効率の高いシステムよりも優れています。

「将来のアプリケーションでは、より強力なコンピューティング・パワーを、より低いエネルギー消費レベルで必要とします。 デジタル・コンピュータはこれを提供できない」

明日のアプリケーションは、はるかに低いエネルギー消費レベルでより強力なコンピューティング・パワーを要求します。 しかし、デジタル・コンピュータは、単にこれをそのまま提供することはできません。 そこで、従来のコンピュータから複雑な微分方程式を解く負荷を取り除く、最新のアナログ・コプロセッサの開発に着手する時期が来ている。 その結果、いわゆるハイブリッド・コンピュータが生まれるだろう。

これらのマシンは、同等のエネルギー消費量で今日のスーパーコンピュータよりも高い計算能力を提供したり、医療における埋め込み型コントローラーやその他の組み込みシステムのように、わずかなエネルギーしか利用できない分野で使用される可能性があります。 取り組むべき主な問題の1つは、アナログ・コンピュータのプログラミングが、今日、学生が大学で学ぶこととはまったく異なるということです。

アナログ・コンピュータには、アルゴリズムもループも、彼らが知っているようなものは何もありません。 その代わりに、数学的に記述された問題の電子的アナログを設定するために、巧妙に相互接続されなければならない、基本的でありながら強力なコンピューティング要素がいくつか存在します。

強力な相互接続や高度に統合されていながら正確なコンピューティング要素などの技術的課題は、この教育的課題に比べると小さなものに思えます。 結局のところ、プログラミングに対する人々の考え方を変えることが、アナログコンピューティングの将来にとって最大のハードルになるでしょう。