コンピューター計算は並列処理をさせ驚くほど進化している

コンピューターでは主にCPUやGPUという部品で計算を行います。CPUやGPUの性能は動作周波数(この周波数によって1秒間に処理する回数が決まる)やFLOPS(1秒間に実行できる浮動小数点演算の回数)によって左右されます。この動作周波数やFLOPSは30年前に比べると相当上がっています。

例えば、代表的な個人向けパソコン用CPUのIntel製「Pentium」は、1993年に販売されたモデルの動作周波数は300メガHz、FLOPSは300メガでした。それから約30年たった2022年の「Core i9(12900)」では動作周波数は5.2ギガHzに、FLOPSは1.18テラ(ターボ時)まで向上しています。

クラウドで使われるようなコンピューターの性能の考え方は、私たちが使うパソコンと厳密には異なりますが、約30年間の進化で驚くほど高速な計算が行えるようになってきているといえます。

さらに計算を高速化させるクラスターの技術

1台のコンピューターの内部で複数のコアを並列処理させるのではなく、いくつものコンピューターをネットワークでつなぎ、連携させながら稼働させる(並列処理)ことで性能アップを図るのがクラスターという技術です。複数のコンピューターが、ひとつの高性能なコンピューターであるかのようにふるまうシステムとイメージすると良いでしょう。

もちろん高速な1台のコンピューターを使っても良いのですが、クラスターは、ほどほどの性能のコンピューターをたくさんつなげて使ったほうが、高速に計算処理させることができるという考え方です。もちろん高性能なコンピューターをたくさん使ってクラスターを作れば、ほどほどの性能のコンピューターのクラスターより高速に処理できます。

現在スーパーコンピューターも、このクラスターの考え方を使っています。クラスター上では1台の機器は「ノード」と呼ばれますが、日本で2021年から稼働開始したスーパーコンピューター「富岳」では158976ノードも使われています。

クラスターでは、ノードの数を増やしたり、搭載されるCPUやGPUの処理能力が上がると、計算能力も上がっていきます。このクラスターがAIモデルを作る機械学習でも活躍しているのです。


クラウドでは画面操作だけでクラスターを使える

クラスターのクラウドサービスは、インターネット回線を通してアクセスすれば、画面から構成を選択するだけで利用できるので、とても手軽に利用できます。料金は選択したマシンのスペックや使用する時間などで細かく算出されます。高速なマシン構成にして、大量の計算を行うと高額になりますが、利用時間を限定したりクラスターの規模を最適化するなどしてコストを下げられます。

いずれにしても自前で実機を用意するよりも、不要になったら削除するだけで済みますし、計算が追いつかないときには、ノードを増やしていくだけですので圧倒的に簡単です。このコントロールを自動で行ってくれる機能を持っている場合もあります。下記の動画は英語の解説ですが、内容を深く理解する必要はありません。クラウドサービスの画面操作だけで、10分程度でクラスターを使えるようにセッティングできることが分かると思います。

例えば、Amazonのクラウドサービスの「Amazon Web Services(AWS)」では「AWS Educate」という教育プログラムが提供されていて、テクニックを習得できます。クラスターの運用を学ぶには、より高度な学習コースを選択することになりますが、クラウドサービスの基礎に触れるには十分です。

実際にAWSでクラスターを運用するにはいくつかの方法があるのですが、「Amazon Elastic Compute Cloud(EC2)」と呼ぶ機能でマシンを準備(インスタンスと呼びます)することができ、「Kubernetes」と呼ばれる汎用(はんよう)のクラスターをコントロールするツールを使ってクラスター構成を構築可能です。これらは「Amazon Elastic Kubernetes Service(EKS)」と呼ばれています。







ref


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