3 Screens 1 Cloud とは
11月4日、Microsoftの研究部門であるMicrosoft Researchが主催する「Computing in the 21st Century」が慶應義塾大学 日吉キャンバスで開催された。世界中からコンピューターサイエンスの専門家が集まり、最新技術の動向や流行などを深く考察する会議である。
今年は米MicrosoftからシニアバイスプレジデントのRick Rashid氏、コーポレートバイスプレジデントのDan Reed氏のほか、ロボット工学の分野で著名なカーネギーメロン大学U.A.アンドヘレンウィテカー大学教授の金出武雄教授、パーソナルコンピュータの提唱者として知られるアラン・ケイ博士がキーノートのスピーカーとして登壇した。なお、アラン・ケイ博士は体調の理由からビデオ会議による参加となった。
冒頭、リード役となっていたMicrosoft Research Asia所長の洪 小文(ホン シャオウェン)博士は、今回の会議のテーマともなっている「3 screens and 1 cloud」というキーワードを紹介した。これは、最近になってMicrosoftが唱え始めた概念で、会議の翌日には来日したスティーブ・バルマーCEOも会見でこのキーワードを使っていた。3 screensとは、PC、モバイル、TVを意味するらしく、これら個別のデバイスをクラウドで連携させることで、これまでにはなかったユーザー体験を提供できるというものである。
基礎研究の価値と成果
Rick Rashid氏は、1991年にMicrosoft Researchが設立されてからの経緯と成果を説明した。同部署は長期的な投資戦略に基づいて、大学と協力しながらオープンに技術革新のための研究開発を行っているという。
Microsoft Researchによる基礎研究の成果が様々な製品に導入されており、製品開発の面でもリーダーシップを発揮して影響を与えている。報道等で話題になった「Microsoft Surface」や、Xbox 360の「Natal」などが有名だが、Windows アプリケーション開発者にとっては馴染みのあるプログラミング言語「C#」、次期Visual Studio 2010で標準搭載が予定されている「F#」などもよく知られるMicrosoft Researchの研究成果だろう。
メニーコアとクラウドの時代
その後、金出武雄教授やDan Reed 氏の講演ではメニーコアによる並列処理とクラウドによる大量のデータ処理が可能になる次世代にコンピュータサイエンスがどのように変わっていくのかが話題の中心となった。
金出教授は、個々の細胞の分裂を時系列で追跡するシステムを開発していることを紹介し、人間による作業では不可能に近かった膨大な時間が必要になる作業がテクノロジによって解決される事例として説明した。これまではスーパーコンピュータやグリッド・コンピューティングなどで行われていた膨大な計算量の解析処理も、CPUのマルチコア化やGPUを汎用的な演算に応用するGPGPUに登場よって並列演算能力が大幅に向上したため、低コストで実現できるようになるだろう。
Dan Reed氏は、自分がこの世界に入ってきたころのCPUは現在の携帯電話よりもクロックレートが低かったと話し、メインフレームの時代から現代までコンピュータが指数関数的な進化を遂げてきた歴史を説明した。ところが、これまではクロックレートの上昇がコンピュータの進化(性能)に直結していたが、消費電力と熱の問題からメニーコアの時代へと移行しつつある。ハードウェアの進化の流れは、大きな変化を迎えているというのだ。
CPUのクロックレートが速くなればソフトウェアの性能も自動的に向上するが、マルチコアの場合はアプリケーションが並列処理に対応しなければならず、プログラミングモデルも合わせて変化しなければならない。これは、マルチコアに対応していないソフトウェアは今後のCPUの性能向上(コア数の上昇)の恩恵を十分に受けられないことを意味する。関数型をベースとしたF#言語や、次期.NET Frameworkなどの新しい開発環境もマルチコアを意識した設計になってることは間違いない。
その後、メニーコア時代に考えられるコンピュータの例として、触れた筆をシミュレーションする描画デバイスが紹介された。これは、単純なタッチデバイスではなく、紙と同じようにデバイスに触れている物体を物理的にシミュレーションするというもので、筆で描けば筆のように絵の具が塗られるというものらしい。
もうひとつ、現代のコンピュータの大きな変化として挙げられるのがクラウドだ。メニーコアによって大量のデータを解析することができるようになるなら、そのデータを集める場所が必要になる。クラウドであれば、データをインターネットからソーシャルに収集し、種類の異なる様々なデータを疎結合で関連付けるシステムに適している。
特徴的なのは、すべてをクラウドで解決しようとするものではなく、クライアントとクラウド双方のリソースを効率的に活用しようという"Client+Cloud"という提案である。クライアント環境の能力が不十分であればクラウドで処理を行い、ネットワーク帯域やクラウド上のサーバーに十分なリソースがなければ、可能な限りクライアントで処理を行うなどの選択も可能となる。そして、このようなクライアントとクラウドの強固な連携を可能にするのがWindows プラットフォームであり、間もなく正式サービスが開始される「Windows Azure」であるというわけだ。
Dan Reed氏は、成熟したクルマ社会では動作原理を理解していなくても操縦方法さえ理解していれば車に乗れるのと同じように、成熟したコンピュータ社会では、今よりもずっとテクノロジを意識することなくコンピュータを利用できるようになると語った。ネットワーク環境、クラウド、ユーザーインタフェースが進化した21世紀の後半には、コンピュータがどのように利用されているのか興味深いものである。近い将来、「Microsoft Office Labs」が描くような時代になっているかもしれない。
また、後半の質疑応答では会場からプライバシーやセキュリティなどクラウドの信頼性の問題についても指摘され、ディスカッションが行われていた。今後、クラウドが多くのソフトウェアの基盤となる場合、信頼性の問題は重要になる。Dan Reed氏の説明によれば、細胞が死滅と再生を繰り返している間も人は問題なく活動できるのと同じように、クラウドのデータセンターでは大量のコンポーネントを扱うため常に何かが壊れるが、コンポーネントの故障が信頼性の低下につながらないデザインになっていると説明した。
ディスカッションにはオンラインで参加していたアラン・ケイ博士も加わり、コンピュータが人間の脳に追い付くのはいつなのか、コンピュータはより楽しいものになるのかなど、コンピュータ産業の将来に関連した質問に答えていた。博士は丁寧に答えていたが、もっと簡単な回答があるのではないだろうか。
未来を予測する最良の方法は、未来を発明すること(The best way to predict the future is to invent it.)である。