본문 바로가기
KERD
논문KCI 등재

GPU의 효율성 향상을 위한 작업부하 특성 기반 L1 데이터 캐쉬 비활성화 기법

Workload Characteristics-based L1 Data Cache Switching-off Mechanism for GPUs

1

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

Modern graphics processing units (GPUs) have become one of the most attractive platforms in exploiting high thread level parallelism with the support of new programming tools such as CUDA and OpenCL. Recent GPUs has applied cache hierarchy to support irregular memory access patterns; however, L1 data cache (L1D) exhibits poor efficiency in the GPU. This paper shows that the L1D does not always positively affect the applications in terms of performance and energy efficiency for the GPU. The performance of the GPU is even harmed by using the L1D for lots of applications. Our proposed technique exploits the characteristics of the currently-executed applications to predict the performance impact of the L1D on the GPU and then decides whether to continuously use the cache for the application or not. Our experimental results show that the proposed technique improves the GPU performance by 9.4% and saves up to 52.1% of the power consumption in the L1D.

Abstract

Modern graphics processing units (GPUs) have become one of the most attractive platforms in exploiting high thread level parallelism with the support of new programming tools such as CUDA and OpenCL. Recent GPUs has applied cache hierarchy to support irregular memory access patterns; however, L1 data cache (L1D) exhibits poor efficiency in the GPU. This paper shows that the L1D does not always positively affect the applications in terms of performance and energy efficiency for the GPU. The performance of the GPU is even harmed by using the L1D for lots of applications. Our proposed technique exploits the characteristics of the currently-executed applications to predict the performance impact of the L1D on the GPU and then decides whether to continuously use the cache for the application or not. Our experimental results show that the proposed technique improves the GPU performance by 9.4% and saves up to 52.1% of the power consumption in the L1D.

참고문헌 (28)

  1. W. Jia, "MRPB: Memory Request Prioritization for Massively Parallel Processors", IEEE International Symposium on High Performance Computer Architecture (HPCA), pp.272~283 (2014)
  2. Whitepaper: NVIDIA's Next Generation CUDA Compute and Graphics Architecture, "NVIDIA", Fermi, ~ (2009)
  3. Y. Torres., "Understanding the Impact of CUDA Tuning Techniques for Fermi", High Performance Computing and Simulation (HPCS), pp.631~639 (2011)
  4. A. Jog, "OWL: Cooperative Thread Array Aware Scheduling Techniques for Improving GPGPU Performance", International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp.395~406 (2013)
  5. S. Lee, "CAWA: Coordinated Warp Scheduling and Cache Prioritization for Critical Warp Acceleration of GPGPU Workloads", the International Symposium on Computer Architecture (ISCA), pp.515~527 (2015)
  6. M. Lee, "iPAWS: Instruction-Issue Pattern-based Adaptive Warp Scheduling for GPGPUs", the IEEE International Symposium on High Performance Computer Architecture (HPCA), pp.370~381 (2016)
  7. V. Narasiman, "Improving GPU Performance via Large Warps and Two-Level Warp Scheduling", the IEEE, 2014, 308~317
  8. M. Gebhart, "Energy-efficient Mechanisms for Managing Thread Context in Throughput Processors", the International Symposium on Computer Architecture (ISCA), pp.235~246 (2011)
  9. W. Fung, "Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow", the IEEE, 2007, 407~420
  10. M. Qureshi, "Adaptive Insertion Policies for High Performance Caching", the International Symposium on Computer Architecture (ISCA), pp.381~391 (2007)
  11. Cong Thuan Do, "A new cache replacement algorithm for last-level caches by exploiting tag-distance correlation of cache lines", Microprocessors and Microsystems, 39(4-5), pp.286~295 (2015), Elsevier BV[DOI]
  12. A. S. Leon, "The UltraSPARC T1 Processor: CMT Reliability", Custom Integrated Circuits Conference, pp.555~562 (2006)
  13. T. Rogers, "Cache-consciou s Wavefront Scheduling", the IEEE, 2012, 72~83
  14. NVIDIA, "NVIDA Tegra Multiprocessor Architecture" (2010)
  15. Y. Wu, "Compiler Managed Micro-cache Bypassing for High Performance EPIC Processors", the IEEE, 2002, 134~145
  16. T. L. Johnson, "Run-time Adaptive Cache Hierarchy Management via Reference Analysis", the International Symposium on Computer Architecture (ISCA), pp.315~326 (1997)
  17. M. Kharbutli, "Counter-Based Cache Replacement and Bypassing Algorithms", IEEE Transactions on Computers, 57(4), pp.433~447 (2008), Institute of Electrical and Electronics Engineers (IEEE)[DOI]
  18. A. Bakhola, "Analyzing CUDA Workloads Using a Detailed GPU Simulator", the International Symposium on Analysis of Systems and Software (ISPASS), pp.163~174 (2009)
  19. H. Liu, "Cache Bursts: A New Approach for Eliminating Dead Blocks and Increasing Cache Efficiency", the IEEE, 2008, 222~233
  20. D. Kirk, "Programming Massively Parallel Processors" (2010)
  21. C. Wu, "SHiP: Signature-based Hit Predictor for High Performance Caching", the IEEE, 2011, 430~441
  22. "CUDA SDK"[URL]
  23. X. Chen, "Adaptive Cache Management for Energy-Efficient GPU Computing", the IEEE, 2014, 343~355
  24. N. Duong, "Improving Cache Management Policies Using Dynamic Reuse Distances", the IEEE, 2012, 389~400
  25. X. Xie, "Coordinated Static and Dynamic Cache Bypassing for GPUs", the IEEE International Symposium on High Performance Computer Architecture (HPCA), pp.76~88 (2015)
  26. S. Che, "Rodinia: A Benchmark Suite for Heterogeneous Computing", the IEEE International Symposiumon Workload Characterization, (IISWC), pp.44~54 (2009)
  27. S. Hong, "An Integrated GPU Power and Performance Model", the International Symposium on Computer Architecture (ISCA), pp.280~289 (2010)
  28. J. Leng, "GPUWattch: Enabling Energy Optimizations in GPGPUs", the International Symposium on Computer Architecture (ISCA), pp.487~498 (2013)

관련 논문AI추천

이 간행물의 다른 논문 (23건)