본문 바로가기
논문

GPU를 위한 프로파일링 기반 페이스 예측 및 적응형 워프 스케줄러

by Lizardee 2023. 9. 3.
Abstract

To improve the GPGPU performance, many researchers proposed warp scheduling policies. 

  • Problem: However, various warp scheduling policies show differenct performance on differenct kernels, since each kernels shows differenct characteristics. 
  • Solution: To address this problem, this paper proposes adaptive warp scheduling policy based on profiling information.

 


1. 서론

GPGPU 워크로드의 성능을 향상시키기 위하여 워프 스케줄링 기법에 대한 연구가 많이 진행되었고, 많은 성능 향상을 이끌어내었다.
 
대부분의 GPGPU 워크로드는 같은 코드로 구성된 커널들이 반복 실행된다. 같은 코드로 구성된 커널들은 각각 다른 데이터로 실행이 되지만, 거의 비슷한 특성을 나타낸다.

  • Problem: 각 커널의 특성에 따라 서로 다른 워프 스케줄링 기법들은 성능 차이를 보이지만, GPU의 워프 스케줄링 기법은 한 가지로 고정되어 있기 때문에, GPU의 최대 성능을 모두 활용하지 못하는 경우가 발생한다.
  • Solution: GPGPU 워크로드를 구성하는 커널의 특성을 프로파일링을 통해 분석하고, 커널의 특성에 따른 최적의 워프 스케줄링 기법을 예측하여 실행하는 적응형 워프 스케줄러 기법을 제안한다.

 
 

2. 본론
2.1 GPU의 구조 및 워프 스케줄링 기술

▶ GPU

  • SIMT(Single Instruction Multiple Threads) 구조
    : GPU는 멀티 쓰레딩과 벡터 프로세싱이 혼합된 형태인 SIMT 구조를 바탕으로, 각 스레드에 할당된 서로 다른 데이터를 이용하여 연산을 처리한다. 이를 통해 많은 쓰레드(thread)가 GPU에서 병렬로 동작할 수 있다.
  • 워프(warp)
    : GPU는 효율적인 쓰레드 관리를 위해, 쓰레드를 그룹화하여 관리한다. NVIDIA의 경우 32개의 쓰레드가 모여 워프(warp)라는 그룹을 형성하고, 워프 단위로 익스트렉션을 GPU 프로세서에 스케줄링한다. GPU는 파이프라인 지연(pipleline stall)을 최소화하기 위해, 수십개의 워프가 스케줄링 기술에 따라 교차적(interleave)으로 스케줄링된다.

 
▶ 워프 스케줄링 기술

  • LLR: LLR 워프 스케줄링 기술의 경우, 모든 워프가 동일한 우선순위(priority)를 가진다. 워프 스케줄러는 모든 워프를 순서대로 한 번씩 스케줄링한다.
  • GTO: GTO 워프 스케줄링 기술의 경우, 각 워프가 서로 다른 우선순위(priority)를 가진다. 스케줄러는 가장 높은 우선권을 가진 하나의 워프가 처리 가능한 익스트럭션이 존재하지 않을 때까지 지속적으로 스케줄링한다. 가장 높은 우선권을 가진 워프가 지연(stall)되면, 다음 우선권을 가진 워프를 스케줄링한다.
  • TLV: TLV 워프 스케줄링 기술은 워프를 여러 그룹으로 나누고, 각 그룹간의 우선순위(priority)을 달리한다. 스케줄러는 가장 높은 우선권을 가진 그룹의 모든 워프가 가장 먼저 스케줄링한다. 그 해당 그룹의 모든 워프가 지연되면, 스케줄러는 다음 워프 그룹의 워프가 스케줄링한다.

 

2.2 GPU 워크로드의 커널 단위 특성 분석
  • GPU 어플리케이션(application)은 여러 개의 커널(kernel)로 구성되어 있으며, 각 커널은 서로 다른 특징을 가진다. 이러한 이유로, 워프 스케줄링 기술에 따라 각 커널의 성능 차이가 발생할 수 있다.

GPU 어플리케이션은 같은 코드의 커널들이 반복해서 수행되는 경우가 많다. 같은 코드의 커널들은 서로 다른 데이터를 가지고 수행하지만, 실행되는 인스트럭션이 같기 때문에 특성은 대부분 비슷하다.
 
그러나 GPU 어플리케이션에서 각 커널의 특성에 따라 워프 스케줄링 기법에 따른 성능 차이가 발생한다.
따라서 본 연구에서는 커널별 특성을 파악하여 최적의 스케줄링 기술을 제안하도록 변경하는 적응형 워프 스케줄링 기술을 제안한다.
 

2.3 적응형 워프 스케줄링 기술

: 각 커널의 특성을 파악하여 가장 적합한 워프 스케줄링 기술을 적용하는 기법

각 커널은 일정 사이클까지 실행된 후, 위의 정보들을 프로파일링하여 최적의 워프 스케줄링 기법을 결정한다.

  • 최적의 워프 스케줄링 기법이 지금의 스케줄링 기법과 다르면 처음부터 다시 수행한다.
  • 이미 수행되었던 커널과 같은 코드를 가진 커널이 실앻되는 경우, 앞서 찾은 최적의 워프 스케줄링 기법을 이용하여 실행한다.
  • 프로파일링할 사이클보다 빨리 끝나는 커널의 경우, 반복 수행될 경우, 모든 스케줄링 기법을 실행해본 후, 가장 좋은 스케줄링 기법을 이용하여 실행한다.

 

2.4 프로파일링 시점 분석

적응형 워프 스케줄링 기법은 일정 사이클까지 실행된 후 정보를 프로파일링하여 최적의 워프 스케줄링 기법을 결정한다.
이 때, 너무 많이 실행하고 프로파일링 하게 되면, 스케줄링 기법이 변경될 경우에 너무 많은 패널티를 가지게 된다. 반대로, 너무 적게 실행하고 프로파일링 하게 되면, 최적의 스케줄링 기법을 정확하게 예측하기 어렵다.
 

--> 프로파일링 시점이 5만 사이클인 경우, 1만 사이클일 때와 비교하여 더 정확한 최적의 스케줄링 기법을 예측할 수 있었다. 따라서 본 논문에서는 프로파일링 시점을 5만 사이클로 결정하였다.
 
 

3. 성능 평가

적절한 스케줄링 기법을 각 커널에 맞춰 적용할 경우, 높은 성능 향상을 이끌어 내었다.
 
 

4. 결론

GPU에서 워프 스케줄링 기법은 전체 성능에 큰 영향을 미치고, 각 커널의 특성에 따라 최적의 워프 스케줄링 기법이 다르다. 따라서 각 커널의 특성에 따른 최적의 스케줄링 기법을 찾아서 적용하는 것이 필요하다.
 
본 논문에서는 프로파일링 기법을 이용하여 각 커널의 특성을 분석하고 최적의 스케줄링 기법을 예측하였다. 
또한, 프로파일링 기법에 따른 트레이드오프를 고려하여 최적의 시점을 결정하였다.
 
결과적으로 본 논문에서 제안하는 적응형 워프 스케줄링 기법은 LRR 스케줄링 기법에 비교하여 8.7%의 성능향상을 보인다.
 
 
 
 
https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE07105711 

GPU를 위한 프로파일링 기반 페이스 예측 및 적응형 워프 스케줄러 | DBpia

박종현, 윤명국, 김민수, 노원우 | 대한전자공학회 학술대회 | 2015.11

www.dbpia.co.kr