3D 가상 실험의 자동화된 워크플로우에 시뮬레이션 및 데이터 처리 도구를 통합하려는 분야 전문가 연구자들을 위한 일반화되고 FAIR 준수 방법을 제시합니다. 중성자 예시로는 로컬 갤럭시 인스턴스 설정, OpenMC 및 파일 변환 도구 래핑, Omniverse에서 워크플로우 실행, 변환된 3D 출력 시각화 등이 있습니다.
이 콘텐츠를 보려면 JoVE 구독이 필요합니다. 로그인하거나 오늘 무료 평가판을 시작하세요.
3D 가상 실험의 자동화된 워크플로우에 시뮬레이션 및 데이터 처리 도구를 통합하려는 분야 전문가 연구자들을 위한 일반화되고 FAIR 준수 방법을 제시합니다. 중성자 예시로는 로컬 갤럭시 인스턴스 설정, OpenMC 및 파일 변환 도구 래핑, Omniverse에서 워크플로우 실행, 변환된 3D 출력 시각화 등이 있습니다.
많은 가상 실험에서는 다양한 시뮬레이션 유형, 전처리 및 후처리 도구, 실험 결과를 시각화하는 도구와 함께 여러 소프트웨어 패키지가 사용되며, 종종 이 모든 것이 결합된 경우가 많습니다. 이들을 통합하는 일반적인 방법은 수작업으로, 각 응용 분야에 맞춘 맞춤형 솔루션이 만들어지는데, 이는 확장성이 떨어지고 공유와 재현성을 저해합니다.
이 프로토콜은 로컬 컨테이너화된 워크플로우 시스템의 배포 및 사용을 보여줍니다. 그 후 사용자는 Docker를 사용해 로컬 갤럭시 인스턴스를 실행하고, OpenMC 중성자 시뮬레이션 워크플로우를 생성 및 실행하며, 출력 데이터를 여러 포맷 변환 도구를 통해 전달하고, 결과를 ParaView와 NVIDIA Omniverse에 불러와 시각화할 수 있습니다. 컨테이너화된 배포는 1절에서 설명한 하드웨어 요구사항을 충족하는 모든 기계에서 재현성과 이식성을 촉진합니다.
시스템이 실행되면 워크플로우를 새로운 입력에 대해 수동 재구성 없이도 재실행할 수 있고, 추가 시뮬레이션 코드를 적당한 노력으로 새로운 도구로 포장할 수 있으며, 여러 워크플로우와 응용 분야에서 툴을 사용할 수 있습니다. 이 접근법은 검색 가능, 접근 가능, 상호운용 가능, 재사용(FAIR) 데이터 원칙을 지원합니다: 실행 기록은 전체 출처 메타데이터를 캡처하고, 워크플로우는 휴대용 파일로 내보낼 수 있으며 갤럭시 인스턴스 간에 직접 공유할 수 있으며, 도구는 버전 관리 컨테이너에 패키지되어 공개 저장소에 게시됩니다. 갤럭시의 펄서 시스템을 통해 고성능 컴퓨팅(HPC)이나 클라우드 자원으로의 확장성은 여기서 설명한 아키텍처의 자연스러운 확장입니다.
이 방법은 핵융합 중성자 사례 연구를 통해 입증됩니다. OpenMC는 직접 가속 기하학 몬테카를로(DAGMC) 컴퓨터 지원 설계(CAD) 기하학에서 중성자 수송을 시뮬레이션하는 데 사용되며, 삼중수소 번식비(TBR) 결과와 중성자 추적 데이터셋을 생성합니다. 시뮬레이션 워크플로우는 이후 메타버스 플랫폼인 NVIDIA Omniverse와 연결되어 호출과 시각화를 지원합니다.
산업용 메타버스는 디지털 세계와 물리적 세계를 결합하여 설계, 시뮬레이션, 협업 3D 시각화를 지원합니다. 일반적으로 여러 개의 상호 연결된 디지털 트윈 구성 요소로 구성되어 전체 시스템 뷰를 제공합니다. 보잉, BMW, 아마존 등 대형 기업들이 메타버스를 만들기 위해 다양한 접근법을 취하고 있습니다. 여러 연쇄 시뮬레이션 및 처리 도구를 지원하는 시스템이 개발되어 사용 중입니다. 하지만 이러한 예시들은 일반적으로 애플리케이션분야 2에 맞게 맞춤 제작되거나, 상업용 옵션 3,4에 일부 독점 시스템에 잠기면서 사용됩니다. 디지털 트윈 구축을 위한 일부 오픈 소스 대안들은 Python Flask와 같이 내장 시뮬레이션 기능을 갖춘 시스템을 만드는 데 사용되었습니다. 그럼에도 불구하고, 이들은 특정 모델5와 관련된 특정 작업을 수행하기 위해 맞춤형 코드 조각으로 구성되어 있습니다. 이 프로토콜의 맥락에서 메타버스 플랫폼(NVIDIA Omniverse)은 3D 시각화 및 워크플로우 상호작용의 프론트엔드 역할을 합니다: 워크플로우 실행이 완료된 후 시뮬레이션 출력이 공유 씬에 로드되고, 동일한 환경 내에서 새로운 실행을 트리거할 수 있습니다. 이는 실시간 센서 피드가 모델을 지속적으로 업데이트하는 실시간 디지털 트윈 시스템과는 다릅니다; 여기서 시연된 방법은 배치 워크플로우 실행과 실행 후 결과 탐색을 지원합니다. 하지만 이는 향후 더 많은 시스템을 메타버스 플랫폼에 통합하여 워크플로우 엔진을 계산 백엔드로 삼은 디지털 트윈 생성 작업을 지원하도록 설계되었습니다.
워크플로우는 소프트웨어 도구들의 체인으로 정의할 수 있으며, 이들 간의 데이터 흐름을 명시적으로 지정합니다. 기존 시뮬레이션 코드, 처리 스크립트 및 기타 단계를 일반적인 분석 파이프라인 내에서 래핑할 수 있게 하며, 이들의 기능을 변경하지 않고, 도구 무관성을 가진 표준화된 입력과 출력으로 구성하고 재구성할 수 있게 합니다. 워크플로우는 도구 공유를 통해 결과를 쉽게 복제할 수 있게 하며, 어떤 버전의 도구, 어떤 순서로, 어떤 입력과 함께 사용되었는지에 대한 메타데이터와 출처도 제공합니다. 도구 자체는 여러 시뮬레이션 파이프라인에서 재사용할 수 있어, 연구자들이 시뮬레이션 설정에 드는 시간을 줄이고 실험 설계와 결과 탐색에 더 많은 시간을 쓸 수 있습니다. 워크플로우 시스템도 확장 가능하며, 다양한 로컬 컴퓨팅, 클라우드 및 HPC 자원에 연결하는 방법을 통해 대규모 워크플로우를 특정 하드웨어에서 자동화된 방식으로 실행할 수 있습니다.
일반적인 수동 접근법은 본질적으로 느리고 오류가 잦으며 재현이 어렵기 때문에, 연구자가 각 시뮬레이션 또는 후처리 도구를 직접 실행하고, 중간 파일을 환경 간 이동하며, 개별 실행 입력과 출력을 문서화해야 합니다. 반면, 워크플로우 관리자는 데이터 흐름을 한 번 형식화하고 결정론적으로 재실행합니다. 이는 수동 파이프라인에 비해 많은 이점을 가져옵니다: 동일한 워크플로우를 서로 다른 입력에 동일하게 실행할 수 있어 맞춤형 스크립팅 없이도 파라미터 연구를 지원할 수 있습니다; 모든 실행은 자동으로 전체 출처 메타데이터를 캡처하여 재현성 격차를 해소합니다; 도구가 랩핑되면, 이후 워크플로우에서 재사용 비용이 거의 0에 가깝게 감소하며, 계산 시간을 제외하고는 그렇지 않습니다. 이러한 이점은 Wratten 등7에 의해 생물정보학에, Perez-Riverol과 Moreno8 , Verhoeven 등 9에 의해 단백질체학/대사체학에 대해 정량화되었습니다.
역사적으로 워크플로우는 주로 생물정보학 분야에서 사용되었으며, 2022년까지 5만 명 이상의 사용자, 2,500만 개의 도구, 4,700만 건 이상의 작업, 26만 건의 워크플로우 실행을 수행한 유럽 갤럭시 서버10,11과 같은 대규모 공개 인스턴스에서 큰 성공을 거두었습니다. 동일한 워크플로우 엔진 스택은 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 출력 데이터셋이 모두 History 패널에 녹색으로 표시되어 성공적인 실행을 나타냅니다. 제공된 구성 파일을 사용한 대표적인 TBR 값(1,000개의 입자 5배치)은 약 0.76이며, 실행 간 변동은 약 ±0.01입니다. 따라서 0.74–0.78 범위의 TBR 값은 성공으로 간주되어야 합니다. 넓은 범위는 몬테카를로 중성자학의 확률적 특성을 반영합니다; 이 구성은 속도를 위해 일부러 작은 입자 수를 사용합니다. 중성자 수를 늘리면(현재는 1,000개의 입자 5배치로 진행 중), 실행 간 TBR 값이 더 일관되게 유지될 것입니다. 2.1.5단계 이후의 노트를 참고하여 중성자 ...
액세스가 제한되었습니다. 이 콘텐츠를 보려면 로그인하거나 체험판을 시작하세요.
프로토콜 내에는 몇 가지 중요한 단계가 있습니다. 대부분은 워크플로우 엔진 인스턴스의 초기 설정과 관련이 있습니다. 예를 들어, 관리자 이메일 추가(프로토콜 단계 1.2.2)는 도구 및 작업 패널에 대한 관리자 접근을 위해 필요합니다; 메타버스 플랫폼 확장 기능(프로토콜 단계 1.5.3)의 API 키를 올바르게 생성하고 이를 기본값 파일에 올바르게 붙여넣는 것; 도구를 추가할 때, 시작 시 로드되는 재시작 전에 재시작 전에 도구 설정 파일(프로토콜 단계 4.1.6)에 추가되도록 할 때, 워크플로우 로그에서 오류가 명확하지 않을 수도 있습니다. 프로토콜 1.5.3 이후 API 키를 보유한 default.json 있으므로 이 파일은 비밀로 간주되어야 합니다. . 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+ | Python 라이브러리로 Galaxy REST API를 고수준으로 래핑합니다. 이것은 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 래퍼, 실행 스크립트, Dockerfiles, 테스트 데이터, 그리고 Omniverse 확장을 포함합니다. 1.2.1 단계에서 클론됩니다. 주요 파일은 직접 보조 업로드로도 제공됩니다(I.2 참조). |
| Python | Python | v3.10+ | OpenMC 실행 스크립트 및 Omniverse 확장 헬퍼 스크립트에 필요한 런타임입니다. 관련 Docker 이미지 또는 Omniverse 다운로드에 포함되어 있으며, 별도의 호스트 설치가 필요하지 않습니다. |
| The OpenMC Monte Carlo Code | OpenMC | v0.13.3 | 여기서 융합 중성자학 시뮬레이션을 위해 사용되는 오픈 소스 Monte Carlo 입자 수송 코드입니다. 이것은 삼중수소 육성 비율(TBR)과 중성자 트랙 출력을 제공합니다. |
| Windows Subsystem for Linux (WSL) | Microsoft | v2 | Windows 호스트에서 Docker를 실행하는 데 필요합니다(Powershell에서 `wsl --install`을 통해 설치). Linux 및 Mac 사용자는 이것이 필요하지 않습니다. |