Plan9とHPC (High Performance Computing)

これまで「Plan9 on BlueGene/L」や「Right-Weight Kernel」などで、何度かHPCがらみの記事を取り上げているけど、今回はMPI (Message Passing Interface)について。

MPIはHPCではデファクトスタンダードな並列通信ライブラリで、多くのアプリケーションがMPIで書かれている。世界最速のスーパーコンピュータを決めるTOP500で使われているLinpackベンチマークでもMPIが使われている(HPLというLinpackのMPI実装)。過去にいろいろな並列通信ライブラリが提案されてきたが*1、その知見の集大成がMPIだと言える。まぁ、Ron Minnich氏に言わせれば、MPIは「CM-5やT3Dのランタイムシステムの欠陥に対するバンドエイドに過ぎない」らしいが。。。

MPIの有名なオープンソース実装としては、MPICHOpenMPIが存在する。Plan9 on BlueGene/LにMPICH2を載せるという噂を聞いたけど*2、(MPIを使わずに?)HPCアプリケーションをPlan9向けにポーティングしているみたい。研究プロジェクトだし、Plan9ならではの可能性を追求してほしい。

ちなみに、Plan9らしいアプローチとしては、有澤先生のグリッドツールキットとか。マスタスレーブ型のタスク並列なアプリケーションを書くには便利そうかな。

*1:PVM (Parallel Virtual Machine)は割と有名だが、BSP (Bulk Synchronous Parallelism)というものもあったとか。

*2:MPIプロセスの起動を担うmpdはPythonで書かれている。PythonPlan9に移植済みである。