AMT 런타임 성능‑생산성 트레이드오프: Itoyori·ItoyoriFBC·HPX·MPI 비교
초록
Task Bench를 이용해 MPI, HPX, 그리고 새롭게 통합된 Itoyori와 ItoyoriFBC 네 시스템을 평가하였다. 효율성, 최소 유효 작업 입자(METG), 코드 라인 수(LOC), 라이브러리 호출 수(NLC) 등을 측정한 결과, MPI는 규칙적인 작업에 최고 효율을 보이지만 코드가 장황하고 생산성이 낮다. HPX는 부하 불균형에 강하지만 생산성 지표가 가장 낮다. Itoyori는 통신‑집약적 패턴에서 가장 높은 효율을 달성하고, 생산성 지표에서도 우수하다. ItoyoriFBC는 약간 낮은 효율을 보이지만, 미래 기반 동기화로 불규칙 작업 표현에 유리하다.
상세 분석
본 연구는 Task Bench 프레임워크를 활용해 네 가지 런타임의 성능‑생산성 트레이드오프를 정량적으로 분석하였다. 성능 평가는 애플리케이션 효율성과 METG(최소 유효 작업 입자) 두 지표로 수행했으며, 생산성 평가는 LOC와 NLC 두 메트릭으로 측정하였다. MPI 구현은 전통적인 BSP 모델을 사용해 정적 파티셔닝과 비동기 통신(MPI_Isend/MPI_Irecv)으로 낮은 오버헤드를 유지하지만, 부하 불균형 상황에서는 효율이 급격히 감소한다. HPX는 C++ 표준 기반 AMT로, 내부 스레드 풀과 동적 작업 스케줄링을 제공한다. 태스크 그래프 폭이 넓어질수록 태스크 스티어링 오버헤드가 증가해 METG가 크게 늘었으며, 특히 MPI 태그 제한으로 인해 32코어 이하에서만 실험이 가능했다. Itoyori는 PGAS 메모리 모델과 RDMA 기반 랜덤 워크 스틸링(RDWS)을 결합해, 통신‑집약적 스프레드 및 all‑to‑all 패턴에서 90% 이상 효율을 달성했다. 그러나 RDWS의 스티어링 지연(≈3 µs)이 미세 작업에서 효율 저하를 일으켜, 충분한 병렬성을 확보해야 METG가 2¹⁴ 정도로 낮아진다. ItoyoriFBC는 NFJ 대신 미래(Future) 기반 협조(FBC) 모델을 도입했으며, 작업 간 의존성을 DAG 형태로 명시적으로 표현한다. 이로써 불규칙한 의존성 구조를 자연스럽게 다룰 수 있지만, 현재 구현에서는 동일한 배리어를 유지해 MPI와 동일한 스케줄링 제약을 받는다. 결과적으로 효율은 Itoyori보다 약간 낮지만, 미래 기반 동기화가 제공하는 잠재적 겹침(overlap) 가능성은 향후 성능 향상의 여지를 남긴다. 생산성 측면에서 LOC와 NLC를 비교하면, MPI는 137 LOC와 11 NLC로 가장 코드가 길고 API 호출이 적지만, HPX는 224 LOC와 23 NLC로 가장 복잡하다. Itoyori는 77 LOC와 14 NLC, ItoyoriFBC는 115 LOC와 11 NLC를 기록해, 특히 데이터 이동을 추상화한 체크아웃/체크인 API가 코드량을 절반 수준으로 감소시켰다. 종합적으로, AMT가 반드시 MPI보다 생산성을 높이는 것은 아니며, 각 런타임은 워크로드 특성(규칙성, 통신량, 부하 불균형)에 따라 선택되어야 함을 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기