対象プログラム | 海洋学アプリケーション |
アプリケーション名 | NEMO |
チューニング方法 | I/Oデータサイズの縮小によるI/Oボトルネックの削減 |
成果 | 速度と入出力パフォーマンスが改善 推定削減コスト(円換算):3億9千万円 |
HECToR dCSE チームは海洋学コード(NEMO)の速度とI/O パフォーマンスを改善
Andrew Coward, The National Oceanography Centre, Southampton (NOCS)
Fiona Reid, Edinburgh Parallel Computing Centre (EPCC)
HECToR CSE Team, Numerical Algorithms Group Ltd (nAG)
英国の国立学術スーパーコンピューティング設備であるHECToR 向けのnAGの計算科学技術(CSE)サポートサービスと共に、EPCCのHPC専門家は、スカラーMPPアーキテクチャにおけるNEMO (Nucleus for European Modelling of the Ocean)の性能を改善し、ストレージ要求量を削減しました。
HECToRのグローバル海洋モデリングコンソーシアムのマネージャーであるAndrew Coward博士は、彼らのグループが昨年NEMOの実行に約6M Allocation Unit(注)費やしたと見積もりました。このプロジェクトでNEMOの経過時間が25%まで削減されたことにより、半年のプロジェクト作業でAU量で換算して年間約£95,000(その他のサービスが£400,000程度)の削減になりました。この他のNEMOを利用するコンソーシアムは同時期に40M AUを消費しているので、全体で数百万ポンドの節約になるでしょう。
dCSEプロジェクトの成功についてAndrew Coward博士は次のように述べています。『NEMOコードは年に2回のメジャーリリースで常に進化し続けています。Fiona の研究はHECToR上でコードを実行するための最善の方法についての私たちの結論を確実に示していますが、特定のアーキテクチャへの変更は一般的効果が明らかでない限りベースコードに反映されるかどうかを保証しません。多くのグループが、ベクトル並列マシン(主にNEC)からMPPスカラーに変わりつつありますので、このコード構造は私たちに有利に進化し始めるはずです。』
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはnAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとnAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているNEMOプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
この dCSE プロジェクトの目的はスカラーMPPアーキテクチャ向けに、NEMO コード(Nucleus for European Modelling of the Ocean)のパフォーマンスの改善と、要求されるストレージリソースの容量を削減することでした。 NEMOは海洋学の研究、実用上の海洋季節予報や気候研究のためのモデリングフレームワークです。 プロジェクトの主要なタスクは、(a)より複雑なモデル、より高度な空間分解能や研究者が必要とする大量のプロセッサから生じる潜在的I/Oボトルネックに対処すること、 そして(b) (同じグローバルモデルの中で海洋の異なる場所が異なる解像度でモデル化されるのを可能にする)NEMOのネストモデルのパフォーマンスを調査することです。
サザンプトン国立海洋センター(National Oceanography Centre, Southampton (NOCS))のAndrew Coward 博士はプロジェクトの主任調査員でした。同じくNOCSのSteven Alderson博士と Beverly de Cuevas氏は共同調査員でした。 エジンバラ大学のEPCCのFiona Reid博士は、NEMO開発チームとnAG CSE チーム両者と協力して作業を遂行しました。
NEMO
NEMO (Nucleus for European Modelling of the Ocean) は海洋学の研究、海洋季節予報運用や気候研究のためのモデリングフレームワークです。このフレームワークは、いくつかの海洋関係の要素、例えば、海氷、生化学、海洋動力学、トレーサーなどを一緒にあるいは個別に扱うことが可能です。NEMOの詳細な機能については、 http://www.nemo-ocean.eu を参照ください。
プロジェクトの成果
このdCSEプロジェクトで行われた格子生成に関する調査と陸地セルの削除は、任意のシミュレーションにおいて、大きなプロセッサ数で25%程度のAllocation Unit (AU:注) 使用量(想定コスト)の大幅な削減と実行時間の削減をもたらしました。NEMO は主要なファイル出力用にnetCDF 4.0を使用するよう変更され、元のnetCDF 3.xコードと比較して最大で3.55倍の出力ファイルサイズの削減をもたらしました。また、I/Oデータサイズの削減でI/Oボトルネックが減少したことにより、本番稼働時間のシミュレーションでは実行時間が削減できることが期待されます。
HECToRの他のNEMOユーザであるNCAS (National Centre for Atmospheric Science) は、NEMOの主要開発者と英国のMetオフィスを通して初めに選定されたコードのみを利用していますが、それには手間がかかります。Coward博士は新しいnetCDF4 I/Oオプションを永久に使用するよう切り替えました。ディスクスペースは貴重で限られたリソースです。このdCSEの改良によって、より幅広い海洋モデリングコミュニティの解析の際に、より多くのあるいはより長い時間枠をオンラインの状態に保つことができます。
(注)アロケーションユニット(allocation unit, AU)はHECToRにおけるノード課金単位です。大まかに言えばLinpackベンチマーク(Rmax)を基にした1時間当たり1Tflopsの実行量がkAUに相当します。例えば60Tflopsのプロセッサ群は60kAU/時間に相当します。
詳細なテクニカルレポートは以下で参照いただけます。
http://www.hector.ac.uk/cse/distributedcse/reports/
さらに詳しくお知りになりたい場合は、日本NAG株式会社 コンサルティンググループご相談窓口 https://www.nag-j.co.jp/nagconsul/toiawase.htm (あるいはメール:consul@nag-j.co.jp)までお問い合わせください。