2022年度に発生した問題への取り組みや実施した運用改善の内容などについて以下に示す。
2021年度はファイルシステム関連の障害が多く発生したが、適宜対処を行い2022年度はシステム停止を引き起こすような重大障害は発生しなかった。また、年度途中で光熱費の高騰により運用費の不足が予測されたため、急遽全計算ノードの約1/3を約4カ月間停止するとともに、省電力運用を実施することとなった。2022年度に実施した障害対策と省電力運用について以下に示す。
「富岳」はLLIOと呼ばれるSSDを使用した高速なファイルシステムを提供しているが、機能上の制限がいくつかあり、制限に抵触するとLLIOのサーバーであるSIOがダウンするなどの影響がある。これを回避するため、ジョブ実行時のLLIO利用制限を超過するジョブを検出し、当該ユーザーに問題点と改善方法を伝える仕組みを昨年度実装した。今年度は、この機能に利用制限を超過した原因となったファイルのパス情報を取得する機能と利用者に自動通知する仕組みを実装した。表1に今年度のLLIO制限超過の検出数とユーザーへの注意喚起回数を示す。制限超過件数は減少傾向にあり、SIOノードダウン件数も減少している。
光熱費の高騰により運用費の不足が予測されたため、全計算ノードの約1/3を約4か月間停止した。図1に計算ノード停止前後の電力変動を示す。全計算ノードの約1/3の停止により、消費電力が約1/3減少したことがわかる。
停止する計算ノード数は運用状況を見ながら決定し、停止するノードの位置はノード停止による冷却水の変動を考慮し決定した。「富岳」の計算ノードは、5つの領域に分割して冷却している。局所的に多数の計算ノードを停止するとその領域の冷却水の温度変動が他の領域と異なることになり、冷却機器の負荷にばらつきが発生する。これを防ぐために、各領域の温度変動が同じになるように停止する計算ノードを決定した。また、計算ノードの電力削減を行うために、ノード・リテンションとコア・リテンションを運用に適用した。これらの機能を使うことで、計算ノードの消費電力を下げることができるが、計算ノードのアイドル時の消費電力が下がるため電力変動が大きくなる可能性がある。これを防ぐために、ジョブ単位でリテンションが有効になるノード数を制限するなどの対策を行った。空調機や冷凍機などの冷却機器の負荷は、「富岳」本体の消費電力に応じて変化するため、稼働中の冷却設備が対応できる範囲に負荷を収める必要がある。実行されるジョブの消費電力を予測できれば、システム全体の消費電力を制御することが可能となるが、現時点でこれを行うことは難しい。そこで、消費電力が冷却機器の能力を超えた場合の対策として、本体の消費電力が上限値を超過した場合は実行中のジョブを停止させて電力を削減、消費電力が下限値を下回った場合にはノード・リテンションをオフにして消費電力が下限値を上回るように制御を行うこととした。ジョブを停止する際には、ジョブをキャンセルすることで失われるノード時間積が最小になるように停止するジョブを選択する。
リソースグループlargeで実行されるジョブの隙間を有効活用するために、指定条件を満たすsmallのジョブをlargeの領域で実行するジョブ振分け機能の運用方針を検討し運用を開始した。指定条件毎に実行する領域を指定し、それらを組み合わせてノードの利用効率改善を目指す。現在運用中のsmallジョブの選択条件と実行するリソースグループは以下である。
▪ small-s1
指定経過時間が1H以下のジョブ。largeとsmallで実行
▪ small-s2
torus又はmeshを指定したジョブ。largeとsmallの境界領域(この領域は動的に変更可能)とsmallで実行
▪ small-s3
1ノードジョブ。largeとsmallの境界領域(この領域は動的に変更可能)とsmallで実行(small-s2と同じ領域)
▪ small-s4
全系規模実行時にのみ利用
▪ small-s5
指定経過時間が1H以下の1ノードジョブ。largeとsmallで実行(small-s1と同じ領域)
運用への適用直後は指定条件を満たすジョブが少なかったが、計算ノードの約1/3の停止以降、混雑回避を目的に指定条件を満たすジョブが多数投入されるようになった。2022年度に上記リソースグループで実行されたジョブの数と使用された計算ノード時間を図2、3に示す。計算ノードの一部を停止した7月以降対象となるジョブが急増していることがわかる。今後の課題は、実行状況に応じて実行領域を自動的に変更する機能の実装である。