• 제목/요약/키워드: Thread Block Scheduling

검색결과 4건 처리시간 0.019초

SimTBS: GPGPU 스레드블록 스케줄링 시뮬레이터 (SimTBS: Simulator For GPGPU Thread Block Scheduling)

  • 조경운;반효경
    • 한국인터넷방송통신학회논문지
    • /
    • 제20권4호
    • /
    • pp.87-92
    • /
    • 2020
  • GPGPU(General-Purpose GPU)는 수만 단위의 스레드들을 병렬적으로 수행하여 성능을 최대화시킬 수 있지만, 실질적으로는 스레드들을 그룹화하여 스레드블록(Thread Block) 단위로 작업을 정의하고 GPGPU 하드웨어 자원의 할당 단위로 활용한다. 이러한 역할을 담당하는 스레드블록 스케줄러는 GPGPU내에 하드웨어적으로 구현되어 있으며, 스레드블록들을 하드웨어 자원들에게 라운드로빈 방식으로 할당한다. 그런데, 라운드로빈 정책은 단순 순차 할당 방식으로서 GPGPU 하드웨어 자원의 활용도에 최적화되어 있지 않다. 본 논문에서는 다양한 스레드블록 스케줄링 방식의 성능을 정량적으로 분석할 수 있는 스레드블록 스케줄러 모델을 제안하고, 구현된 시뮬레이터의 성능 결과를 통해 기존 GPGPU의 스레드블록 스케줄링 방식이 작업 부하가 높은 경우에는 적합하지 않음을 보이고자 한다.

다중 워크로드 환경을 위한 GPGPU 스레드 블록 스케줄링 (Thread Block Scheduling for Multi-Workload Environments in GPGPU)

  • 박소연;조경운;반효경
    • 한국인터넷방송통신학회논문지
    • /
    • 제22권2호
    • /
    • pp.71-76
    • /
    • 2022
  • 대규모 병렬 워크로드를 GPGPU의 연산 유닛에 할당하기 위한 스케줄링으로 라운드 로빈 방식이 널리 사용되고 있다. 라운드 로빈은 작업을 각 연산 유닛에 순차적으로 할당하여 구현이 쉽다는 장점이 있으나, 클라우드와 같은 다중 워크로드 환경에서는 연산 유닛 간 부하 균형이 잘 이루어지지 않는 문제점이 발생한다. 본 논문에서는 이러한 문제를 해결하기 위해 새로운 스레드 블록 스케줄링을 제안한다. 제안하는 방식은 다양한 GPGPU 워크로드가 만들어낸 스레드 블록들을 그 작업량에 근거해 다중큐로 관리하고 각 연산 유닛의 잔여 자원을 가장 잘 활용할 수 있는 큐에서 스레드 블록을 선택하여 연산 유닛들의 자원 이용률을 극대화시키고 부하균형을 유도한다. 다양한 부하 환경에서의 시뮬레이션 실험을 통해 제안하는 방식이 라운드 로빈 대비 평균 24.8%의 성능개선 효과가 있음을 보인다.

GPGPU 자원 활용 개선을 위한 블록 지연시간 기반 워프 스케줄링 기법 (A Novel Cooperative Warp and Thread Block Scheduling Technique for Improving the GPGPU Resource Utilization)

  • ;최용;김종면;김철홍
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제6권5호
    • /
    • pp.219-230
    • /
    • 2017
  • 멀티스레딩 기법이 적용된 GPGPU는 내부 병렬 자원들을 기반으로 데이터를 고속으로 처리하고 메모리 접근시간을 감소시킬 수 있다. CUDA, OpenCL 등과 같은 프로그래밍 모델을 활용하면 스레드 레벨 처리를 통해 응용프로그램의 고속 병렬 수행이 가능하다. 하지만, GPGPU는 범용 목적의 응용프로그램을 수행함에 있어 내부 하드웨어 자원들을 효과적으로 사용하지 못한다는 단점을 보이고 있다. 이는 GPGPU에서 사용하는 기존의 워프/스레드 블록 스케줄러가 메모리 접근시간이 긴 명령어를 처리하는데 있어서 비효율적이기 때문이다. 이와 같은 문제점을 해결하기 위해 본 논문에서는 GPGPU 자원 활용률을 개선하기 위한 새로운 워프 스케줄링 기법을 제안하고자 한다. 제안하는 워프 스케줄링 기법은 스레드 블록의 워프들 중 긴 메모리 접근시간을 가진 워프와 짧은 메모리 접근시간을 가진 워프들을 구분한 후, 긴 메모리 접근시간을 가진 워프를 우선 할당하고, 짧은 메모리 접근시간을 가진 워프를 나중에 할당하여 처리한다. 또한, 메모리와 내부 연결망에서 높은 경합이 발생했을 때 동적으로 스트리밍 멀티프로세서의 수를 감소시켜 워프 스케줄러를 효과적으로 사용할 수 있는 기법도 제안한다. 실험결과에 따르면, 15개의 스트리밍 멀티프로세서를 가진 GPGPU 플랫폼에서 제안된 워프 스케줄링 기법은 기존의 라운드로빈 워프 스케줄링 기법과 비교하여 평균 7.5%의 성능(IPC)이 향상됨을 확인할 수 있다. 또한, 제안된 두 개의 기법을 동시에 적용하였을 경우에는 평균 8.9%의 성능(IPC) 향상을 보인다.

상세 자원 이용률에 기반한 병렬 가속기용 스레드 블록 스케줄링 (Thread Block Scheduling for GPGPU based on Fine-Grained Resource Utilization)

  • 반효경;조경운
    • 한국인터넷방송통신학회논문지
    • /
    • 제22권5호
    • /
    • pp.49-54
    • /
    • 2022
  • 최근 클라우드 시스템에서 병렬가속기를 사용하는 사례가 늘면서 가속기 내에서 멀티태스킹을 통해 자원 이용률을 높이는 것이 중요한 이슈로 부각되고 있다. 본 논문에서는 병렬가속기 내 자원 사용 패턴을 컴퓨팅 중심과 메모리 중심으로 분류하여 워크로드를 배치하는 방식이 자원 이용률 측면에서 충분한 효과를 나타내지 못함을 보이고, 워크로드별 상세 자원 이용률에 기반한 새로운 스레드 블록 스케줄링 기법을 제안한다. 제안한 기법은 기존 방식과 달리 프로파일링과 스케줄링을 분리하여 스케줄링시의 오버헤드를 줄이고 병목 자원이 일치하지 않는 워크로드들을 최대한 중복 배치하여 자원 이용률을 높인다. 다양한 가상머신 시나리오에 대한 시뮬레이션 실험을 통해 제안한 기법이 병렬가속기의 처리량을 평균 130.6%, 최대 161.4%까지 개선함을 보인다.