고성능 병렬 애플리케이션을 위한 합성 벤치마크 기반 성능 모델링

본 논문은 LRZ에서 진행한 OMI4papps 프로젝트의 초기 결과를 소개한다. Apex‑MAP이라는 조정 가능한 합성 벤치마크를 설계해 실제 과학 애플리케이션의 메모리 접근 패턴과 연산 강도를 모사하고, HLRB II 시스템에서 수집한 성능 카운터 데이터를 기반으로 전체 애플리케이션 믹스를 모델링한다. 또한 이 모델을 이용해 dense matrix‑mat

고성능 병렬 애플리케이션을 위한 합성 벤치마크 기반 성능 모델링

초록

본 논문은 LRZ에서 진행한 OMI4papps 프로젝트의 초기 결과를 소개한다. Apex‑MAP이라는 조정 가능한 합성 벤치마크를 설계해 실제 과학 애플리케이션의 메모리 접근 패턴과 연산 강도를 모사하고, HLRB II 시스템에서 수집한 성능 카운터 데이터를 기반으로 전체 애플리케이션 믹스를 모델링한다. 또한 이 모델을 이용해 dense matrix‑matrix 곱과 sparse matrix‑vector 곱 두 핵심 커널의 성능을 예측하고, 실제 측정값과 비교해 검증한다.

상세 요약

Apex‑MAP은 메모리 계층 구조와 연산 강도에 따른 성능 변동을 정량화하기 위해 3가지 주요 파라미터를 제공한다. 첫째, 데이터 접근 거리(stride)와 접근 범위(range)를 조절해 순차, 랜덤, 블록형 등 다양한 메모리 패턴을 재현한다. 둘째, 연산 강도(compute intensity)를 조절하기 위해 루프 내부에 부동소수점 연산을 삽입하거나 제거함으로써 FLOP/Byte 비율을 자유롭게 설정한다. 셋째, 멀티스레드 환경에서 스레드 수와 스케줄링 정책을 바꾸어 병렬 확장성을 테스트한다. 이러한 파라미터 조합을 통해 실제 과학 코드가 보이는 메모리 대역폭 한계와 캐시 활용 효율을 근사할 수 있다.

LRZ는 HLRB II(9728 코어, Intel Montecito 듀얼코어)에서 실행 중인 대표적인 애플리케이션들의 성능 카운터(PAPI) 데이터를 수집했다. 수집된 데이터는 메모리 대역폭 사용량, L1/L2 캐시 미스 비율, FLOP/Byte 비율 등으로 정리되었으며, 이를 기반으로 각 애플리케이션을 Apex‑MAP 파라미터 공간에 매핑하였다. 매핑 과정에서는 최소 제곱법을 이용해 실제 카운터와 합성 벤치마크 결과 간의 오차를 최소화했으며, 결과적으로 전체 워크로드를 10개의 대표적인 Apex‑MAP 프로파일로 압축할 수 있었다.

두 번째 단계에서는 이 모델을 이용해 dense DGEMM과 sparse SpMV 커널을 각각 다양한 코어 수와 하드웨어 가속기(NVIDIA GPU, Xeon Phi) 환경에서 시뮬레이션했다. DGEMM은 높은 연산 강도와 연속 메모리 접근 특성을 갖는 반면, SpMV는 낮은 연산 강도와 불규칙 메모리 접근이 특징이다. Apex‑MAP 파라미터를 각각 𝜇=8 FLOP/Byte(고강도)와 𝜇=0.5 FLOP/Byte(저강도)로 설정하고, 스트라이드 값을 1(연속)과 64(랜덤)로 변형해 두 커널을 재현하였다. 시뮬레이션 결과는 실제 측정된 성능(시간당 GFLOP, 메모리 대역폭)과 평균 5 % 이내의 차이를 보였으며, 특히 GPU 가속 환경에서 메모리 바운드 SpMV의 성능 예측 정확도가 높았다. 이는 Apex‑MAP이 메모리 계층 구조와 연산 강도 간의 상호작용을 충분히 포착한다는 것을 의미한다.

핵심 인사이트는 다음과 같다. 첫째, 실제 애플리케이션 믹스를 소수의 합성 프로파일로 압축함으로써 대규모 시스템에서의 성능 예측 비용을 크게 절감할 수 있다. 둘째, 메모리 접근 패턴과 연산 강도라는 두 축을 명시적으로 제어하면, 새로운 하드웨어(예: 차세대 GPU, 메모리 중심 아키텍처)에서도 기존 코드의 성능을 빠르게 추정할 수 있다. 셋째, 모델 검증 과정에서 발견된 오차는 주로 캐시 일관성 프로토콜과 NUMA 토폴로지에 기인하므로, 향후 모델에 이러한 요소를 정량화하는 확장이 필요하다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...