GPU 코어에 할당된 CTA 수에 따른 GPGPU 구조의성능 및 전력 효율성 분석
Analysis of Performance and Energy-efficiency for GPGPU Architecture according to Number of Cooperative Thread Arrays on GPU Cores
1
조회
0
다운로드
5
인용
0
참고문헌
키워드
초록
최근에는 컴퓨터 시스템의 성능을 향상시키기 위하여 많은 연구자들이 그래픽스 관련 작업을 위해 개발된 프로세서인 GPU를 활용하는 GPGPU에 관심을 가지고 있다. GPGPU 구조에서 성능을 향상시키기 위해서는 병렬성 증가를통하여 연산자원을 가능한 많이 활용해야 한다. 이를 위해서, GPGPU는 수천개의 스레드들을 포함한 스레드 블록,즉 CTA를 GPU 코어인 스트리밍 멀티프로세서에 할당한다. CTA를 스트리밍 멀티프로세서에 할당하는 CTA 스케쥴링 기법은 GPGPU 컴퓨팅 시스템의 성능에 상당한 영향을 준다. 이상적인 CTA 스케쥴링 기법은 수행되는 벤치마크 프로그램의 특성을 반영하여 CTA들을 적절하게 각 스트리밍 멀티프로세에 할당시킴으로써 GPGPU 성능을 향상시킬 것이다. 하지만, 현재의 CTA 스케쥴링 기법은 GPGPU의 병렬성과 자원활용률을 증가시키기 위하여 가능한많은 CTA를 스트리밍 멀티프로세서에 할당하고 있다. 그러므로 본 논문에서는 스트리밍 멀티프로세서에 할당되는CTA의 숫자에 따른 GPGPU 컴퓨팅 시스템의 성능을 평가해보고자 한다. GPGPU 컴퓨팅 시스템에서 소모되는 전력의 상당 부분을 GPGPU가 차지하고 있기 때문에 우수한 CTA 스케쥴링 기법 개발을 위해서는 GPGPU의 성능과더불어 전력 소모량 또한 고려해야 한다. 이와 같은 이유로 본 논문에서는 GPUWattch 시뮬레이터를 사용하여 소모전력 또한 정량적으로 분석한다. 실험결과는 스트리밍 멀티프로세에 가능한 많은 CTA를 할당하는 현재의 CTA 스케쥴링 기법이 항상 우수한 GPGPU의 성능을 보장하지 않는다는 것을 보여준다. 우리는 실험 결과를 활용하여 향후에응용프로그램의 특성을 고려한 고성능, 저전력의 CTA 스케쥴링 기법을 개발하고자 한다. 본 연구의 분석결과는GPGPU 구조에 효과적인 CTA 스케쥴링 기법을 개발하는 방향 설정에 필요한 정보로 활용될 것으로 기대된다.
Abstract
Recently, many research groups have focus on GPGPU by exploiting GPU, which is developed toexecute graphics-related operations, has been focused in order to improve performance of computing systems. GPGPU architecture fully utilizes computational resources by increasing parallelism toimprove performance. To achieve this, in GPGPU, the thousands of threads are grouped into threadblocks, called CTA (Cooperative Thread Arrarys) and the CTA is assigned to one GPU core, calledSM (Streaming Multiprocessors). The CTA scheduling scheme to assign CTAs to SMs has influenceon overall GPGPU performance, significantly. Ideal CTA scheduling scheme, which consider thecharacteristics of benchmarks, can assign CTAs to each SM properly, leading to performanceimprovement. However, current CTA scheduling scheme assigns the maximum number of CTAs toeach SM, so as to improve parallelism and resource utilization. Therefore, this paper analyzes theGPGPU performance according to various number of CTAs assigned to SMs. Since GPGPU accountsfor a considerable portion of total power consumption on computing system, power efficiency as wellas performance should be considered to enhance the competitiveness of computing systems whendesigning CTA scheduling scheme. For this reason, this paper also analyzes the power consumptionon GPGPU by using GPUWattch simulator. Simulation results show that current CTA schedulingscheme, which assigns the maximum number of CTAs to each SM, does not guarantee betterperformance. At future work, we will investigate high performance and low power CTA schedulingscheme considering the characteristics of workload. This results can provide the guideline to researchthe efficient CTA scheduling scheme for GPGPU.
참고문헌 (24)
- D. Luebke, "How GPUs work", Journal of Computer, 40(2), pp.96~100 (2007)
- "General-purpose computation on graphics hardware"[URL]
- 신영성, "암호화된 빅데이터 상에서 효율적인 질의 처리를 지원하는 Prefix 트리를 사용한 GPU 기반 병렬 질의처리 기법", 한국차세대컴퓨팅학회 논문지, 10(2), pp.19~30 (2014), 한국차세대컴퓨팅학회
- 이인, "디테일을 유지하는 대규모 지형의 GPU 기반 가시화 및 편집", 한국차세대컴퓨팅학회 논문지, 8(4), pp.35~46 (2012), 한국차세대컴퓨팅학회
- 최홍준, "워프 스케쥴링 기법에 따른 GPU 성능 분석", 한국차세대컴퓨팅학회 논문지, 9(2), pp.54~66 (2013), 한국차세대컴퓨팅학회
- "NVIDIA CUDA Programming"[URL]
- "OpenCL"[URL]
- "ATI Streaming"[URL]
- I. A. Buck, "Programming CUDA", Supercomputing 2007 Tutorial Notes (2007)
- A. Jog, "OWL: Cooperative Thread Array Aware Scheduling Techniques for Improving GPGPU Performance", Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp.395~406 (2013)
- V. Narasiman, "Improving GPU Performance via Large Warps and Two-Level Warp Scheduling", Proceedings of the International Symposium on Microarchitecture (MICRO), pp.308~317 (2011)
- T. G. Rogers, "Cache-Conscious Wavefront Scheduling", Proceedings of the International Symposium on Microarchitecture (MICRO), pp.78~85 (2012)
- M. Lee, "Improving GPGPU Resource Utilization Through Alternative Thread Block Scheduling", Proceedings of the International Symposium on High Performance Computer Architecture (HPCA), pp.260~271 (2014)
- "NVIDIA Corporation"[URL]
- I. Buck, "Brook for GPUs : stream computing on graphics hardware", Proceedings of Conference on Computer Graphics and Interactive Techniques (SIGGRAPH), pp.777~786 (2004)
- J. E. Thornton, "Parallel operation in the control data 6600", AFIPS Proceedings of FJCC, Part.2, 26, pp.33~40 (1964)
- H. J. Choi, "Concurrent warp execution: improving performance of GPU-likely SIMD architecture by increasing resource utilization", Journal of SuperComputing, 69(1), pp.330~356 (2014)
- K. M. Abdalla, "Scheduling and Execution of Compute Tasks", US Patent US20130185725, ~ (2013)
- A. Bakhoda, "Analyzing CUDA Workloads Using a Detailed GPU Simulator", Proceedings of 9th International Symposium on Performance Analysis of Systems and Software, pp.163~174 (2009)
- S. Li, "McPAT : an integrated power, area, and timing modeling framework for multicore and manycore architectures", Proceedings of the International Symposium on Microarchitecture, pp.469~480 (2009)
- J. Leng, "GPUWattch : Enabling Energy Optimizations in GPGPUs", Proceedings of the International Symposium Computer Architecture, pp.487~498 (2013)
- "CUDA SDK"[URL]
- S. Che, "Rodinia:A Benchmark Suite for Heterogeneous Computing", Proceedings of the International Symposium on Workload Characterization (IISWC), pp.44~54 (2009)
