ArsTechnica: 10 Raspberry Pi creations that show how amazing the tiny PC can be ~ 大分古い記事だが
ArsTechnica: 10 Raspberry Pi creations that show how amazing the tiny PC can be (2012-12-27)
大分古い記事だが、25~35ドルコンピュータのRapsberry Piの利用法についての特集である。この中でも、64 Raspberry Pis form an HPC Lego clusterの記事は、自分の趣味ともよく合って面白いと思った。要するにRaspberry Piをたくさん重ねてスーパーコンピュータを作ろうという話である。Raspberry Piはあまり発熱が大きくないので、たくさん重ねるのもあまり無理がなさそうだが、その代り1台ごとの処理能力は京で使われているCPUなどに比べるとかなり落ちるだろう。「でも、いいのだ」とするところが何とも言えず好もしい。
前に似たような話で、SonyのPS-3がLinuxをインストールできた頃(今はできなくなってしまった)、それを何十台も並べてスパコンを作るというプロジェクトがあった。同じことだが、Raspberry Piの方が1つのCPUの能力が小さい代わりに安くて小さくて電力が少ない。
ここで、きちんと解いておかなければならないのは、集積した方が性能が上がるという昔の神話が今どれだけ正しいか、ということだろう。但し、後述するように性能はソフトの作り方に依存するので、それを除いて、ハードだけの能力でまずは比較してみるべきだろう。もし大差ないという結論が得られるなら、大規模なRaspberry Piクラスタを作る価値も出てこようというもの。
さて、自分自身の興味である、ソフトウェアサイドの話。一般論として、ソフトウェアが並列動作する条件はかなり厳しい。並列度を上げようとすればするほどうまく性能が稼げなくなることは、アムダールの法則として知られているが、それだけでなく、数千~数万の並列度を目指すとき、元々の問題(アルゴリズム)がそれだけ並列実行可能な形をしていない問題も大きい。まあうまく行くのは同じ処理を多数のデータに施す時ぐらいになってくる。
ではあっても、並列処理は夢であるし、Raspberry Piでソフトウェアやアルゴリズムの何万レベルの並列化が安直に実験できるのであれば、それは楽しい世界であろう。35ドルのPiを使うとして、1万ノードで35万ドルということは3500万円(最近は為替レートが100円に近づくし)。何っ? 80円から100円になると700万円も高くなるのかっ? 早くやっておけばよかった。