この小さなスーパーコンピュータで使うLinuxには、「Arch Linux」が選ばれた。同氏は次のように説明している。「Arch Linuxではミニマリズムを採用している。OSのイメージは小さく、150Mバイト以下だ。約10秒でブートするし、インストールイメージには、余分なものは一切含まれていない。デフォルトのインストール状態では、必要最低限の機能と、ネットワークをサポートしているコマンドラインインターフェース(CLI)が立ち上がる、最小限の環境が用意されているだけだ。このアプローチのいいところは、クリーンで高速な構成から始めて、自分の用途に必要なものだけを追加していけるということだ。欠点は、このユニークかつエレガントなLinuxへのアプローチのプロセスを、苦労して習得する気がなければならないということだろう」
もちろん、このRPiClusterは理想的なものではない。Kiepert氏は、「このコンピュータの費用対効果は大きく、特にクラスタプログラム開発が並列処理ではなく分散コンピューティングに重点を置くプロジェクトに向いている。これは、開発中のクラスタ用プログラムが、本質的に分散したものであり、あまりCPUを必要とするものでなければ、という意味だ。クラスタコンピューティングにRPiを採用した場合、あまり大きな「馬力」は得られないため、計算力が必要な目的に使うのであれば、別の手段を考える必要がある」と認めている。
Kiepert氏との電子メールのやりとりの中で、同氏は次のように付け加えた。「私が(クラスタを設定する上で)ぶつかった一番厄介な問題は、SDカードの破損の問題かもしれない。初めの頃は、クラスタの電源を落として(きちんとshutdown -hを使って)、再起動しようとすると、ファイルシステムが破損することが多かった。これは、RPiをオーバークロックした場合に発生することが多い問題のようだ。不思議だったのは、これはマスターノードではなくスレーブノードでだけ起こることだ(マスターノードは、1.7GHzのデュアルコアARM Cortex-A15プロセッサを搭載したサムスンの「Chromebook Series 3」だった)。
そのうち私は、電源を落とす前に共有しているNFSを手動でアンマウントすると、問題が軽減されるように見えることに気づいた。開発の一部として、イメージの再作成が必要な場合に、SDカードにイメージを書き込むスクリプトを作った。これは、ホスト名とIPアドレスさえ指定してやれば、スクリプトが残りの作業をやってくれるというものだ。これによって、イメージの再作成作業が非常に簡単になった。特に、最初に32あるすべてのノードのカードに初期イメージを書き込む必要があった時には役に立った」
こうして、Kiepert氏は、まだ「ファンをケースに固定するのに絶縁テープを使っている」ものの、安くてきちんと動くスーパーコンピュータを手に入れた。では、ここで最後の質問だ。いったいどの程度の性能を持っているのだろうか?
Keipert氏は、標準的なスーパーコンピュータベンチマークソフトであるHight Performance Linpack(HPL)をこのお手製のコンピュータで実行した。その結果、1GHzで動作する32個のBroadcom BCM2708 ARM11プロセッサと、14.6Gバイトの使用可能メモリを持つこのRPiクラスタが、HPLによるピーク時の性能で10.13GFLOPSという結果を出した。これは、スーパーコンピュータのTOP500リストに載るほどではないが、Kepert氏はこう考えている。「1985年の最初のCray-2スーパーコンピュータは1.9GFLOPSだった。時代は変わった!」
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。