RaspberryPiですぱこん!その③(4x4で16倍!?)
RaspberryPi 4(の4コア)x4でふぉーばいふぉー!
胸にきらめくプレートはししのじゅうろく!!(意味不明)
と、いうわけで、
からさらに続きです。
こんどこそもう二台加えて4台体制でやってみますYO!
ようやくクラスターと呼んでもいいぐらいの束になった感ありますね!
とは言っても、2台目でやったことを繰り返せばいいだけなので、実のところ3台目と4台目の追加作業自体はらくちんです。
やることメモ
・Slv2とSlv3の /etc/hostname と /etc/hosts を修正。
・Mst0からそれぞれにsshログインできる事を確認。
・Mst0からそれぞれに認証鍵を転送
・Slv2と3に /spacom ディレクトリの作成、権限変更、マウント。共有の確認。
というかんじですね。最初のは前回やっているので、認証鍵あたりからをSlv2と3の二台まとめてやっちみます。
認証鍵の転送
Mst0から、
$ ssh-copy-id pi@Slv2
$ ssh-copy-id pi@Slv3
とやって、それぞれに認証鍵を転送しときます。
こんなかんじね。
Mst0からどちらへもパスワード無しでsshログインできることを確認します
おk!
/spacom ディレクトリの作成
Slv2とSlv3にログインして、
$ sudo mkdir /spacom
$ sudo chown pi:pi /spacom
をします。
こんなかんじですね。
手動マウントの確認
Slv2および3から、
$ sudo mount Mst0:/spacom /spacom
をしてみて、ちゃんとマウントできるか確認します。
よしよし、できてるできてる☆
※ここで fstab を書き換えたりいろいろしておくと後々便利なのですが、ぶっちゃけやらなくても手動でマウントしていれば問題ありませんw 電源一度切ったら忘れちゃうので、毎回マウントしないといけませんけどねw
さっそくやってみる!
4マシン(4x4で16コア!)が無事動作しているか、Mst0へ戻って確認してみましょう。
8コアでの確認コマンドは
$ mpiexec -H Mst0,Mst0,Mst0,Mst0,Slv1,Slv1,Slv1,Slv1 call-procs
でした。
これが16コアということは……
$ mpiexec -H Mst0,Mst0,Mst0,Mst0,Slv1,Slv1,Slv1,Slv1,Slv2,Slv2,Slv2,Slv2,Slv3,Slv3,Slv3,Slv3 call-procs
ですかね?
まじで? とおもいますが、まじでそうなのですw これが16コアだからこの程度でいいけれど、64とか128コアになったらどうなっちゃうんでしょ? 激しいことになりそうですねえw
なんてのはおいといて、さっそくやってみましょう!
うりゃ!
おお、ちゃんと16プロセスが割り当てられています!
円周率計算もやってみる!
次にどきどきのパイ計算!
うりゃっ!
どん! 1分8秒254!
8コアに比べて劇的に、とは言えませんが、確かに減っているようです!
9~15コアを飛ばして8~16を直線で結んでしまったグラフはこのようなかんじ
ちょっとこれでは雑過ぎるので、ちゃんと9~15コアを個別に測定してみました。
測定結果
単位はm:s.msです。
グラフにするとこう
今回は sys の値も入れておきました。(赤い線。あんまり関係ないけどw)
※ real, user, sys の意味は前回参照ね☆
注目は黄色のrealライン、綺麗に反比例曲線になっています。よーく見ると、
14コアの時に1分08秒16をマークしているのに、15コア以降でじゃっかん時間が増えていますね。
グラフではほとんど横ばいで差がわからないぐらいの微妙な範囲ですが。
けつのろん
単純にコアやCPUの数が増えれば増えるだけ速度が速くなるわけではない!
ばばーーん!
ってあたりまえですねw まあ、分かっちゃいましたけどw
おそらく、この円周率計算のプログラムのセグメント分割手法と、RaspberryPi のCPUの速度、I/O関係やLANによるデータ転送のボトルネック等があいまって、ここらへんが今のところの速度の限界のようです。
何のチューニングもしないでさらにRaspberryPi を増やすと、ここから先はボトルネックの負荷で逆に速度が遅くなっちゃうのかも?
(GUIを入れっぱなしだったり、いらないバックグラウンドプロセス走ってたりするので、このあたり殺したりすればもうちょっと効果あるかも?
あとはオーバークロックとかとか)
ともあれ、これ以降はチューニングをどう煮詰めていくかという別の戦いなってくるので、今回はそっちには深入りはしないでおきます(きっと沼だとおもうーw)
以下オマケ
沼にはこれ以上近寄らないどこー。って思うところではありますが、それはそれで、ハマりがいのある沼っぽいですね、この沼はw
そんな沼の縁をちょろっと覗き込めちゃうというのも、このRaspberryPi という子はなかなかおもしろいおもちゃなのではないかと思います。
※今は4台なので小型のギガビットイーサネットのHUBでいいですけど、これが何十台とかになったらネットワークトポロジーとか煮詰めていかないといけない世界。。きっと各マシンを最短の経路で……とかやりだして、大昔の↘こんな円柱コンピュータとか
趣味で作れるようになっちゃうかもかも?
( ゚д゚)ハッ! そういや、このCLAY-1ってどのくらいの速度だったのかしらん?
調べてみたら、80MFLOPS(ピーク160MFLOPS) とのこと(Wikiより)
かたやRaspberry Pi 4はってーと、どれどれ……。(http://web.eece.maine.edu/~vweaver/group/green_machines.html を見てみると)
13.5 GFLOPSですってよw
ん-と、
13.5G / 80M = 168.75 ですね。
Raspberry Pi 4って、、、CLAY-1さんの170台分のパワーがあるらしいです(超単純計算で)しかも今回は4台も!
そんなスーパー・スーパー・コンピューターがお小遣いぐらいで買えちゃって、手のひらに載ってて、隅々までいじり倒せるって、やっぱすごくないですか?
と、とりあえず、今回は横に4台並べてインラインフォーな並列計算をしてみましたが、次回は円周にならべて円柱型? いや、星型? な計算エンジンを作ってみたいと思っちゃったりする今日このごろです。
やっぱり沼じゃん!!
どっと(.)はらい。
ーーー
まさかの続き書いちゃいましたw
よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,