見出し画像

教養としてのスパコン超入門

拝啓 奥さんへ

スパコン(スーパーコンピュータ)と聞くと、なんだかすごくて、自分には関係がないものと思われがちですが、今日はそんなイメージを少しで払拭できたらと思ってお話をしたいと思います。

一週間でなれる!スパコンプログラマ」という記事がありまして、この記事に感銘を受けましたので、今回はこちらの記事とスパコンの代表格である「富岳」の内容についてゆるくお話をしたいと思います。

世の中には「スーパー」という「なんだかすごそう」な名前があるにも関わらず、定義がよくわからないものが沢山あります。例えば、「スーパカー」とはどのような車なのか?フェラーリみたい高性能で美しい車なのか、それともF1のレーシングカーのようなスピードを極めた車なのか、よくわかりません。この手の名称はググっても、ChatGPTに聞いても、いまいち期待した回答が返ってこないのが常です。

スパコンもご多分にもれず、厳密な定義はなく、その時代において性能が良い計算機という曖昧な定義になります。では、「どれくらい性能が良いの?」となりますが、目安としては、パソコンに比べて四則演算が1000倍以上速くできる計算機を「スパコン」と呼ぶことがあります。現在のパソコンは1000億~1兆回/秒の計算ができますから、その1000倍の100~1000兆回/秒くらいの計算ができることになります。

上記は1台の話ですが、スパコンとは、複数台の高性能な計算機を、 高速ネットワークで接続したシステムのことです。例えば、スパコンで有名なのは「富岳」ですが、「富岳」は158,976台の計算機(ノード:CPU+メモリ)から構成されています。富岳には432台のラックが設置されています。ラックには、1ラックあたり384ノードが搭載されているラックが396台、192ノードが搭載されているラックが36台あり、総ノード数は158,976ノードになります。

先ほどの計算の話に戻りますと、「富岳」の1台の計算機は約3.4兆回/秒です。約3.4兆回/秒 x 158,976台 = 約500000兆回 = 約50京回/秒という計算となり、パソコンで10年かかる計算が1分で解けることになります。参考までに他のデバイスと比較してみると、下記のようになります。

  • スマートフォン約2000万台分の性能

  • サーバ約30万台分の性能

  • アプリケーション実行性能でスパコン「京」の約70倍程度の性能


スーパーコンピュータ「富岳」

見た目もゴツいので、「やっぱりすごそう」とになりそうですが、中身がどうなっているのかを見てみると、身近なパソコンと似ていて親近感がわくかもしれません。

普通のパソコンは、CPU、メモリ、ネットワーク、ディスクなどから構成されています。スパコンも全く同様に、CPU、メモリ、ネットワーク、ディスクがあります。 それぞれちょっと高級品を使っているだけで、基本的には普通のパソコンと同じと思ってもらって構いません。ちなみに、富岳のOSはLinuxです。(ちょっと親近感湧きました?)。

ただし、パソコンとはつなぎ方がちょっと異なります。 スパコンでは、CPUとメモリをまとめたものを「ノード」と呼びます。このノードをたくさん集めて高速なネットワークでつないだものがスパコン本体になります。普通のパソコンではCPUの近くにディスクがありますが、最近のスパコンのノードはディスクレスの構成にすることが多く、その代わりに、大きなファイルシステムとネットワークでつなぎます。下記にスパコンの構成を示します。

スパコンの構成

一般的なスパコンの構成は上図のような感じになります。ノードは大きく分けて「ログインノード」と「計算ノード」の二種類があります。ユーザはインターネット経由でログインノードにログインし、そこで作業をします。(実際の計算は計算ノードで行われます)。

作業はSSHを用いてコマンドラインで操作することが一般的ですが、Open OnDemandというWebポータルサイトにより、Webブラウザから利用することも流行りつつあります。

参考:https://x.com/Fugaku_hpci/status/1661326186746884098

ログインノード、計算ノード、ファイルシステムは、高速なネットワークで接続されています。この高速ネットワークは長らくInfiniBandという規格がデファクトスタンダードでした。また、ファイルシステムについては、Lustreというファイルシステムがデファクトスタンダードでした。

パソコンは自分しか使わないので、好きな時に好きなプログラムを実行して良いのですが、スパコンは大勢で共有する計算資源であり、各自が好き勝手にプログラムを実行したら大変なことになります。そこで、なんらかの交通整理が必要となるのですが、それが「ジョブスケジューラ」です。

