アラン・チューリング博士の考えは生きている
2015年5月29日 00:39

コンピュータは、メモリに命令とデータを蓄積し、それらを読み出して、「1番地のデータを5番地にコピーせよ」というような命令を実行することで、制御や演算を行う。メモリに格納する命令やデータをソフトウエアで書き換えるだけで、さまざまな制御や演算を行わせることができる。こういった汎用の演算器、すなわちコンピュータの概念を生み出したアラン・チューリング博士の生き様を描いた映画「イミテーションゲーム/エニグマと天才数学者の秘密」を見た。

 

AlanTuring.jpg

図 アラン・チューリング博士が描いた抽象画 エジンバラ大学にて筆者撮影

実用的なコンピュータを作り上げたのはモークリーとエッカートだと言われているが、コンピュータのすごいところは計算が速いことではない。ソフトウエアを書き換えるだけで、いろいろな業務を行うことのできる汎用性だ。例えば、地球の軌道計算や無理数のπ(3.14159....という数字)の計算だけなら、ロジック回路だけで計算させる専用計算機の方が計算速度ははるかに高い。

 

天才、アラン・チューリングは、映画の中で「専用の暗号解読器を作るのではなく、プログラムを変えるだけでいろいろな計算ができるマシン(エニグマ)を作る」と言っていた。彼が生み出したフレキシブルなコンピュータの概念こそ、現在のデジタル機器の基礎になっている。ほとんどのデジタル機器は、CPUとメモリ(主にデータを出し入れするRAMと、命令を格納するROM)、その他外部へデータを入出力するI/Oインターフェース、独自の周辺回路、で出来ている。パソコンはもちろん、デジカメもスマホもテレビもプリンタもカーナビも、デジタル機器と言われるモノの基本は、このCPUとメモリ、周辺回路、I/Oインターフェースである。ここにソフトウエアを載せることで、違う機能を実現する。

 

ソフトウエアは、全てゼロから開発しなくても済むように、基本的なOS、ミドルウエア、アプリケーションという階層構成になっている。それぞれのソフトウエアをそれぞれの専門家が開発することで、ソフトウエアはつながっていく。例えば、ゲーム用のソフトウエア(アプリケーション)開発では、アプリだけを開発し、OSは出来合いのものを使う。

 

今の半導体産業・電子産業は、それぞれの回路をそれぞれの専門企業が担当している。だから全てを1社が開発する必要がない。CPUならインテルやアーム、ミップスなどの回路を購入し、メモリだとサムスンやマイクロンの製品が秋葉原で手に入る。インターフェースは共通化・標準化されているから、これも簡単に手に入る。ソフトウエアでさえもOSだとアンドロイドやマイクロソフトのウィンドウズなどを導入すればよい。

 

では、何を持ってデジカメやスマホなどの製品ができ、他社の製品と差別化できるのか。それこそがアプリケーションやミドルウエアであり、周辺回路である。つまり、ここに注力して、それ以外の部品や回路は市販のモノで済ませる。これが、良いものを安く、早く作るコツである。

 

以前、1000億円しかないスーパーコンピュータ市場で、1000億円もの国家予算をかけるスーパーコンピュータの国家プロジェクトは、全てゼロから開発しようとしていた (参考資料1)。だから、このやり方はおかしくないか、と問いかけた。国から予算をいただいて仕事している人たちだと思うが、ブログが炎上するほど非難を受けた。

 

しかし、同じスーパーコンピュータでも東京工業大学の「つばめ」は、「京」の1/10のコストで同様な性能を得ている。もちろん、ソフトウエアによって、それぞれ得意・不得意の計算があるから一概には言えないことは重々承知の上だ。東工大の方法は、CPUを外から買い、他の差別化すべき回路、ボトルネックとなっている部分だけにフォーカスして開発してきたからこそ、安いコストで高性能なスーパーコンピュータを実現できたのである。この手法こそが、世界の勝ち組企業が使っている手法に他ならない。日本の電子産業が没落したのは、何でもかんでも自前でやろうとしてきたからだ。

 

今でも日本製のOSCPUを開発しようという時代錯誤の発言を未だに聞くことがある。もうOSCPUは差別化できる部品ではない。そのようなところにこだわっていると世界から取り残されてしまう。だからこそ、何を開発して、何を開発すべきではないのかを明確にして、ハードあるいはソフトの開発に力を入れるべきだろう。

 

では、すでに「京」の渦中にいるエンジニアが世界にコスト的にも、Time-to-market的にも負けないスーパーコンピュータに仕上げるためにはどうすればよいか。これが、参考資料2で提案した、プラットフォームとしてのスーパーコンピュータである。下位展開できるように、まるで、「レゴブロック」のように簡単に取り外しできるような仕組みのシステムを作ればよい。いわゆる「専用」のスーパーコンピュータを作っても絶対にコスト競争力は付かない。「超汎用」のスーパーコンピュータを作ることこそ、コスト競争力が備わる開発手法、すなわちプラットフォーム戦略だと言える。

 

専用の計算機ではなく、汎用の計算機を作ろうと考えた、アラン・チューリング博士の考え方は、さまざまな少量多品種、さまざまな応用に適用できる手法である。日本がキラーアプリの開発、という考えに凝り固まっていては、いつまでたっても世界の勝ち組の仲間入りはできないだろう。どのような応用にも柔軟に対応できるモノ(プラットフォーム)を作ることが変化の激しい時代に生き残れる考え方だといえる。

 

参考資料

1.    世界と比べて常識はずれな1000億円という高額のスーパーコン補助金2013/05/10

2.    スーパーコンピュータの補助金1000億円をジャスティファイする方法2013/06/18