DOI QR코드

DOI QR Code

The Need of Cache Partitioning on Shared Cache of Integrated Graphics Processor between CPU and GPU

내장형 GPU 환경에서 CPU-GPU 간의 공유 캐시에서의 캐시 분할 방식의 필요성

  • 성한울 (서울대학교 컴퓨터공학부) ;
  • 엄현상 (서울대학교 컴퓨터공학부) ;
  • 염헌영 (서울대학교 컴퓨터공학부)
  • Received : 2013.12.31
  • Accepted : 2014.06.30
  • Published : 2014.09.15

Abstract

Recently, Distributed computing processing begins using both CPU(Central processing unit) and GPU(Graphic processing unit) to improve the performance to overcome darksilicon problem which cannot use all of the transistors because of the electric power limitation. There is an integrated graphics processor that CPU and GPU share memory and Last level cache(LLC). But, There is no LLC access rules between CPU and GPU, so if GPU and CPU processes run together at the same time, performance of both processes gets worse because of the contention on the LLC. This Paper gives evidence to prove the need of the Cache Partitioning and is mentioned about the cache partitioning design using page coloring to allocate the L3 Cache space only for the GPU process to guarantee GPU process performance.

최근 전력의 한계 때문에 많은 트랜지스터를 모두 이용할 수 없는 '다크실리콘' 문제가 발생했다. 이 문제를 효율적으로 해결하기 위하여 CPU(Central processing unit)와 GPU(Graphic processing unit)를 함께 사용하여 분산처리하기 시작했다. 최근에는 CPU(Central processing unit)와 GPU(Graphic processing unit)가 메모리와 Last Level Cache를 공유하는 내장형 GPU 프로세서(Integrated graphic processing unit processor)가 등장했다. 하지만 CPU 프로세스와 GPU 프로세스가 LLC(Last level cache)로 접근하기 위한 어떠한 규칙이 없기 때문에, 동시에 CPU 프로세스와 GPU 프로세스 수행될 때 LLC(Last level cache)를 차지하기 위한 경쟁이 일어나 성능 저하가 발생한다. 본 논문에서는 캐시 접근 빈도가 큰 여러 개의 프로세스들이 수행됨에 따라 캐시 오염이 발생한 상황에서 GPU 프로세스의 성능 보장을 위하여 GPU 프로세스만을 위한 고정된 Last Level Cache 공간을 주는 캐시 분할방식이 필요함을 증명하고 캐시를 분할하기 위한 페이지 컬러링 기법을 소개하고 디자인한다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. Hadi Esmaeilzadeh et al., "Dark Silicon and the End of Multicore Scaling," ISCA'11.
  2. Jaekyu Lee et al., "TAP: A TLP-Aware Cache-Management Policy for a CPU-GPU Heterogeneous Architecture," HPCA'12.
  3. Vineeth mekkat et al., "Managing Shared Last-Level cache in a Heterogeneous Multicore Processor," PACT'13.
  4. S.Kim et al., "MLP-aware dynamic cache partitioning," HiPEAC'08.
  5. Sergey Zhuravlev et al., "Resource Contention in Multi-core Processors via Scheduling," ASPLOS'10.
  6. A.Jaleel et al., "Adaptive insertion policies for managing shared caches," PACT13.
  7. M. K. Qureshi et al., "Adaptive insertion policies for high performance caching," MICRO-37, pp. 81-92.
  8. Xiao Zhang et al., "Towards Practical Page Coloring based Multi-core Cache Management," EuroSys'09.
  9. Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 3B: System Programming Guide, Part2.
  10. Jiang Lin et al., "Gaining Insights into Multicore Cache Partitioning: Bridging the Gap between Simulation and Real Systems," HPCA'08.