ジョブの実行の仕組み

スパコンでは、プログラムは「ジョブ」という単位で実行されます。ユーザはまず、「ジョブスクリプト」と呼ばれるシェルスクリプトを用意します。これは、自分のプログラムの実行手順を記した手紙のようなものです。次にユーザは、ログインノードからジョブスケジューラにジョブの実行を依頼する(封筒をポストに入れるイメージ)。こうしてジョブは実行待ちリストに入るります。ジョブスケジューラは実行待ちのジョブのうち、これまでの利用実績や、要求ノード数、実行時間などを見て、次にどのジョブがどこで実行されるべきか決定します。

以上がスパコンのざっくりとした説明ですが、もう少しスパコンを身近に感じてもらうために、スーパーコンピュータ「富岳」に関するFAQで理解を深めてもらいましょう。

Q1.「富岳」は、どのような分野で研究に使われているのか?それは何の役に立つのか?
A1. 主な研究分野としては、1)健康長寿社会の実現 2)防災・環境問題 3)エネルギー問題 4)物質・材料 5)ものづくり 6)宇宙・基礎科学です。富岳を活用することによって、私たちの国の競争力の源泉となる先端的な研究成果を生み出し、また、健康長寿、防災・減災、エネルギー、ものづくり分野等の社会的・科学的課題の解決が可能になります。また、開発されたCPUなどIT技術も、世界をリードする性能を発揮しながら汎用性が高いため、私たちの国のIT・半導体におけるリーダーシップを確保しています。

Q2.「富岳」は世界一のスパコンですか?
A2. Top500というスーパーコンピュータのベンチマークコンテストがあります。(毎年、6月と11 月に更新される) 富岳は442PFlopsの性能値で世界4位(2024年6月)です。1位はアメリカのFrontierで1,206PFlopsです。しかし、スパコンによって得意なアプリケーションは異なります。富岳は2020年に、4つの主要なベンチマークコンテストですべて1位でした。

アプリケーションの種類ごとのランキング

Q3.「富岳」開発の背景は?
A3. 科学技術の手法として、計算による科学---シミュレーションやデータ処理、AI---は、従来の理論・実験と並ぶ手法です。スパコンはそれら計算の能力を究極まで高める強力なツールであり、国民生活の安全・安心や国際競争力の確保のための先端的な研究に不可欠な研究開発基盤になります。

参考:https://newswitch.jp/image/17687

Q4.「富岳」の開発メーカーと総予算は?
A4. 開発担当企業は富士通です。公募により選定されました。総予算(国費負担)は、アプリケーション開発を含め1,100憶円程度です。

Q5.「富岳」はどのように冷却されているのか?
A5. 水冷と空冷のハイブリット冷却です。15度の水をラックの中を循環させ発熱の9割を除去しています。18度の空気を床面からラックに噴き上げて発熱の1割を除去しています。

Q6.「富岳」の消費電力はどのくらいか?電気代は?
A6. 通常運用時システム全体でおよそ20MW程度。冷却のために3MWくらい計算機部分でおよそ17~18MW程度です。電気代と電気を発生させるコジェネ発電機のガス代を合わせて年間約50億円程度です。

Q7. 現在「富岳」でAIの研究を行っているのか?
A7. “人工知能・機械学習と高性能計算の相互的な高性能化”を目指し、そのための高性能システム・ソフトウェア・アルゴリズムの研究を行っていたり、高性能計算(HPC)、ビッグデータ(Big Data)および人工知能(AI)を融合させる研究を行っていたりします。AIを活用した研究は創薬、地震被害予測、ものづくり、材料開発など多岐に渡っています。それは劇的に計算資源を削減したり計算時間を短縮できたりするサロゲートモデルとしても活用されています。

最後に、スパコンは「富岳」以外にもたくさんあります。日本はスパコン大国であり(あまり知られていない…(´;ω;`))、 産業総合研究所・北海道大学・東北大学・筑波大学・東京大学・東京工業大学・ 名古屋大学・京都大学・大阪大学・九州大学などにスパコンが設置されています。それぞれ特徴があり、スパコンを無料で利用できる制度もあります。 例えば、筑波大と東京大学が行っている学際共同利用プログラムです 。そのスパコンで成果を出した場合の学会参加費・旅費も出してくれます。

以上、長文になってしまいましたが、スパコンについて少しでも関心を持っていただければ嬉しいです。

いいなと思ったら応援しよう!