이종 멀티코어 프로세서에서 분할된 공유 LLC가 성능에 미치는 영향 분석

Analysis on the Performance Impact of Partitioned LLC for Heterogeneous Multicore Processors

  • 문민구 (전남대학교 전자컴퓨터공학부) ;
  • 김철홍 (전남대학교 전자컴퓨터공학부)
  • 투고 : 2018.10.02
  • 심사 : 2019.01.24
  • 발행 : 2019.04.30

초록

컴퓨팅 성능을 향상시키기 위해 다양한 구조적 설계 기법들이 제안되고 있는데 그중에서도 CPU-GPU 융합형 이종 멀티코어 프로세서가 많은 관심을 받고 있다. CPU-GPU 융합형 이종 멀티코어 프로세서는 단일 칩에 CPU와 GPU를 집적하기 때문에 일반적으로 CPU와 GPU가 Last Level Cache(LLC)를 공유하게 된다. LLC 공유는 CPU와 GPU 코어 사이에 심각한 캐쉬 경합이 발생하는 경우 각각의 코어 활용도가 저하되는 문제를 가지고 있다. 본 논문에서는 CPU와 GPU 사이의 캐쉬 경합 문제를 해결하기 위해 단일 LLC를 CPU와 GPU 각각의 공간으로 분할하고, 분할된 공간의 크기 변화가 전체 시스템 성능에 미치는 영향을 분석하고자 한다. 모의실험 결과에 따르면, CPU는 사용하는 LLC 크기가 커질수록 성능이 최대 21%까지 향상되지만 GPU는 사용하는 LLC 크기가 커져도 큰 성능변화를 보이지 않는다. 즉, GPU는 LLC 크기가 감소하더라도 CPU에 비하여 성능이 적게 하락함을 알 수 있다. GPU에서의 LLC 크기 감소에 의한 성능하락이 CPU에서의 LLC 크기 증가에 따른 성능향상보다 훨씬 작기 때문에 실험결과를 기반으로 각각의 코어에 LLC를 분할하여 할당한다면 전체적인 이종 멀티코어 프로세서의 성능을 향상시킬 수 있을 것으로 기대된다. 또한, 이러한 분석을 통해 향후 각 코어의 성능을 최대한 높일 수 있는 메모리 관리기법을 개발한다면 이종 멀티코어 프로세서의 성능을 크게 향상시킬 수 있을 것이다.

Recently, CPU-GPU integrated heterogeneous multicore processors have been widely used for improving the performance of computing systems. Heterogeneous multicore processors integrate CPUs and GPUs on a single chip where CPUs and GPUs share the LLC(Last Level Cache). This causes a serious cache contention problem inside the processor, resulting in significant performance degradation. In this paper, we propose the partitioned LLC architecture to solve the cache contention problem in heterogeneous multicore processors. We analyze the performance impact varying the LLC size of CPUs and GPUs, respectively. According to our simulation results, the bigger the LLC size of the CPU, the CPU performance improves by up to 21%. However, the GPU shows negligible performance difference when the assigned LLC size increases. In other words, the GPU is less likely to lose the performance when the LLC size decreases. Because the performance degradation due to the LLC size reduction in GPU is much smaller than the performance improvement due to the increase of the LLC size of the CPU, the overall performance of heterogeneous multicore processors is expected to be improved by applying partitioned LLC to CPUs and GPUs. In addition, if we develop a memory management technique that can maximize the performance of each core in the future, we can greatly improve the performance of heterogeneous multicore processors.

키워드

