PC:パーソナルコンピュータ,言わずと知れたパソコンです
HPC:ハイパフォーマンスコンピューティング,スパコンの世界です
もう随分になるけどPCクラスタというのが一時期流行りました。
低コストなPCを複数集めて特殊なソフトで連携計算させることで1台では不可能な計算処理をさせる技術です。貧者のスパコンと呼ばれたこともあります。
私も予算がない割にそれなりのシミュレーションをしたいとの欲求で独自に試作を繰り返して一時利用クラスタってものを使うノウハウを確立させたことがあります。(オフィスのPC群を土日だけ使うような利用法を想定しています)
HPC界隈も古くは専用OS,専用アーキテクチャでありましたが,PCクラスタブームの流れで主流もPCクラスタ構成のものが一気に増えました。CPUがインテルの64ビットでOSがLinuxというのがTop500の大半を占めた時期もあります。
また,これはクラウドブームのはじまりでもありました。画一されたハードウェアを大量に用意しネットワーク越しで必要とされた人に必要とされた分量だけ貸すシステムですね。
これを利用すればPCクラスタ的なことができることはGoogleの岩尾さんが円周率計算でも示しています。
「自分の好きなことを自信を持って追いかけて」グーグルの技術者・岩尾エマはるかさん 円周率のギネス世界記録を更新! | junglecity.com
ところで,よく言われるスパコンって要るの問題です。PCクラスタで足りるなら十分な気がしますが,現在はさらに高度なアーキテクチャを用いたスパコン開発が進められています。何に使うのでしょう。
1.無いとできない
よく例に挙げるのが気象予測です。昭和の人間は台風の進路が予測できなかったことを知っていますが今の方は予想通り進む台風を見たことしかないようで有難みが分かりづらいかもしれませんが降雨についても同様です。高精度化した理由は計測ももちろんありますが,気象予測数値シミュレーションの効果は大きいです。
明日の天気を予測するのに24時間かけて計算するわけにいかないので,基本的に早く終わる程度の計算で妥協して予測しているのが長く続く現状です。30年前に同じレベルのコンピュータ(と使いこなす技術)があれば同じ精度の計算ができたことでしょう。
同様のことは多くの他の分野にも言えますね。
2.日々積み重ね
スパコンレベルのシステムは設計できる人,制作できる人が限られています。それも日々進化の過程にあります。国会で突然予算が承認されたからと言って突然研究開発が進んだり突然完成品が生まれたりはしません。常日頃から研究開発を進めておいてこそ最先端の技術が花開くのです。目立たない活動が多くの科学技術の支えとなっていることは言うまでもありません。
では,クラウドのサーバ群とHPCでは何が違うのでしょう。
クラウドのサーバ群は高可用クラスタと分類されます。現在使われている仕組みだと基本的には小さな処理を多く分散して行います。そのなかで不具合・故障などがおこったものを他のものが肩代わりして全体としてトラブルがないように作られた仕組みです。
比べてHPCは全体でひとつの大きな作業を行います。部分的には不具合補償の仕組みがありますが基本的には小さなトラブルで全体が止まります。しかしながら大きな計算を行うには他に方法がありません。
以上のようにHPCは特殊な要素を秘めています。
ソフトウェア開発においても同様でHPC用のソフトウェア開発は専門家の仕事です。PCレベルのものと共用できるものも無いわけではありませんが概ね特殊な技術です。
ぼちぼちオチですが,昨今PCが多コア化してきています。特に高級スリッパと言われるAMD Threadripper 3990Xは64コア128スレッドと個人で保有する最高数になっています。このレベルのソフトウェア開発となるとHPCに近くなっているのです。実のところ多くのソフトウェアが十分な対応ができずにこのハードウェアを生かし切っていないというのが現状です。面白いですね。
個人的には一台手元に欲しいかなと思っていますのでよろしければカンパ下さい。