새로운 차세대 적응광학 시뮬레이션 프레임워크 SPECULA 소개
초록
본 논문은 기존 IDL 기반 PASSATA의 한계를 극복하고, 파이썬과 CuPy·CUDA‑stream을 활용해 CPU·GPU·다중노드에서 효율적으로 실행되는 적응광학(end‑to‑end) 시뮬레이션 프레임워크 SPECULA를 제안한다. 객체‑지향 설계와 YAML 기반 선언형 구성, 자동 트리거 순서 결정 알고리즘을 통해 사용 편의성과 확장성을 높였으며, 이탈리아 슈퍼컴퓨터 Leonardo와 Arcetri 실험실에서의 하이브리드 시뮬레이션 사례를 제시한다.
상세 분석
SPECULA는 적응광학 시스템의 물리적 엔티티를 Processing Object와 Data Object라는 두 종류의 클래스로 모델링한다. Processing Object는 대기, 파동전파, 센서, 변형거울 등 실제 장치를 추상화하며, 입력‑출력 포트를 통해 다른 객체와 연결된다. Data Object는 전기장, 이미지, 명령 등 물리량을 담는 컨테이너로, 시간 스탬프(generation_time)를 보유해 동일 타임스텝 내 불필요한 연산을 자동으로 건너뛸 수 있다. 이러한 설계는 객체 간 직접적인 참조를 배제하고, 연결만으로 데이터 흐름을 정의함으로써 코드 유지보수와 테스트를 용이하게 만든다.
시뮬레이션 실행 순서는 DAG(Directed Acyclic Graph) 기반 트리거 순서 알고리즘으로 결정된다. 먼저 지연 연결(‘delayed connection’)을 그래프에서 제거해 순환을 없애고, 남은 그래프가 DAG임을 검증한다. 이후 그래프의 리프 노드에 순서 0을 부여하고, 리프를 차례로 제거하면서 순차적으로 트리거 순서를 증가시킨다. 이 과정은 단일 실행자(프로세스)뿐 아니라 다중 실행자 환경에서도 각 프로세스 내부의 순서를 보장하고, 프로세스 간 동기화는 MPI 기반 메시지 패싱으로 처리한다.
GPU 가속은 CuPy와 CUDA‑stream을 활용한다. 각 Processing Object는 self.xp 인터페이스를 통해 NumPy와 CuPy를 투명하게 전환할 수 있으며, check_ready, trigger, post_trigger, send_outputs 네 단계로 구분된 실행 흐름을 제공한다. trigger 단계에서는 메모리 할당이나 호스트‑디바이스 동기화를 배제하고, CUDA 그래프 캡처를 통해 연산을 스트림에 고정함으로써 CPU‑GPU 통신 오버헤드를 최소화한다. 또한, 객체별 GPU 인덱스 지정과 다중 프로세스 할당을 지원해, 메모리 요구량이 큰 MORFEO와 같은 대형 AO 시스템도 여러 GPU에 분산 배치할 수 있다.
분산 실행은 MPI와 연동돼, 각 노드가 독립적인 Simul 객체를 생성하고, InputList·InputValue 클래스를 통해 공유 메모리 혹은 메시지 패싱을 자동 선택한다. 이를 통해 이탈리아 슈퍼컴퓨터 Leonardo에서 수천 개의 시뮬레이션 스레드를 동시에 운용한 사례가 보고된다.
데이터 영속성은 기본적으로 FITS 포맷을 사용해 save·read 메서드가 제공되며, 시뮬레이션 상태 전체를 보존·재현·재분석할 수 있다. 시각화 도구는 orthogram 라이브러리를 이용해 처리 그래프와 GPU/프로세스 할당 현황을 다이어그램으로 출력한다.
SPECULA는 또한 하이브리드 시뮬레이션을 지원한다. 실험실 장비(예: 실제 변형거울, 센서)와 가상 객체를 동일 파이프라인에 연결해, 실시간 피드백 루프를 구현한다. Arcetri Observatory의 AO 실험실에서 물리적 장비와 SPECULA 시뮬레이션을 결합한 테스트가 성공적으로 수행되었으며, 이는 실험실 검증과 설계 단계 사이의 격차를 크게 줄인다.
오픈소스 프로젝트로 GitHub에 공개돼, 문서와 튜토리얼이 Read the Docs에 제공된다. 현재 50여 개 이상의 Processing Object가 구현돼 있으며, 사용자 정의 객체 추가를 위한 가이드라인도 포함한다. 향후 계획으로는 더 복잡한 비선형 제어 루프, 실시간 스트리밍 데이터 처리, 그리고 다른 AO 시뮬레이터와의 인터페이스 표준화가 제시된다.
전반적으로 SPECULA는 파이썬 기반의 친숙한 개발 환경, GPU·멀티노드 가속, 선언형 구성 파일, 그리고 하이브리드 실험 지원이라는 네 가지 핵심 축을 통해 PASSATA의 한계를 극복하고, 차세대 대형 적응광학 시스템 설계·시뮬레이션에 필요한 확장성과 성능을 동시에 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기