참고문헌

  1. M. D. Hill and M. R. Marty, "Amdahl's law in the multicore era," IEEE Computer, Vol.41, No.7, pp.33-38, 2008.
  2. Buck, T. Foley, D. Horn, J. Sugerman, K. Fatahalian, M. Houston, and P. Hanrahan, "Brook for GPUs: stream computing on graphics hardware," In Proceedings of 31th Annual Conference on Computer Graphics, pp.777-786, 2004.
  3. D. O. Son, J. M. Kim, C. H. Kim. "An IPC-based Dynamic Cooperative Thread Array Scheduling Scheme for GPUs," Journal of The Korea Society of Computer and Information, Vol.21, No.2, pp.9-16, 2016. https://doi.org/10.9708/jksci.2016.21.2.009
  4. V. W. Lee, C. K. Kim, J. Chhugani, M. Deisher, D. H. Kim, A. D. Nguyen, N. Satish, M. Smelyanskiy, S. Chennupaty, P. Hammarlund, R. Singhal and P. Dubey, "Debunking the 100X GPU vs. CPU Myth: An Evaluation of Throughput Computing on CPU and GPU," International Symposium on Computer Architecture, pp. 451-460, 2010.
  5. General-purpose computation on graphics hardware, available at http://www.gpgpu.org
  6. NVIDIA CUDA Programming, available at http://www.nvidia.com/object/cuda_home_new.html
  7. OpenCL, available at http://www.khronos.org/opencl
  8. ATI Streaming, available at http://www.amd.com/stream
  9. 신영선, 이현조, 장재우, "암호화된 빅데이터 상에서 효율적인 질의 처리를 지원하는 Prefix 트리를 사용한 GPU 기반 병렬 질의처리 기법", 한국차세대컴퓨팅학회 논문지, Vol.10, No.2, pp19-30, 2014.4.
  10. 윤민, 한태윤, 이문규, 오희국, "GPU를 이용한 Salsa20 스트림 암호의 병렬화", 한국차세대컴퓨팅학회 논문지, Vol.5, No.1, pp.53-62, 2009.3.
  11. 지아 우딘, 김종면, "벨만-포드 알고리즘을 이용한 GPU 기반 소프트웨어 라우터 구현", 한국차세대컴퓨팅학회 논문지, Vol.9, No.6, pp15-23, 2013.12.
  12. P. Rogers, A.C. Fellow, "Heterogeneous system architecture overview," Proceeding of Hot Chips, Vol.25. 2013.
  13. J. Power, A. Basu, J. Gu, S. Puthoor, B.M. Beckmann, M.D. Hill, D.A. Wood, "Heterogeneous system coherence for integrated CPU-GPU systems," Proceeding of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 457-467. 2013.
  14. Intel, available at https://ark.intel.com/ko/
  15. AMD, available at https://www.amd.com/
  16. Nvidia, abilable at http://www.nvidia.co.kr/page/home.html
  17. Xin Wang, Wei Xhang, "Cache Locking vs. Partitioning for Real-Time Computing on Integrated CPU-GPU Processors," Proceeding of IEEE 35th International Performance Computing and Communications Conference (IPCCC), 2017.
  18. NVIDIA. Whitepaper: NVIDIA Kepler GK110.
  19. H. J. Choi, C. H. Kim, "Performance Evaluation of the GPU Architecture Executing Parallel Applications," Journal of the Korea Contents Association, Vol.12, No.5, pp.10-21, 2012. https://doi.org/10.5392/JKCA.2012.12.05.010
  20. H. J. Choi, J. M. Kim, C. H. Kim, "Analysis on the GPU Performance according to Hierarchical Memory Organization," Journal of the Korea Contents Association, Vol.14, No.3, pp.22-32, 2014. https://doi.org/10.5392/JKCA.2014.14.03.022
  21. AMD, AMD heterogeneous Uniform Memory Access (hUMA), 2013
  22. AMD Kaveri, available at http://arstechnica.com/information-technology/2013/04/amds-heterogeneousuniform-memory-access-coming-this-year-in-kaveri/
  23. Intel. Skylake 6th Generation Intel® CoreTM Processor Family Datasheet, Vol.1, 2018.
  24. Nvida, HOT CHIPS 2014 NVIDIA'S DENVER PROCESSOR, 2014.
  25. A. Bakhola, G. Yuan, W.W. Fung, H. Wong, T.M. Aamodt, "Analyzing cuda workloads using a detailed GPU simulator," The International Symposium on Analysis of Systems and Software (ISPASS), pp.163-174, 2009
  26. T. Austin, E., Larson, and D. Ernst, "Simple Scalar: An Infrastructure for Computer System Modeling," Computer, Vol.35, No.2, pp.59-67, 2002. https://doi.org/10.1109/2.982917
  27. S. Che, M. Boyer, J. Meng, D. Tarjan, J. Sheaffer, S.-H. Lee, K. Skadron, "Rodinia: a benchmark suite for heterogeneous computing," The International Symposium on Workload Characterization (IISWC), pp.44-54, 2009.
  28. NVIDA CUDA SDK, available at http://developer.nvidia.com/gpu-computingsdk
  29. SPEC Benchmark Suite. available at http://www.spec.org, September 2000