Blog

2020.11.20

Engineering

Research

MN-3の高精度電力計測にむけた取り組み

Yojiro UO

Researcher

MN-3

深層学習用スーパーコンピュータ MN-3

はじめに

2020年11月17日早朝(日本時間)に開催されたSC20のTOP500 BoFにおいて、今年2回目のTOP500/Green500ランキングが発表されました。PFNが構築・運用している深層学習用スーパーコンピュータMN-3は前回に続きリストに掲載されました。MN-3は電力効率指標 26.04GFlops/W、最大演算性能 1,652.9TFlops の記録でGreen500 世界第2位(TOP500 331位)になりました。

前回の世界第1位から順位は一つ後退してしまいましたが、前回の記録から23.3%の電力効率性能の向上を実現しておりMN-3の高い演算効率とポテンシャルを改めて証明した結果になりました[1]。

この発表に続いて、翌日2020年11月18日早朝(日本時間)にはSC20のGreen500 BoFが開催されました。BoFでは今回のGreen500リストの詳細についての解説やGreen500プロジェクトの今後についての詳しい議論がおこなわれました。セッションの最後で、MN-3に対して「Level 3計測システムにおける世界1位」(下図)が与えられました。

 

Green500 Certificate of MN-3 : Top#1 , ranked amongst Level-3 measured systems, 2020/11

図: Green500のCertificate (Level 3計測システムにおける世界1位)

本ブログでは、この「世界1位」がどのような意味なのかを、Green500というプロジェクトの位置づけとあわせて解説していきます。

Green500とはなにか

Green500は、Green supercomputingの提唱者であるバージニア工科大学の Feng 教授を中心とするグループが 2007年11月から年2回発表しているスーパコンピュータの電力効率のランキングを示すリストです。2016年からはTOP500のリストと統合されており、絶対的性能を示すTOP500とあわせてスーパーコンピュータの性能を示す指標となっています。

スーパーコンピュータにおける評価指標は総合的な演算性能だけではありません。なぜなら巨大なシステムを組めばその分演算性能を拡張することができるからです。そのため2002年頃に、演算をどれだけ効率的に実行できるか、という指標の重要性が提起され、消費電力や電力効率についての議論がおこなわれるようになりました[2,3]。2005年にはWorkshop on High-performance, Power-aware computing[4]が初めて開催され、そのキーノートをきっかけとしてGreen500の最初のアイデアが議論されました。そして、様々なフィードバックや議論を経て、2007年11月にGreen500の最初のリストが公開されています。

その歴史からもわかるように、Green500の評価の根幹は正確な電力計測です。スーパーコンピュータ(あるいはHPC: High performance computing)技術の変化に追従しつつ正確な電力測定を実現しつづけるために Energy Efficient HPC Working Group (EE HPC WG) [5]など他団体とも協力して継続的な議論を続けています。その結果、2007年の最初のGreen500リスト公開以降、現在に至るまでの間で2回(2013年、2016年)電力計測方法や提出すべきデータなどのルールが改定されました。

スーパーコンピュータの設計には世代があります。たとえば、電力効率をあまり気にしないで作られていた時代(Green500前時代)にはTOP500/Green500での評価に使われているHPL (High Performance Linpack)の演算期間に大きく電力が変動しない、という仮定が成立していました。そのためGreen500の計測ルールでも演算期間中に電力をサンプリングしてその内容から全体電力を外挿するようになっていました。しかし、演算中の電力効率を最適化する技術が導入された近年では、演算期間に大きく消費電力が変動したり、演算量に追従して消費電力が線形に下がる傾向がでてきました。古いルールでは暗黙的に「電力は変動しない」ことを前提としていた部分が、近年のシステムでは成立しないため、電力計測の正確さが損なわれてしまうことになります。他にも、初期のルールには以下のような暗黙の仮定も含まれていました。

  • 部分を測ることで全体を推測しても誤差は少ない
  • Compute system と比べてインターコネクトの電力は少ない

Green500を続けることで実際の消費電力と計測の誤差への理解が深まり、スーパーコンピュータ技術のトレンドに追従して「正確な電力計測」ができるようなルール改定ができるようになったことも、このプロジェクトの貢献の一つとなります。

