1. Webブラウザが相対的な重要性を増す

Web上のソフトウェアインターフェースの多くはJavaScriptによって書かれている。これは多くのWebブラウザがECMAScriptとして標準化された仕様に準拠し実装されていることに依る。一方でJavaScriptには決定的な速度的制約がある。
高速化を阻んでいる最初の要因は実行時に機械語に翻訳される点である。JITコンパイラが登場しインタプリタ方式の時代から比べて高速化したが、事前にコンパイルされ最適化されるネイティブコードの実行よりもはるかに遅い。通常ネイティブ言語で書かれたソフトウェアは環境(特にCPUアーキテクチャ)に依存するのでオープンなWeb上のアプリケーションを記述するのに向かなかった。
もうひとつの原因は言語仕様上の特性にある。動的型推論、擬似的なクラス、配列の不在により柔軟性がもたらされている反面、実行時チェックによるオーバーヘッドが常にかかかる。
こうした速度上の問題を解決するために各ブラウザベンダーは様々なアプローチをとっている。MicroSoftは静的片付けやクラスの拡張機能を持ったTypeScript、Mozzilaはasm.jsという形でより最適化されたJavaScriptにより高速化させるという方針を進めている。一方でGoogleは同様な傾向のDartに加えてコンパイル済みのネイティブコードを直接ブラウザ上で動かすことのできるPNaClを推進している。これはLLVMにより生成された中間コードを配布実行することで第一のボトルネックであるマシン依存とネイティブコードによる実行速度のトレードオフを解決するものだ。
こうした傾向が進むことでブラウザ上のWebアプリケーションとこれまで端末に依存していたネイティブソフトウェアとの実行速度が縮まり、Web上でダウンロードした大規模ソフトウェアをそのままブラウザで実行することが一般的になる。ChromeBookはまさにこのような未来を想定してデザインされている。

2. マイクロマシン(ナノマシン)技術が日常を覆う

組み込みコンピュータはすでに私たちにとって身近なものとなっている。例えば信号機、自動販売機、家電、車などありとあらゆる機械は今や内臓コンピュータの助けなしではあり得ない。一方でこれまで機械加工により製造されていた各種構成デバイスがフォトリソグラフィを中心とする半導体集積回路製造技術により制作される小型のMEMS(Micri Electro Mechanical System)に置き換わっている。MEMSは従来の機械構造を集積化しシリコンウェーハ上に構成するもので、東北大学の江刺正喜氏が世界的権威である。特にマイクロセンサや通信モジュールの小型化高性能化によりこれまで実現できなかった高度なデバイスが構築できるようになってきている。さらにFPGAまたはPSocといったプログラマブルなマイクロコントローラは従来回路図上で行っていた回路設計や論理合成をソフトウェア上で実現可能にし、ちょうどWebコンテンツの制作が民主化したのと同様な現象が起こる。これにより多種多様なデバイスが世の中に溢れ、私たちの日常的な環境はマイクロマシンで埋めつくされるようになる。ウェアラブルコンピュータという言葉はこの傾向の一面を切り取ったものに過ぎない。

3. 分子コンピューティングと人工知能の基礎が芽生えはじめる

今日のあらゆるIT技術は人工知能に向かっているとも言える。それは一言で言えば人間が避けるべき仕事を人間よりも高いパフォーマンスでこなしてくれる存在だ。AppleやGoogleは来るべきこの未来のためにテクノロジー企業を買い漁っている(ように見えないだろうか?AppleはともかくGoogleは間違いなくyesだ)。
しかし人工知能の実現にはコンピューティングの更なるパラダイムチェンジが必要である。2004年のIntel Pentium4を最期としてプロセッサ単体のクロック数上昇は止まり、(並列処理による進歩は続いているが)これは電子回路によるコンピューティングの限界を示唆している。コンデンサの集積密度が上がるほどに電力と発熱の問題が深刻化するためだ。
そこで次世代のコンピューティングは量子コンピューターに委ねられるという世論があるが、近い将来より実現の可能性が高いのは量子でなく分子によるコンピューティングだと思われる。量子コンピューターには依然解決困難な壁が多くあり、また特定の演算向けとなるのに対し、ナノテクノロジーによる汎用的な分子コンピューティングの基礎研究はすでに一定の段階に入っている。1kgのラップトップPCサイズの物質が10の25乗個の原子を含んでいるとすると、潜在的には10の27ビットのメモリを保存でき、また過去1万年の全人間の思考に相当する計算を10マイクロ秒で実行可能な能力があると言われている。
ソフトウェア分野での鍵となるのはパターン認識とそれによる機械学習アルゴリズムでありこの手の研究は方々で行われている。ソフトウェアの性能はハードウェアと日進月歩なので詰まる所コンピューティングの進歩次第となるがこの萌芽が近い将来顕在化し始めるだろう。


Leave a Reply