3D仮想実験の自動化ワークフローにシミュレーションおよびデータ処理ツールを統合しようとする分野専門家研究者向けに、一般的かつFAIR準拠の手法を提示します。ニュートロニクスの例としては、ローカルのGalaxyインスタンスの設定、OpenMCやファイル変換ツールのラップ、Omniverseからのワークフローの起動、変換された3D出力の可視化などが示されています。
このコンテンツを表示するには、JoVEへの購読が必要です。 または、無料トライアルをお申し込みください。
3D仮想実験の自動化ワークフローにシミュレーションおよびデータ処理ツールを統合しようとする分野専門家研究者向けに、一般的かつFAIR準拠の手法を提示します。ニュートロニクスの例としては、ローカルのGalaxyインスタンスの設定、OpenMCやファイル変換ツールのラップ、Omniverseからのワークフローの起動、変換された3D出力の可視化などが示されています。
多くの仮想実験では、複数のソフトウェアパッケージが多様なシミュレーションタイプ、前処理および後処理ツール、実験結果を可視化するツールが使用されており、多くの場合、これらすべてが組み合わさっています。これらを統合する典型的な方法は手動で、各アプリケーション分野ごとにカスタムソリューションを作成するため、スケールが悪く、共有や再現性を妨げます。
このプロトコルは、ローカルコンテナ化されたワークフローシステムの展開と利用を示しています。その後、ユーザーはDockerを使ってローカルのGalaxyインスタンスを起動し、OpenMCニュートロニクスシミュレーションワークフローを作成・実行し、出力をフォーマット変換ツールの連鎖に通し、結果をParaViewとNVIDIA Omniverseの両方に読み込んで可視化します。コンテナ化展開は、セクション1で説明するハードウェア要件を満たす任意のマシンでの再現性と移植性を促進します。
システムが稼働すると、ワークフローは手動の再構成なしに新しい入力に対して再実行でき、追加のシミュレーションコードを控えめな労力で新しいツールとしてラップでき、複数のワークフローやアプリケーション分野でツールを活用できます。このアプローチは、検索可能でアクセス可能、相互運用可能、再利用可能(FAIR)のデータ原則をサポートしています。すなわち、実行履歴は完全な出所メタデータを取得し、ワークフローはポータブルファイルとしてエクスポート可能でGalaxyインスタンス間で直接共有可能で、ツールはバージョン管理されたコンテナにパッケージされて公開リポジトリに公開されます。GalaxyのPulsarシステムを通じて高性能計算(HPC)やクラウドリソースへのスケーラビリティは、ここで説明したアーキテクチャの自然な拡張です。
この方法は核融合中性子のケーススタディを通じて実証されています。OpenMCは、直接加速幾何学モンテカルロ(DAGMC)コンピュータ支援設計(CAD)形状学における中性子輸送のシミュレーションに用いられ、トリチウム繁殖比(TBR)結果と中性子トラックデータセットを生成します。シミュレーションワークフローは、呼び出しと可視化のためのメタバースプラットフォームとしてNVIDIA Omniverseに接続されます。
産業用メタバースは、デジタル世界と物理世界を組み合わせ、設計、シミュレーション、そしてエンジニアリングシステムの協働的な3D可視化を支援します。通常、多数の相互接続されたデジタルツインのコンポーネントで構成され、全体のシステムビューを提供します。ボーイング、BMW、アマゾンなどの大手組織は、メタバース1を作るために複数のアプローチを取っています。複数のシミュレーションおよび処理ツールの連鎖を可能にするシステムが開発され、使用されています。しかし、これらの例は通常、アプリケーションエリア2向けに特注されたか、商業オプション3,4で、一部は独自システムにロックインされています。デジタルツイン構築のためのオープンソースの代替手段として、Python Flaskのようにシミュレーション機能を備えたシステムの開発に使われています。それでも、これらは特定のモデル5に関連する特定のタスクを実行するための専用コードとして構成されています。このプロトコルの文脈では、メタバースプラットフォーム(NVIDIA Omniverse)は3D可視化およびワークフローインタラクションのフロントエンドとして機能します。ワークフロー実行完了後、シミュレーション出力は共有シーンに読み込まれ、同じ環境内から新しい実行をトリガーできます。これはリアルタイムのセンサーフィードがモデルを継続的に更新するライブデジタルツインシステムとは異なります。ここで示す手法は、バッチワークフローの実行と実行後の検索結果をサポートします。しかし、これは今後、より多くのシステムをメタバースプラットフォームに統合し、ワークフローエンジンを計算バックエンドにしたデジタルツインの作成を可能にするための取り組みを支援する形で行われています。
ワークフローは、それらの間のデータフローを明示的に指定したソフトウェアツールの連鎖として定義できます。既存のシミュレーションコード、処理スクリプト、その他のステップを典型的な解析パイプライン内でラップし、機能を変更することなく、ツールに依存しない標準化された入力・出力で設定・再構成を可能にします。ワークフローはツールの共有を通じて結果の容易な複製を可能にし、どのバージョンのツールがどの順序で、どの入力で使われたかのメタデータや出所も提供します。ツール自体は多くのシミュレーションパイプラインで再利用できるため、研究者はシミュレーションの準備にかかる時間を減らし、実験の設計や結果の探求により多くの時間を割くことができます。ワークフローシステムはスケーラブルで、異なるローカルの計算、クラウド、HPCリソースに接続する方法があり、多くの大規模ワークフローを特定のハードウェア上で自動化して実行することを可能にします。
典型的な手動のアプローチは本質的に遅く、エラーが多く再現が困難であり、研究者が各シミュレーションや後処理ツールを手作業で操作し、中間ファイルを環境間で移動させ、個々の実行の入力と出力を記録しなければなりません。これに対し、ワークフローマネージャーはデータフローを一度形式化し、決定論的に再実行します。これは手動パイプラインに比べて多くの利点をもたらします。同じワークフローを異なる入力で同一に実行でき、カスタムスクリプトなしでパラメータ調査をサポートできること。すべての実行は自動的に完全なプロヴィナンスメタデータを取得し、再現性のギャップを補います。ツールがラップされると、その後のワークフローでの再利用コストは計算時間を除いてほぼゼロに減少します。これらの利点は、Wrattenら7によってバイオインフォマティクス、Perez-RiverolとMoreno8、Verhoevenら9によってプロテオミクス/メタボロミクス分野で定量化されています。
歴史的に、ワークフローは主にバイオインフォマティクス分野で使われてきました。8,9はヨーロッパのGalaxy Server10,11のような大規模な公開インスタンスで大きな成功を収めており、2022年までに5万人以上のユーザー、2,500のツール、4,700万以上のジョブ、26万回のワークフロー実行を行っていました。同じワークフローエンジンスタックは、Pulsar分散ジョブ実行システム6,11を通じてHPCおよびクラウドリソースへのスケーリングをサポートし、10か国にわたる13のPulsarエンドポイントにまたがる運用展開が行われています。Snakemake、Nextflow、Toil、CWL互換エンジンなど多くのワークフローマネージャーの中で、いくつかの理由でGalaxy ワークフローエンジン11が選ばれました。主な理由の一つは、コマンドラインを主に扱わないドメイン専門家の参入障壁を下げる成熟したブラウザベースのインターフェースです。完全な表現状態転送(REST)アプリケーションプログラミングインターフェース(API)を公開しており(本作業ではメタバースフロントエンドへのブリッジとして使用)、その歴史とジョブズモデルは、非専門の協力者でも簡単に理解できる形で出自を捉えています。また、前述のPulsarシステムによる透過的なHPCオフロードもサポートしています(ただし、本論文のプロトコルセクションではこの点については触れていません)。しかし、本論文で説明されているアプローチは、原則としてワークフローエンジンに依存しないものであり、代替エンジンの上に同等の統合を構築することも可能です。この仕事の貢献はワークフローマネージャー自体ではなく、もともとバイオインフォマティクス向けに開発された汎用ワークフローマネージャーを他分野(ここでは融合ニュートロニクスの具体例として)に移植し、産業用メタバースプラットフォーム(NVIDIA Omniverse)との統合を、完全にコンテナ化されローカル展開可能なスタック内に統合し、3D仮想実験に応用したことです。
最後に、コンテナ化はコードをオペレーティングシステムと実行に必要なすべての依存関係にパッケージ化することで、多くのソフトウェアの共有を可能にします。これらの環境は依存関係の欠落やシミュレーションコードのインストールの手間を回避します。目的は仮想マシンに似ていますが、はるかに軽量で携帯性が高いです。これらはソフトウェアパッケージの共有性と再現性を大幅に高めます。この方法では、ワークフローマネージャーや個別ツールがDocker12 コンテナ上で動作し、ユーザーがコンテナを実行できる限り異なるオペレーティングシステムとの互換性が向上します。
このプロトコルは、融合中性子工学者、計算流体力学分析者、有限要素実務者など、自分の分野のシミュレーションツールに精通しているが、ワークフローマネージャーやコンテナベースのデプロイメントをこれまで使ったことがない分野の専門家を対象としています。単一のシミュレーションコードと基本的なコマンドライン操作に慣れていることが前提です。ギャラクシーやオムニバースへの親しみは違います。コンテナ化に初めて触れる読者は、公式のDockerドキュメント(https://docs.docker.com/)または入門トレーニングを参照してください:セクション1に従う前に https://uomresearchit.github.io/docker-introduction/ ;ソフトウェアを実行するために必要な基本的なコマンドはすべてプロトコルに含まれています。
本レポートの残りの部分では、ローカル展開可能なシステムのセットアップと利用について扱います。その後、システム用の新しいツール開発や、メタバースプラットフォームなど他の外部パッケージをワークフローエンジンにリンクする方法を案内します。報告書全体を通じて、OpenMC13 を用いた中性子シミュレーションがケーススタディとして用いられています。OpenMCが選ばれたのは、CADからシミュレーション、出力、可視化までのワークフローアーキテクチャを推進する完全なパイプラインを示しているからです。ジオメトリファイルと設定ファイルが構造化入力として機能します。モンテカルロ中性子輸送シミュレーションは、既知の範囲の値と比較可能なスカラー指標(トリチウム繁殖比、TBR)と、メタバースアプリケーションでの3Dレンダリング用に可視化可能な空間的に分解された中性子トラックデータセットを生成します。
アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。
注:ローカルワークフローエンジンの設定、ワークフロー構築、ワークフロー起動、可視化出力の概要は図1、図2、図3、図4、図5、図6、図7、図8に示されています。プロトコルを実行するために必要なリポジトリファイルは補足ファイル1に提供されています。
1. セットアップ
2. ワークフローエンジンでのジョブ実行
3. メタバースプラットフォームからのワークフローの実行
4. 新しいツールの追加
注意:このセクションでは、新しいワークフローツールの作成および展開のための開発者プロセスについて説明します。リポジトリのファイルシステムへのアクセスと、デバッグのためのワークフローエンジンへの管理者アクセスが必要です。既存のツールやワークフローの実行、またはワークフローの作成だけが必要なユーザーは、このセクションに従う必要はありません。
5. ワークフローをメタバースに接続する
注:このセクションは、ワークフローエンジンのAPI統合およびメタバースプラットフォーム拡張のアーキテクチャを説明する開発者向けの参考資料を提供します。メタバースプラットフォームからワークフローのみを実行すればよいユーザーはセクション3に従うべきであり、このセクションを読む必要はありません。異なるフロントエンドアプリケーションをワークフローエンジンに接続したい開発者は、セクション5.1から始めるべきです。
アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。
gitリポジトリで提供された入力を使ってシミュレーションを実行する場合、以下の結果が得られるはずです。
Step 2.1.3を正常に完了すると、 TBR と Tracks の出力データセットの両方が 履歴 パネルに緑色で表示され、実行成功を示します。提供された構成ファイル(5バッチ、1,000個の粒子)を用いた代表的なTBR値は約0.76で、実行ごとに約±0.01の変動があります。したがって、TBRで0.74〜0.78の範囲で得られた値は成功とみなすべきです。この広い範囲はモンテカルロ中性子の確率的性質を反映しています。この構成は速度のために意図的に小さな粒子数を使用しています。中性子の数を増やすと(現在は1,000個の粒子を5バッチで行っています)、実行間のTBR値はより一貫するはずです。Step 2.1.5の後の注記で、中性子ツール入力ファイルの設定を変更し、可能な結果の拡散を減らす一方で計算コストが増加します...
アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。
プロトコルにはいくつかの重要なステップがあります。主にワークフローエンジンインスタンスの初期設定に関するもので、例えば管理者メールアドレス(プロトコルステップ1.2.2)を追加すること、これは管理者がツールやジョブパネルにアクセスするために必要です。メタバースプラットフォーム拡張(プロトコルステップ1.5.3)のAPIキーを正しく生成し、これをデフォルト値ファイルに正しく貼り付けること;また、ツールを追加する際も、起動時にロードされる際に再起動前にツール設定ファイル(プロトコルステップ4.1.6)に必ず追加し、ワークフローログからはエラーが見られない場合があります。プロトコルステップ1.5.3以降、default.jsonがAPI鍵を保持しているため、このファイルはシークレットとして扱うべきです。. gitignore に含まれているか(デフォルトで含まれている)ことを確認し、公開リポジトリにはコミットしないでください。もしワークフローエンジンのランディングページが最初 http://localhost:8080 に表示されなければ、...
アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。
著者には開示すべき利益相反はありません。
このプロジェクトは、英国原子力庁の核融合産業プログラムを通じて支援を受けています。核融合産業プログラムは、英国の核融合エコシステムの成長を促進し、将来のグローバルな核融合発電所市場に備えています。フュージョン産業プログラムの詳細はオンラインでご覧いただけます:https://ccfe.ukaea.uk/programmes/fusion-industry-programme/
このプロトコルに付随する例リポジトリは https://github.com/williamjsmith15/galaxy-omniverse-example(https://github.com/UoMResearchIT/omniverse-workflows-fusion のパブリックフォーク)で利用可能です。
アクセスが制限されています。このコンテンツを表示するにはログインするか、トライアルを開始してください。
| 名前 | 会社 | カタログ番号 | コメント |
|---|---|---|---|
| Bioblend | Galaxy Project | v1.2+ | Galaxy REST API をラップする高レベルの Python ライブラリ。Omniverse 拡張ヘルパースクリプトでワークフローのリスト表示、入力定義の取得、ジョブの起動に使用されます。関連する Docker イメージ内に自動的にインストールされます。ホストへのインストールは不要です。 |
| Docker Containers | Docker | v24.0.5 | 各シミュレーションと後処理ツールをその依存関係ごとにパッケージ化し、移植性と再現性を確保するために使用されるコンテナ化ランタイム。 |
| Galaxy | Galaxy Project | v22.05 | チェインされたシミュレーションと処理ツールをオーケストレーションし、REST API 経由で公開するために使用されるオープンソースのワークフローエンジン。 |
| Git | Git SCM | v2+ | プロトコルに沿ってリポジトリをクローンするために必要です |
| NVIDIA RTX GPU | NVIDIA | - | Omniverse でのリアルタイムのレイトレーストレンダリングに必要です(セクション 3)。RTX ハードウェアを持たないユーザーはセクション 2 までのすべての手順を完了し、視覚化には ParaView を使用できます(ディスカッションを参照)。 |
| Omniverse | NVIDIA | Code 2022.3.3 | NVIDIA の協働 3D プラットフォーム。カスタム Kit 拡張を通じて、ワークフロー出力の視覚化およびインタラクションフロントエンドとして使用されます。 |
| ParaView | Kitware | v5.11 | .vtk/.vtp 出力の検査用に、非 RTX のフォールバックとして使用されるオープンソースの科学可視化アプリケーション。 |
| Protocol Repository | Custom | v1.0 | Galaxy 設定とすべてのツールの XML ラッパー、実行スクリプト、Dockerfile、テストデータ、および Omniverse 拡張が含まれています。ステップ 1.2.1 でクローンされます。主要ファイルは直接補足アップロードとしても提供されています(I.2 を参照)。 |
| Python | Python | v3.10+ | OpenMC 実行スクリプトおよび Omniverse 拡張ヘルパースクリプトに必要なランタイム。関連する Docker イメージまたは Omniverse ダウンロードに含まれています。別途ホストへのインストールは不要です。 |
| The OpenMC Monte Carlo Code | OpenMC | v0.13.3 | 核融合中性子シミュレーションに使用されるオープンソースのモンテカルロ粒子輸送コード。トリチウム育成比(TBR)と中性子トラック出力を提供します。 |
| Windows Subsystem for Linux (WSL) | Microsoft | v2 | Windows ホスト上で Docker を実行するために必要です(PowerShell で `wsl --install` を使用してインストール)。Linux および Mac ユーザーには不要です。 |