本文介绍了一种通用的、符合FAIR原则的方法,适用于领域专家研究人员将模拟和数据处理工具集成到三维虚拟实验的自动化工作流中。以中子学为例,展示了如何建立本地Galaxy实例,封装OpenMC和文件转换工具,从Omniverse启动工作流,并对转换后的三维输出结果进行可视化。
需要JoVE订阅才能观看此内容。 请登录或开始免费试用
本文介绍了一种通用的、符合FAIR原则的方法,适用于领域专家研究人员将模拟和数据处理工具集成到三维虚拟实验的自动化工作流中。以中子学为例,展示了如何建立本地Galaxy实例,封装OpenMC和文件转换工具,从Omniverse启动工作流,并对转换后的三维输出结果进行可视化。
在许多虚拟实验中,通常会结合使用多种软件包,涉及不同类型的模拟、预处理与后处理工具,以及用于可视化实验结果的工具。目前整合这些工具的典型方法是手动操作,针对每个应用领域定制专门的解决方案,这种方法可扩展性差,且阻碍了成果的共享与可重复性。
本方案演示了本地容器化工作流系统的部署与使用。按照本方案操作,用户将使用 Docker 启动一个本地 Galaxy 实例,创建并运行一个 OpenMC 中子学模拟工作流,将输出结果通过一系列格式转换工具进行处理,并将最终结果加载到 ParaView 和 NVIDIA Omniverse 中进行可视化。这种容器化部署方式可在满足第 1 节所述硬件要求的任何设备上实现结果的可重复性和可移植性。
系统运行后,工作流程可针对新的输入数据重新运行,而无需手动重新配置;只需少量工作即可将额外的模拟代码封装为新工具;工具可在多个工作流程和应用领域中重复使用。该方法支持可发现、可访问、可互操作、可重用(FAIR)的数据原则:运行历史记录完整地保存了来源元数据;工作流程可导出为可移植文件,并可在 Galaxy 实例之间直接共享;工具则被打包在版本控制的容器中,可发布至公共仓库。通过 Galaxy 的 Pulsar 系统,将本架构扩展至高性能计算(HPC)或云资源是一种自然的延伸。
本方法通过一个聚变中子学案例研究进行演示。使用 OpenMC 在直接加速几何蒙特卡罗(DAGMC)计算机辅助设计(CAD)几何结构中模拟中子输运过程,得到氚增殖比(TBR)结果和中子轨迹数据集。随后将仿真工作流连接至 NVIDIA Omniverse 作为元宇宙平台,用于调用与可视化。
工业元宇宙融合了数字世界与物理世界,以支持工程系统的设计、仿真以及协作式三维可视化。它通常由众多相互连接的组件数字孪生体构成,从而提供整体系统的视图。波音(Boeing)、宝马(BMW)、亚马逊(Amazon)等许多大型组织正在采用多种方法构建元宇宙1。目前已有系统被开发并投入使用,用于支持多链条的仿真与处理工具。然而,这些实例通常要么针对特定应用领域定制2,要么属于商业解决方案3,4,存在对专有系统的依赖性。一些用于构建数字孪生体的开源替代方案已被用于创建部分系统,例如具有内置仿真功能的 Python Flask。但这些方案仍被配置为定制化的代码模块,仅执行与特定模型相关的具体任务5。在本实验方案的背景下,元宇宙平台(NVIDIA Omniverse)作为三维可视化和工作流交互的前端:在工作流运行完成后,仿真结果将被加载到共享场景中,并可在同一环境中触发新的运行。这与实时数字孪生系统不同,后者通过实时传感器数据流持续更新模型;本文演示的方法支持批量工作流的执行以及运行后对结果的探索。然而,该方法的设计方式为未来研究奠定了基础,可将更多系统集成至元宇宙平台,从而实现以工作流引擎作为计算后端的数字孪生体构建。
工作流程可以被定义为明确指定软件工具之间数据流的工具链。它们允许将现有的模拟代码、处理脚本以及典型分析流程中的其他步骤进行封装,而无需更改这些组件的功能,而是通过标准化的输入和输出对其进行配置和重新配置,且不依赖于具体工具。通过共享工具,工作流程可轻松实现结果的重复验证,同时提供关于所使用工具版本、执行顺序及输入参数的元数据和来源信息。单个工具本身可在多个模拟流程中重复使用,使研究人员能够减少搭建模拟环境的时间,将更多精力投入到实验设计和结果探索中。工作流程系统还具有良好的可扩展性,可通过方法连接不同的本地计算资源、云平台和高性能计算(HPC)资源,从而以自动化方式在特定硬件上运行大量大规模工作流程6。
传统的手动方法本质上速度慢、容易出错且难以重复:研究人员需要手动运行每个模拟或后处理工具,将中间文件在不同环境之间移动,并手动记录每次运行的输入和输出。相比之下,工作流管理工具通过一次性明确数据流,并以确定性方式重复执行,从而带来诸多优势:相同的工作流可以针对不同输入完全一致地执行,无需编写专门脚本即可支持参数化研究;每次运行都会自动记录完整的来源元数据,有效解决可重复性问题;此外,一旦工具被封装,其在后续工作流中的复用成本几乎为零,仅需考虑计算时间。Wratten 等人7已对生物信息学领域、Perez-Riverol 和 Moreno8以及 Verhoeven 等人9已对蛋白质组学/代谢组学领域的工作流优势进行了量化研究。
从历史上看,工作流主要在生物信息学领域得到了广泛应用8,9,并取得了显著成功,例如欧洲 Galaxy 服务器这一大型公共实例10,11。截至2022年,该服务器已拥有超过5万名用户,集成了2500种工具,执行了超过4700万项任务和26万次工作流运行。相同的底层工作流引擎可通过 Pulsar 分布式任务执行系统6,11扩展至高性能计算(HPC)和云资源,目前已在欧洲10个国家部署了13个 Pulsar 节点。在众多可用的工作流管理工具中,包括 Snakemake、Nextflow、Toil 和支持 CWL 的引擎,本文选择了 Galaxy 工作流引擎11,原因如下:其一,它具备成熟的基于浏览器的界面,降低了非命令行用户为主的领域专家的使用门槛;其二,它提供了完整的表征状态转移(REST)应用程序编程接口(API),本文利用该接口连接至元宇宙前端;其三,其历史记录与任务模型能够以直观的方式向非专业合作者展示数据来源信息;此外,它还通过前述的 Pulsar 系统支持透明的高性能计算任务卸载(尽管本文的实验方案部分未对此进行讨论)。然而,本文所描述的方法在原则上与具体工作流引擎无关:类似的集成也可基于其他引擎构建。本研究的贡献并非工作流管理器本身,而是将原本为生物信息学开发的通用型工作流管理器迁移应用于其他领域(本文以聚变中子学为具体示例),并将其与工业元宇宙平台(NVIDIA Omniverse)集成,构建于一个完全容器化、可本地部署的技术栈中,用于开展三维虚拟实验。
最后,容器化通过将代码与其运行所需的操作系统及所有依赖项打包在一起,实现了多种软件的共享。这些环境避免了依赖项缺失的问题,也免去了安装某些仿真代码的繁琐过程。容器化在目的上类似于虚拟机,但更加轻量且更具可移植性。它极大地提高了软件包的可共享性和可重复性。在本方法中,工作流管理器和各个工具均在 Docker12 容器中运行,只要用户能够运行容器,即可提升在不同操作系统上的兼容性。
本方案适用于特定领域的专家研究人员,例如聚变中子学工程师、计算流体动力学分析人员或有限元实践人员,这些研究人员精通各自领域的仿真工具,但此前未使用过工作流管理器或基于容器的部署方式。假设读者已熟悉单一仿真代码及基本的命令行操作;不要求了解 Galaxy 或 Omniverse。初次接触容器化技术的读者应在进行第1节前,参考官方 Docker 文档(https://docs.docker.com/)或访问以下网址获取入门培训:https://uomresearchit.github.io/docker-introduction/;运行软件所需的基本命令均已包含在本方案中。
本报告其余部分将介绍本地可部署系统的设置与使用方法,随后阐述为该系统开发新工具的步骤,以及将其他外部软件包(例如元宇宙平台)与工作流引擎相连接的方法。在整个报告中,以使用 OpenMC13 进行中子输运模拟作为案例研究。选择 OpenMC 是因为它展示了从 CAD 建模到仿真计算再到结果可视化的完整流程,这正是本工作流架构的设计动机。几何文件和配置文件作为结构化输入;蒙特卡罗中子输运模拟生成一个标量指标(氚增殖比,TBR),可用于与已知取值范围进行比较,同时生成空间分辨的中子轨迹数据集,该数据集可被处理并转换为可在元宇宙应用中进行三维渲染的可视化格式。
访问受限。请登录或开始试用以查看此内容。
注意:本地工作流引擎的设置、工作流构建、工作流启动以及可视化输出的概览见 图 1、图 2、图 3、图 4、图 5、图 6、图 7 和 图 8。运行本方案所需的仓库文件见补充文件 1。
1. 设置
2. 在工作流引擎上运行任务
3. 从元宇宙平台运行工作流程
4. 添加新工具
注意:本节介绍创建和部署新工作流工具的开发流程。需要访问存储库的文件系统,以及对工作流引擎的管理员权限以进行调试。仅需运行现有工具和工作流或创建工作流的用户,无需遵循本节内容。
5. 将工作流程连接到元宇宙
注意:本节提供描述工作流引擎 API 集成及元宇宙平台扩展架构的开发者参考材料。仅需从元宇宙平台运行工作流的用户应遵循第 3 节,无需阅读本节。希望将不同前端应用连接至工作流引擎的开发者应从第 5.1 节开始阅读。
访问受限。请登录或开始试用以查看此内容。
如果使用 Git 仓库中提供的输入参数运行模拟,则应获得以下结果:
成功完成步骤 2.1.3 后,TBR 和 Tracks 输出数据集均会以绿色显示在 History 面板中,表示运行成功。使用提供的配置文件(5 批次,每批次 1,000 个粒子)得到的典型 TBR 值约为 0.76,不同运行之间的波动范围约为 ±0.01。因此,若获得的 TBR 值在 0.74–0.78 范围内,均可视为成功。该较宽的范围反映了蒙特卡洛中子学模拟的随机性;当前配置为提高运行速度而有意采用了较少的粒子数量。若增加中子数量(当前为 5 批次,每批次 1,000 个粒子),则不同运行之间的 TBR 值将更加一致。参见步骤 2.1.5 后的说明,以修改中子学工具输入文件中的设置,从而减小结果的离散程度,但计算成本将相应增加。如果在此 History 面板中出现红色数据集,请通过第 4.1 节所述的 Admin, Jobs 步骤(需要管理员...
访问受限。请登录或开始试用以查看此内容。
在本方案中存在几个关键步骤,主要涉及工作流引擎实例的初始设置,例如:添加管理员邮箱(方案步骤 1.2.2),因为这是访问工具和任务面板管理功能所必需的;正确生成用于元宇宙平台扩展的 API 密钥(方案步骤 1.5.3),并将其正确粘贴到默认值文件中;在添加工具时,需确保这些工具在重启前已添加至工具配置文件(方案步骤 4.1.6),因为这些工具在启动时加载,此处的错误在工作流日志中可能并不明显。由于在方案步骤 1.5.3 之后,default.json 文件中包含 API 密钥,因此该文件应视为机密。请确认其已包含在 .gitignore 文件中(默认已包含),切勿提交至任何公开代码仓库。如果工作流引擎的登录页面在首次访问时未在 http://localhost:8080 显示,可能仅需几分钟时间以拉取并运行容器镜像,后续启动速度将显著加快。若工具未显示,可能是工具未添加至工具配置文件,请检查该文件,并确认工具 XML 文件的格式正确。随后重启服务;工作流日志在报告此类错误时有时信息较少,而重启是最常见的解决方法。与元宇宙平台扩展相关的任何问题,几乎都源于使用了错误的 API 密钥,或本地工作流引擎实例...
访问受限。请登录或开始试用以查看此内容。
作者声明无利益冲突。
本项目由英国原子能机构通过聚变产业计划提供支持。聚变产业计划正在推动英国聚变生态系统的增长,并为其未来进入全球聚变电厂市场做好准备。有关聚变产业计划的更多信息可在线获取:https://ccfe.ukaea.uk/programmes/fusion-industry-programme/
本方案所附的示例仓库位于 https://github.com/williamjsmith15/galaxy-omniverse-example(该仓库是 https://github.com/UoMResearchIT/omniverse-workflows-fusion 的一个公共分支)。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| Bioblend | Galaxy 项目 | v1.2+ | 提供围绕 Galaxy REST API 的高级封装的 Python 库。在 Omniverse 扩展辅助脚本中用于列出工作流、获取输入定义并启动任务。该库会自动安装在相关 Docker 镜像中,无需在主机上单独安装。 |
| Docker 容器 | Docker | v24.0.5 | 容器化运行时,用于将每个仿真和后处理工具及其所有依赖项打包,确保可移植性和可重复性。 |
| Galaxy | Galaxy 项目 | v22.05 | 开源工作流引擎,用于编排串联的仿真和处理工具,并通过 REST API 暴露功能。 |
| Git | Git SCM | v2+ | 需要使用 Git 克隆代码仓库以跟随本实验方案操作 |
| NVIDIA RTX GPU | NVIDIA | - | 用于在 Omniverse 中实现实时光线追踪渲染(第 3 节)。无 RTX 硬件的用户可完成至第 2 节的所有步骤,并使用 ParaView 进行可视化(见讨论部分)。 |
| Omniverse | NVIDIA | Code 2022.3.3 | NVIDIA 的协作式 3D 平台。通过自定义 Kit 扩展,用作工作流输出的可视化与交互前端。 |
| ParaView | Kitware | v5.11 | 开源科学可视化应用程序,作为无 RTX 硬件时的备选方案,用于检查中间输出文件(.vtk/.vtp 格式)。 |
| 实验方案代码仓库 | 自定义 | v1.0 | 包含 Galaxy 配置文件、所有工具 XML 封装器、运行脚本、Dockerfile、测试数据以及 Omniverse 扩展。在步骤 1.2.1 中进行克隆。关键文件也作为直接补充材料上传(见 I.2)。 |
| Python | Python | v3.10+ | OpenMC 运行脚本和 Omniverse 扩展辅助脚本所需的运行环境。已包含在相关 Docker 镜像中或随 Omniverse 下载包提供,无需在主机上单独安装。 |
| OpenMC 蒙特卡罗程序 | OpenMC | v0.13.3 | 开源的蒙特卡罗粒子输运代码,本研究中用于聚变中子学仿真。提供氚增殖比(TBR)和中子轨迹输出结果。 |
| 适用于 Linux 的 Windows 子系统(WSL) | Microsoft | v2 | 在 Windows 主机上运行 Docker 所必需(通过 PowerShell 执行 `wsl --install` 命令安装)。Linux 和 Mac 用户无需此组件。 |