Skip to main content
QUICK REVIEW

[論文レビュー] xSDK Foundations: Toward an Extreme-scale Scientific Software Development Kit

Roscoe Bartlett, Irina Demeshko|arXiv (Cornell University)|Feb 27, 2017
Parallel Computing and Optimization Techniques参考文献 9被引用数 5
ひとこと要約

xSDK Foundation論文は、極大スケールコンputing向けに独立して開発された科学的ソフトウェアライブラリ間の相互運用性、移植性、持続可能性を実現する、コミュニティ主導でポリシーに基づくフレームワークを提案する。Spackなどのツールを活用してインターフェース、バージョニング、インストールを標準化することで、PETSc、hypre、Trilinosなどのライブラリをシームレスに組み合わせることが可能となり、統合の複雑さが顕著に低減され、マルチスケールおよびマルチフィジックスシミュレーション向けの高性能アプリケーション開発が加速する。

ABSTRACT

Extreme-scale computational science increasingly demands multiscale and multiphysics formulations. Combining software developed by independent groups is imperative: no single team has resources for all predictive science and decision support capabilities. Scientific libraries provide high-quality, reusable software components for constructing applications with improved robustness and portability. However, without coordination, many libraries cannot be easily composed. Namespace collisions, inconsistent arguments, lack of third-party software versioning, and additional difficulties make composition costly. The Extreme-scale Scientific Software Development Kit (xSDK) defines community policies to improve code quality and compatibility across independently developed packages (hypre, PETSc, SuperLU, Trilinos, and Alquimia) and provides a foundation for addressing broader issues in software interoperability, performance portability, and sustainability. The xSDK provides turnkey installation of member software and seamless combination of aggregate capabilities, and it marks first steps toward extreme-scale scientific software ecosystems from which future applications can be composed rapidly with assured quality and scalability.

研究の動機と目的

  • 極大スケールコンputingにおける複数の独立した科学的ソフトウェアライブラリを統合するという増大する課題に対処すること。
  • マルチスケールおよびマルチフィジックスアプリケーションにおける名前空間の衝突、一貫性の欠如したインターフェース、バージョンの調整不足といった相互運用性の障壁を克服すること。
  • モノリシックなコードベースに依存せずに、信頼性と効率性を確保してライブラリを組み合わせられる持続可能なソフトウェアエコシステムを構築すること。
  • インターフェース、テスト、インストールの実践に関するコミュニティ全体のポリシーを通じて、長期的なソフトウェアの持続可能性を促進すること。
  • 科学者が新規に開発するのではなく、高品質で再利用可能なコンポONENTを組み合わせることで、迅速なアプリケーション開発を可能にすること。

提案手法

  • 独立して開発された科学的ソフトウェアライブラリ間で一貫性のあるインターフェース、バージョニング、ドキュメンテーションを確保するためのコミュニティポリシーを定義・実装すること。
  • 拡張されたPETScインストーラーを活用した即時利用型のインストールシステムを実装し、Spackとの統合を検討してより広範なコミュニティ支援を図ること。
  • ソフトウェアパッケージ化と依存関係管理を標準化し、多様なHPCプラットフォーム間での互換性と再現性を確保すること。
  • 1つのMPIプロセス内で複数のライブラリ間で計算リソース(例:メモリ、スレッド)を動的に共有できるリソース転送インターフェースを開発・公開すること。
  • 相互運用性の検証とxSDK互換ライブラリの信頼性ある組み合わせを保証するため、テストフレームワークと例題を統合すること。
  • 初期メンバーとして、既存の高性能ライブラリ(例:PETSc、hypre、SuperLU、Trilinos)を活用し、フレームワークの実現可能性と影響力を実証すること。

実験結果

リサーチクエスチョン

  • RQ1モノリシックな統合や中央集権的管理を必要とせずに、独立して開発された科学的ソフトウェアライブラリをどのように相互運用可能にできるか?
  • RQ2多様な科学的ソフトウェア開発チーム間で一貫性のあるインターフェース、バージョニング、ドキュメンテーションを確保するために必要なコミュニティポリシーは何か?
  • RQ3統一されたインストールおよびパッケージングシステムは、複数の科学的ソフトウェアライブラリのデプロイおよび組み合わせの複雑さをどの程度低減できるか?
  • RQ4実行時において、計算リソース(例:メモリ、スレッド)を複数のライブラリ間でどのように共有・転送できるか?
  • RQ5ポリシー主導でエコシステムを形成するアプローチは、極大スケール科学的ソフトウェアの持続可能性、移植性、組み合わせ可能性を顕著に向上させることができるか?

主な発見

  • xSDKフレームワークは、標準化されたインターフェースとポリシーを通じて、PETSc、hypre、SuperLU、Trilinosといった主要な科学的ライブラリのシームレスな相互運用性と統合利用を実現した。
  • 初代xSDKリリースは、コミュニティポリシー、テスト、例題コードの活用が、独立して開発されたライブラリの統合を顕著に簡素化することを示している。
  • 初期には拡張されたPETScインストーラーを経由し、後にSpackを経由することで実現された統一インストールシステムにより、複数のxSDK互換パッケージの自動的かつ信頼性の高いデプロイが可能になった。
  • 本プロジェクトは、新規アプリケーションが再利用可能で高品質なコンポONENTから迅速に構築できる持続可能な科学的ソフトウェアエコシステムの基盤を築いた。
  • ライブラリ開発とアプリケーションロジックを分離することで、パフォーマンスの移植性とスケーラビリティを実現し、開発チームが低レベルのインfra構築に煩わされず、科学的課題に集中できる環境を提供した。
  • xSDKのビジヨンは、米国エネルギー省のエクサスケールコンピューティングプロジェクト(ECP)のもとで拡張されており、SUNDIALSやMagmaといった追加ライブラリの統合計画と、より広範な採用を目的としたポリシーの最適化が進められている。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。