TOP500とGreen500についての概略や、なぜPFNがGreen500を重視しているかについては、前回のTOP500発表時に平木シニアリサーチャーによるblog [6]が公開されているので合わせてご覧ください。

電力計測の正確性

冒頭でも紹介したように、2020年11月のGreen500リストでは、MN-3は2位になりました。一方で「Level 3計測では1位」という証明書も与えられました。このLevel 3計測とはなんなのかということをGreen500の計測ルールを紐解きながら解説していきます。厳密に解説するとそれだけでとても長くなってしまうので、概略になり若干正確さに欠けてしまうかもしれませんがご了承ください。より正確な理解が必要な場合は公開されているレギュレーション本体[7] を読んでみるのがよいでしょう。

Green500のルールでは「電力計測の正確さ」を示すために、Quality Levelという概念を導入しています。要求水準の異なるレベルを複数設定することで計測の質の担保と参加の敷居のバランスを取っています。Level 3が最も要求水準の高い計測で、Level 1が最も簡易的な計測になります。各レベルごとに、使用する計測器の基準、計測方法(計測時間や計測回数)、計測対象に含める必要があるシステムの範囲、提出すべきデータがレギュレーションで決まっています。概略を下の表にまとめます。

table: Green500 regulation (Level 1, Level 2, Level 3)

表:Green500の電力計測精度の概略

スーパーコンピュータの消費電力を正確に計測するためのQuality LevelがLevel 3です。スーパコンピュータを構成するすべての構成要素の消費電力の実測が要求されており、計測した消費電力は実際にそのスーパーコンピュータで消費された正確な値になります。

一方、Level 1やLevel 2では簡易的に電力を計測することを主眼としており、正確さがある程度犠牲になります。計測器の精度や計測間隔の条件を緩和することで利用できる電力計測設備を拡大する一方で、スーパーコンピュータの計算ノードの一部分を計測してその値を元に全体の電力を外挿することを許容しています(Level 1とLevel 2では最低計測範囲のサイズが若干異なります)。また、インターコネクトなどの計算ノード以外のサブシステムは電力計測をせずにカタログ値の消費電力を代わりに使うことが認められています。

計測範囲と計測器の精度以上に大きな違いは、Level 3では積算電力値(消費エネルギー)を計測するため実際に消費された電力を正確に計測できるのに対して、Level 1とLevel 2では瞬時電力値を計測してその平均値を利用することになっています。そのため、大きく電力が変動するような場合はサンプリング間隔や計測タイミングによって大きな誤差が発生する可能性があります。そのため、消費電力を過剰もしくは過小に見積もってしまう可能性が存在してしまいます。Green500の運営グループは、正確なリストを実現するためにできるだけ高いQuality Levelでの計測を推奨しています。2020年時点のCFP[8]ではLevel 2およびLevel 3での計測ルールの参照を明記しており、実質的にはLevel1は非推奨となっています。

MN-3の電力計測の実際

2020年11月のGreen500では、MN-3の計測をLevel 3でおこないました。2020年6月のGreen500ではLevel 2での計測をしていたのですが、より正確な値を使うことが上位ランキングを獲得したわれわれの義務であると考えたからです。

実はMN-3では前回の2020年6月のGreen500でも、ほぼLevel 3に準拠した計測(システム全系の電力を高いサンプリング周波数で計測)を実施していました。ただ、前回利用した電力計の内部サンプリング周波数がLevel 3計測の条件を微妙に満たさなかったため、Level 2として提出したいきさつがあります。

そこで、2020年6月の計測後、真に正確な電力を計測できるようにMN-3の電力計測設備の改変を実施して今回のGreen500に挑みました。この改変工事では計算ノードを収容する回路構成を大幅に変更して整理することで、Level 3の計測条件を満たす精密電力計を接続できるようになりました。

MN-3 Power reconstruction pictures

写真: 2020年11月のGreen500計測に向けた電力回路変更工事

