빠른 원격 프로세스 생성과 재귀적 분산을 위한 XMOS XS1 설계
초록
이 논문은 XMOS XS1 아키텍처 위에 구현한 명시적 원격 프로세스 생성 메커니즘을 제시한다. ‘on p do P’ 구문을 통해 프로세스 클로저를 전송·실행·결과 복귀까지 동기화된 단일 호출로 수행한다. 하이퍼큐브 연결을 이용해 인접 노드 간에 최소 홉 수로 전파되며, 재귀적 분산 알고리즘과 결합했을 때 프로세스 생성 오버헤드가 전체 실행 시간의 몇 퍼센트 수준에 불과함을 실험적으로 증명한다.
상세 분석
본 연구는 현재 MPI‑2 등에서 제공되는 동적 프로세스 관리가 구현 복잡도와 스케줄러 제약으로 실용성이 떨어지는 문제를 해결하고자, 하드웨어 수준에서 스레드와 채널을 지원하는 XMOS XS1 아키텍처를 활용하였다. XS1‑G4 보드 64개의 코어(총 512 하드웨어 스레드)로 구성된 6‑차원 하이퍼큐브 토폴로지는 각 코어가 8개의 하드웨어 스레드를 동시에 실행할 수 있게 함으로써, 프로세스 생성·소멸을 메모리 접근과 동등한 비용으로 수행할 수 있는 기반을 제공한다.
핵심 메커니즘은 ‘클로저(C)’ 전송이다. 클로저는 (① 인자 집합 A, ② 프로시저 인덱스 집합 I, ③ 실제 프로시저 바디 Q) 로 정의되며, 이를 순차적으로 전송한다. 전송 단계는 (1) 헤더 전송, (2) 인자(배열·스칼라) 전송, (3) 프로시저 바디 전송으로 구성된다. 각 코어는 고정 크기 점프 테이블을 유지해 인덱스 기반 주소 매핑을 수행함으로써, 원격 코어에서도 동일한 인덱스로 프로시저를 호출할 수 있다. 전송 후 원격 코어는 스택·레지스터를 초기화하고 즉시 실행을 시작하며, 실행 종료 시 결과 데이터를 다시 게스트 코어로 반환한다.
성능 모델은 전송된 워드 수에 비례하는 상수 C_w(150 ns/워드)와 초기화·종료 오버헤드 C_i(측정값 18.4 µs)로 구성된다. 전체 실행 시간 T_c(n,m,o) = (C_i + C_w·n + C_w·m + C_w·o)·C_l 로 표현되며, 여기서 C_l은 홉당 지연을 1로 정규화한 상수이다.
실험에서는 재귀적 분산 알고리즘 ‘distribute’를 사용해 프로세스 생성 비용을 측정하였다. 이 알고리즘은 이진 트리 형태로 프로세스를 복제하면서 각 단계마다 절반의 코어에 새로운 복제본을 ‘on’ 구문으로 전파한다. 하이퍼큐브 특성상 각 복제는 항상 인접 노드에 생성되므로, 이론적으로는 O(log p) 단계만에 p개의 코어를 모두 활성화할 수 있다. 실제 측정 결과는 모델 예측과 거의 일치했으며, 초기 몇 단계는 온‑칩 통신 비용이 낮아 약 3.85 µs의 추가 지연만을 보였다.
이러한 결과는 (1) 프로세스 생성이 메모리 접근 수준의 비용으로 수행될 수 있음을, (2) 하드웨어 지원 채널·스레드가 동적 작업 할당을 효율적으로 구현할 수 있음을, (3) 재귀적 분산과 결합했을 때 대규모 코어 풀에 대한 빠른 스케일업이 가능함을 입증한다. 또한, 클로저 기반 전송 방식은 프로시저 바디와 데이터가 독립적인 형태로 전파되기 때문에, 언어 수준에서의 고수준 추상화(예: Chapel, X10)의 구현 비용을 크게 낮출 수 있다. 향후 연구에서는 자동화된 작업 스케줄러와 결합해 런타임에 작업 부하를 동적으로 측정·재분배하는 메커니즘을 추가하고, 더 큰 차원(수천 코어) 하이퍼큐브 혹은 비정형 네트워크 토폴로지에서도 동일한 효율성을 유지할 수 있는지 검증할 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기