皆さんこんにちは。家庭用のスーパーコンピュータ(スパコン)を作っているD.Mです。
今回は、Raspberry Pi(初代)を16台使用して「ラズパイスパコン」(クラスタPC)を作ってみました。その概要を記します。
きっかけは1冊の本
ラズパイスパコン界隈のバイブルといって過言ではない一冊
Raspberry Piでスーパーコンピュータをつくろう! Carlos R. Morrison (著), 齊藤 哲哉 (翻訳)ISBN:978-4320124370
https://www.amazon.co.jp/dp/4320124375
この本に感化された私は、真似して自分でも作ってみようと思いました。
Ubuntu PCで試してみよう
本の通りに、手元にあるUbuntuOSがインストールされたマシンで今回実施する並列計算を検証してみました。
最近のCPUはマルチコアなので、複数のコアを使用してそれぞれのコアに処理を割り当てて、並列計算を体験することができました。
2ノードで並列計算してみよう
こちらも本の通りに進めていきました。
最初に説明のための知識としてざっくり補足します。
スパコンって何なの?
凄いコンピュータがスーパーコンピュータです!
という半分冗談はさておき、ざっくり言うと科学計算に使われる計算機です。
科学計算って何なの?
科学計算は科学の分野の計算...すみません。
皆さんの一番身近なところだと天気予報(気象シミュレーション)です。
さて、ここで問題です。
20℃の空気と22℃の空気があります。混ぜると何℃ですか?
答えは21℃!熱は熱い方から冷たい方に移動し、移動した熱は物体の温度を上昇させることを学校で習ったと思います。
こういった計算を各都道府県、地方、国、世界地域ごとに計算して、導き出された結果を基に次の状態を計算して未来を予測したものが、天気予報です。
さて、天気予報をするためには膨大な量の計算をする必要があります。
地球をざっくり区切って、「明日の日本の天気は〜」なんて予報は皆さんおそらく使わないと思います。
東京でも雨の降っているところと無いところが混在し、下手をすると、1m先では雨が降っていないなんてこともあります。
より正確に予報を行うには、細かく範囲を刻んでいく必要があります。細かく刻むと言うことはそれだけ計算する量が増えます。
さて、少し話をずらして、明日の気温を予想したい!となった場合に、計算に1週間かかったとするとどうでしょうか?
そうですね。使い物になりません。
しかし計算する量が増えると言うことは計算に必要な時間が増えると言うことです。
以上により科学計算には、膨大な量の問題を高速に計算することができる凄い計算機が必要になります。
膨大な量の問題を計算するには?
では膨大な量の問題を早く計算をするためには、どうすればいいでしょうか?
- とても賢い頭脳(計算機)を用意して1つの問題の処理時間を短くする
- 複数人で分担して問題を解く(計算ドリルをみんなでとく)
- 九九などの計算時間を短縮できる裏技を使う
などが考えられます。
今回は2番目の発想の複数の計算機を使用した手法で問題を解きます。
なお、この計算する計算機群(計算機の集まり、クラスタともいう)の物理的な単位をノードといいます。
2ノードの計算機を使ってみよう
さて、2つの計算機(2つのラズパイ)を使って計算を分散させる仕組みを本の通りに、構築してみます。
本のサンプルプログラムで実際に円周率を計算してみると下図の様な計算結果となりました。
見事複数の計算機を使用して、問題の解決時間を短縮することができました。
本であれば、1台のラズパイ2にCPUコアが4つ搭載されているので計算機を増やした場合の結果が面白くなりますが、ラズパイ1は1コアなので、検証は終了です。(残念)
さらなる発展を目指して
このあと私は、ノードを4、8、16と増やしていき大きく計算時間を短縮することができました。詳しくは私の発行した
「Raspberry Piでスーパーコンピュータを作ってみた!」(ISBN:978-4-9913558-0-6)
にて紹介しています。
https://dmep.jp/shop/9784991355806.html
本書では構築の内容に追加して、スパコンの世界1位2位を決めるベンチマークソフトの動かし方も解説してあります。
各種通販サイト・図書館等でお取り扱いしておりますので、是非ご覧いただけますと幸いです。
また、同人誌即売会等で、実機の展示と合わせて頒布しております。見るだけでも迫力がありますので是非お越しください。
イベント参加情報はXにて告知しております。
最後に
最後まで長い間ご覧いただき誠にありがとうございました。
より詳しい背景や考え方を note にまとめていますので興味がございましたらご覧ください。
https://note.com/dm2525/n/nfcfeb63b6495
今後も2号機、3号機と計画しておりますので、フォロー、いいね、コメント等で応援いただけますと幸いです。