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. このようなコンピュータのアーキテクチャに相当するものはないのか。
- 2. 本当に汎用のスーパーコンピュータが必要なのか。
- 3. ある問題に取り組むには、特殊なシステムの方がよいのではないか。
最初の質問に対する答えは、「はい、そのようなアーキテクチャの電子版に相当するものがあります」です。 アナログコンピュータとは、まさにそのようなものです。
いわゆる直接アナログ (調査対象の問題と同じ基本原理に基づく) は、このようなアナログ手法の最も単純なクラスを形成します。
「アナログ・コンピュータは、ある問題のモデルであり、それをシミュレーションすることによって、まさにその問題を解決するために使用できる」
より一般的に使用できるクラスには、問題と計算領域の間のマッピングを必要とする間接的なアナログが含まれる。 一般的に、このようなアナログは、加算器、積分器、乗算器などのアナログ電子回路に基づいています。 しかし、デジタル部品を使用して実装することもでき、その場合はデジタル差分分析器と呼ばれます。
両方のアプローチに共通する特徴は、そのようなコンピュータの動作を制御する保存されたプログラムがないことです。 その代わり、多くの計算要素間の相互接続を変更することにより、コンピュータをプログラムするのです (脳のようなものです)。 ワイヤの十字架は機械のプログラムとして表現することができます。