クラスタで計算可能なExcelの開発

 Excelも、クラスタ上での実行が可能な並列コンピューティングによるアプリケーションとなるのだろうか。Microsoftによってスーパーコンピューティング向けExcelが開発されているという。

MS、スーパーコンピュータ向け「Excel」を開発中--クラスタで計算可能に(CNET Japan)

 Microsoft Officeの数あるアプリーケーションの中で、自分にとってもっとも有用だと思っているのはExcelである。あとのアプリケーションは周囲とデータの交換をするために仕方なく使っているようなものである。実際、Microsftにとって、スプレッドシートワープロ以上に歴史がある「枯れたソフトウェア」と言われてきた。


 そのExcelがようやくというべきか、クラスターコンピューティングが可能になるという。スーパーコンピューティング分野での話ということだが、スーパーコンピューティングとネット上のクラスタコンピューティングはアルゴリズム的には、あまり差がなくなってきている。さらにクラスタといえば、クラウドの中での処理がそうなっている。Microsoftとしては現在急ピッチで進めているWindows Azureクラウドの中で実行できるExcelを目指していることになるだろう。Microsoftはそれを追撃するLinux環境によるクラウドにはないExcelをアドバンテージとして生かしたものとしたいようである。


 もともと分割可能なセルのグループを前提にしたスプレッドシートは、直感的にも並列処理化しやすい対象ではある。複数の利用者がオンラインで共有して共同作業もしやすい性格を持っている。複数の場所から大量のデータが入力されてそれぞれ分割された処理がボトムアップ的に進み、最後はトータルの処理へと進むというように、もともとメッシュ状にデータが配置されているわけだから、並列処理になりやすいと考えられる。


 もっともスプレッドシートを使って、クラスタコンピューティングをするほど何を大規模計算するかである。普通、それほど大規模な処理や計算をそもそもスプレッドシートを使って行うだろうか。少なくとも計算をしようとすれば、Excelの関数やあるいは自動化するためにVisual Basic(VBA)を使わなくてはならない。それらの関数がどれだけの精度の信用がおけるかということもある。スーパーコンピューティングならば、多くの場合C++、昔ならFortranでプログラミングすることになるだろうが、プログラミングそのものよりも信用できるライブラリルーチンの財産があることが大きい。Excelの関数、あるいはVBAの関数では、それに耐えられるだけのものになっていないだろう。


 それはともかくとして、Officeのクラウド版を目指す流れだと考えれば納得はいく。ユーザは意識する必要はなくても、クラウド上では、常に複数のユーザからの処理要求をクラスタコンピューティングで処理していることになるのだろう。ユーザ側からはむしろクラド上のExcelを利用することになるのは、Office Web Appsを通してということが重要になるだろう。クラスタコンピューティング可能なExcelへの移行ということは、必然的にデスクトップのOfficeからオンラインのOfficeへと、Microsoft Officeも移行を意味することになるだろう。