[논문 리뷰] Compiler Enhanced Scheduling for OpenMP for Heterogeneous Multiprocessors
이 논문은 big.LITTLE 이종 복합 프로세서에서 OpenMP를 위한 하드웨어 인식 컴파일러 강화 스케줄링(CES) 프레임워크를 제안한다. 컴파일러 변환과 스케줄링 지시어를 활용하여 워크로드 특성에 기반한 스레드 배치를 최적화한다. NPB 및 FSU 벤치마크 전반에서 평균적으로 런타임을 18% 감소시키고 에너지 소비를 14% 감소시켜 런타임 전용 스케줄링을 능가한다. 이는 정적 분석과 워크스틸링 히우리스틱을 활용한 것이다.
Scheduling in Asymmetric Multicore Processors (AMP), a special case of Heterogeneous Multiprocessors, is a widely studied topic. The scheduling techniques which are mostly runtime do not usually consider parallel programming pattern used in parallel programming frameworks like OpenMP. On the other hand, current compilers for these parallel programming platforms are hardware oblivious which prevent any compile-time optimization for platforms like big.LITTLE and has to completely rely on runtime optimization. In this paper, we propose a hardware-aware Compiler Enhanced Scheduling (CES) where the common compiler transformations are coupled with compiler added scheduling commands to take advantage of the hardware asymmetry and improve the runtime efficiency. We implement a compiler for OpenMP and demonstrate its efficiency in Samsung Exynos with big.LITTLE architecture. On an average, we see 18% reduction in runtime and 14% reduction in energy consumption in standard NPB and FSU benchmarks with CES across multiple frequencies and core configurations in big.LITTLE.
연구 동기 및 목표
- big.LITTLE와 같은 이종 복합 프로세서에서 하드웨어 무관 컴파일러의 다중 스레드 OpenMP 프로그램 스케줄링 비효율성을 해결하기 위해.
- 컴파일 시점에 정적 프로그램 분석과 하드웨어 인식 스케줄링 결정을 통합하여 런타임과 에너지 효율을 향상시키기 위해.
- 워크로드 패턴과 코어 특성에 기반한 컴파일러가 스레드 배치를 이끌 수 있도록 동적 런타임 스케줄링 의존도를 줄이기 위해.
- 실제 big.LITTLE 하드웨어에서 코어 수, 주파수, 스레드 워크로드 변화에 따라 컴파일러 지향 스케줄링의 효과를 평가하기 위해.
제안 방법
- 컴파일러는 계산 및 메모리 액세스 패턴에 기반해 OpenMP 워크셰어링 구조(예: parallel for, sections)를 분류하기 위해 정적 분석을 수행한다.
- 불규칙하거나 로드 불균형이 심한 루프의 경우 워크스틸링을 통한 동적 로드 밸런싱을 위한 워크리스트 생성과 같은 프로그램 변환을 적용한다.
- 컴파일러는 런타임 스케줄러가 예측된 성능 및 에너지 영향에 기반해 특정 스레드를 big 또는 LITTLE 코어에 할당하도록 지시하는 스케줄링 지시어를 삽입한다.
- 정적, 동적, 가이드드 스케줄링 정책을 지원하며, 각 정책에 맞게 변환을 최적화하여 오버헤드를 최소화하고 로드 밸런싱을 향상시킨다.
- 컴파일 시점에 스레드 배치를 재최적화함으로써 다양한 하드웨어 구성(예: 2+2, 4+2, 4+4 코어)과 주파수(1.3GHz, 1.9GHz)에 적응한다.
- Samsung Exynos의 big.LITTLE 아키텍처를 사용하여 NPB 및 FSU-OpenMP 벤치마크를 대상으로 프로토타입 컴파일러를 구현하고 평가했다.
실험 결과
연구 질문
- RQ1순수 런타임 스케줄링 대비 컴파일러 인식 스케줄링 프레임워크가 big.LITTLE 아키텍처에서 런타임과 에너지 효율을 향상시킬 수 있는가?
- RQ2OpenMP 구조의 정적 분석이 동적 히우리스틱만으로는 불가능한 더 나은 스레드 배치 결정을 어떻게 가능하게 하는가?
- RQ3변환된 루프에서의 워크스틸링이 다양한 코어 구성에서 성능과 확장성에 얼마나 기여하는가?
- RQ4다양한 코어 주파수와 비율은 컴파일러 강화 스케줄링의 성능 및 에너지 확보에 어떤 영향을 미치는가?
주요 결과
- big.LITTLE 시스템에서 NPB 및 FSU 벤치마크 전반에서 CES 프레임워크는 평균적으로 실행 시간을 18% 감소시키고 에너지 소비를 14% 감소시켰다.
- 워크스틸링이 적용된 EP 벤치마크에서는 런타임 성능이 20% 향상되고 에너지 효율이 8% 향상되어 워크로드 크기에 따라 확장성이 입증되었다.
- 낮은 LITTLE 코어 주파수(1GHz)에서 IS 벤치마크의 경우 에너지 절감률이 특히 높아(28%) 비대칭 주파수 스케일링 하에서 더 나은 로드 밸런싱이 이루어졌음을 시사한다.
- 2+2, 4+2, 4+4 코어 비율과 같은 다양한 코어 비율에서도 일관된 성능 향상이 유지되어 하드웨어 구성 변화에 대한 적응성을 입증했다.
- 섹션 소속을 강제 적용한 다중 작업 벤치마크에서는 에너지 절감 효과가 뚜렷했으며(최대 28%), 스케줄링 변동성을 줄이고 예측 가능성을 향상시켰다.
- 정적 분석과 타겟팅된 컴파일러 변환을 통해 런타임 변동성을 줄이고 에너지 효율을 향상시켜 HMP 스케줄링을 능가하는 성능을 보였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.