동적 MPI 애플리케이션을 위한 병렬 스폰 전략
초록
본 논문은 MPI 기반의 가변 크기 애플리케이션에서 확장·축소 시 발생하는 재구성 비용을 최소화하기 위해, 모든 프로세스가 협력하여 새로운 프로세스를 동시에 스폰하고 불필요한 프로세스를 즉시 종료하는 병렬 스폰 알고리즘을 제안한다. 동질 및 이질 노드 환경 모두에서 실험을 수행했으며, 확장 오버헤드는 1.13배·1.25배 수준에 머무르는 반면, 축소 비용은 기존 방법 대비 최소 1387배·20배까지 크게 감소하였다.
상세 분석
이 연구는 MPI의 전통적인 전역 커뮤니케이터(MPI_COMM_WORLD)가 부분 프로세스 종료를 허용하지 않는 한계를 극복하고자 한다. 기존 방법은 전체 애플리케이션을 재시작하거나, ‘좀비’ 프로세스를 남겨 노드를 반환하지 못하는 문제가 있었다. 저자는 두 가지 핵심 아이디어를 도입한다. 첫째, 각 노드마다 독립적인 MPI_COMM_WORLD을 생성하고, 이를 병렬적으로 스폰한다는 ‘하이퍼큐브’ 전략과, 코어 수가 서로 다른 노드에서도 적용 가능한 ‘반복 차등(Iterative Diffusive)’ 전략을 설계하였다. 둘째, 스폰된 프로세스가 즉시 새로운 스폰 단계에 참여하도록 함으로써 스폰 단계가 기하급수적으로 확장되도록 하였다. 이 과정은 (1) 포트 열기, (2) 동기화, (3) 커뮤니케이터 병합, (4) 전역 랭크 재정렬의 네 단계로 구성된다. 특히, 스폰 단계에서 MPI_Comm_self와 MPI_Info를 이용해 목표 노드를 지정함으로써 노드 간 부하를 균등하게 배분한다. 성장 팩터는 코어 수 C에 대해 C+1이며, 초기 노드 수 I는 전체 소스 프로세스 수 NS를 코어 수로 나눈 값으로 정의된다. 수학적 모델에 따르면 s 단계 후 노드 수는 Ts = (C+1)^s·I – I 로 표현된다. 이러한 설계는 확장 시 기존 프로세스를 재사용하고, 축소 시 ‘Termination Shrinkage(TS)’ 방식을 적용해 불필요한 프로세스를 완전 종료한다. 실험에서는 동질(코어 수 동일)와 이질(코어 수 상이) 두 환경에서 각각 1.13배·1.25배의 확장 오버헤드만을 보였으며, 축소 시간은 기존 Spawn Shrinkage(SS) 대비 최소 1387배, Zombie Shrinkage(ZS) 대비 최소 20배 빨라졌다. 결과적으로, 제안된 병렬 스폰 전략은 대규모 HPC 시스템에서 동적 자원 관리(DRM)를 지원하면서도 스케일러블하고 비용 효율적인 프로세스 관리 메커니즘을 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기