下の図に今回のMN-3の電力計測構成の概略を示します。今回の計測では32ノードのMN-Core搭載ノードを利用しました。各ラックには4ノードずつ計算ノードが搭載されており、それぞれ60A/200Vの電力が供給されています。また、インターコネクトのためのラックが別途存在しており全体で10ラック構成のシステムです。それぞれのラックには30A/200Vが2系統ずつ収容されており、それが150A/200Vの回路に統合されて、最終的には600A/200Vの主系統となります。2020年11月のGreen500ではMN-3の全系を計測するために600Aの回路に精密電力計(横河電機 WT1800E-5A6-50A0/EX6/G6)を接続しました。実際には150Aの回路、30Aの回路それぞれに電力計が接続されていますが、それらはLevel 3に要求される条件を満たしていないため今回は利用していません(前回はそちらを利用しました)。

MN-3 Power Circuit diagram

図:2020年11月のGreen500計測時のMN-3電力構成概略図と電力計測点

 

この構成でLevel 3計測をした際にどのような電力計測結果がでるのかの例を以下の図に示します。アイドル状態から一気に消費電力が増え時間の経過ともに漸減していく様子と、演算途中での大きな電力変動の様子が観測されます。

MN-3 HPL Power/time graph

図:MN-3におけるHPL実行時の消費電力グラフ(例)

Green500リストにおける計測レベルトレンド

Green500リストはTOP500リストに掲載されたスーパーコンピュータシステムのうち電力計測を実施しているシステムを対象としています。スーパーコンピュータは巨大なシステムなので電力計測自体が難しい場合が多いことや、電力効率があまり良くないシステムも多いことからTOP500に掲載されているすべてのシステムが電力を計測しているわけではありません。最近の傾向だと大体200前後のシステムが電力計測情報も含めたデータ提出をおこなっています。

その中で、Level 2以上の計測を実施しているシステムは2020年6月で31システム、2020年11月で36システムでした。Level 3計測まで実施できているシステムはさらに一部で2020年6月で8システム、2020年11月で11システムとなります。Level 2とLevel 3を合わせた計測件数は近年着実に増加(2017年6月の14システムから2020年11月の36システム)しており、スーパーコンピュータにおける電力効率の向上に向けた取り組みは今後も増えていくと推定されます。以下の図は、SC20のGreen500 BoFで示されたLevel 2 および Level 3計測の増加傾向を示すグラフです。

2020/11 Green500 BoF Slide: Level 2 and Level 3 Submissions over Time

図: 2017年から2020年に間のLevel 2(左)およびLevel 3(右)計測数の推移 (SC20 Green500 BoFでの発表から引用)

まとめ

本ブログでは2020年11月のGreen500におけるMN-3の成果の位置づけと、その評価について解説しました。MN-3は前回から20%以上の電力効率の向上を達成しながらも今回のGreen500では残念ながら僅差(1位と2位の差は0.156GFlops/Wでした)で1位を逃しましたが、MN-3はGreen500プロジェクトが推進する正確な電力計測(Level 3)で実施したうえで非常に高い電力効率を実現したことから、改めてGreen500からの特別な評価として「Level 3計測システムにおける世界1位」と評されたのだと考えています。

スーパーコンピュータのグランドチャレンジの一つに「1EFlops / 20MW」という指標があります。これは一秒間に100京回の演算を20000000W以内の消費電力で実現することを意味しています。この目標をGreen500が採用している電力効率指標に変換すると「50GFlops/W」になります。

MN-3では2019年11月に発表されたGreen500のFujitsu A64FX prototype (富岳の小規模システム)が打ち立てた世界1位の記録16.88GFlops/Wを1年で26.04GFlops/W(54%向上)と大きく更新しました。また、今回1位を獲得したNVIDIA社のA100を用いたDGX SuperPODシステムも26.20GFlops/Wを実現しておりMN-3と合わせてスーパーコンピューターの省電力トレンドの移り変わりは確かだといえます。

一方で、50GFlops/Wの目標を実現するためには、まだまだ技術的なブレークスルーが多数必要です。Preferred Networksでもチップのアーキテクチャの改善とより微細な半導体技術の活用、ソフトウェア最適化、システム省電力技術などそれぞれの研究開発を進めていくことでこの高い目標に一歩ずつアプローチしていければと考えています。

Reference

  • Twitter
  • Facebook