DOI QR코드

DOI QR Code

하드웨어 캐시 파티셔닝과 소프트웨어 캐시 파티셔닝의 성능 비교

Performance Comparison between Hardware & Software Cache Partitioning Techniques

  • 박지웅 (서울대학교 컴퓨터공학부) ;
  • 염헌영 (서울대학교 컴퓨터공학부) ;
  • 엄현상 (서울대학교 컴퓨터공학부)
  • 투고 : 2014.08.29
  • 심사 : 2014.10.30
  • 발행 : 2015.02.15

초록

오늘날에는 코어당 클락 속도 발전이 한계에 부딪히게 되면서 멀티 코어 프로세서의 시대가 도래하였다. 최근에는 서버나 데스크톱 환경뿐만 아니라 모바일 환경까지 널리 보급되고 있다. 이러한 구조에서는 프로세스간 성능 간섭 현상이 발생하게 되는데, 이를 방지하기 위해서 사용되는 캐시 파티셔닝 기법은 소프트웨어적인 방법과 하드웨어적인 방법 크게 두 가지로 나누어진다. 하지만 동적 캐시 파티셔닝시에 소프트웨어 캐시 파티셔닝 기법은 페이지 복사 오버헤드로 인해서 성능 향상을 기대하기 힘든데, 이에 반해서 하드웨어 캐시 파티셔닝은 이러한 페이지 복사에서 자유롭다는 장점이 있다. 이 논문에서는 상용 프로세서 중에서 하드웨어적으로 캐시 파티셔닝 기능을 제공하는 AMD Opteron 프로세서에서 소프트웨어적 캐시 파티셔닝 기법인 페이지 컬러링과 하드웨어 캐시 파티셔닝의 성능을 정적 캐시 파티셔닝 환경에서 비교해봄으로써, 하드웨어 캐시 파티셔닝의 동적 캐시 파티셔닝 활용 가능성 여부를 알아본다.

The era of multi-core processors has begun since the limit of the clock speed has been reached. These days, multi-core technology is used not only in desktops, servers, and table PCs, but also in smartphones. In this architecture, there is always interference between processes, because of the sharing of system resources. To address this problem, cache partitioning is used, which can be roughly divided into two types: software and hardware cache partitioning. When it comes to dynamic cache partitioning, hardware cache partitioning is superior to software cache partitioning, because it needs no page copy. In this paper, we compare the effectiveness of hardware and software cache partitioning on the AMD Opteron 6282 SE, which is the only commodity processor providing hardware cache partitioning, to see whether this technique can be effectively deployed in dynamic environments.

키워드

참고문헌

  1. Zhang, Xiao, Sandhya Dwarkadas, and Kai Shen, "Towards practical page coloring-based multicore cache management," Proc. of the 4th ACM European conference on Computer systems, pp. 89-102, 2009.
  2. Advanced Micro Devices, BIOS and Kernel Developer's Guide (BKDG) for AMD Family 15h Models 00h-0Fh Processors. 2012.
  3. Lin, Jiang, et al., "Gaining insights into multicore cache partitioning: Bridging the gap between simulation and real systems," High Performance Computer Architecture 2008 (HPCA 2008), pp. 367-378, 2008.
  4. Cho, Sangyeun, and Lei Jin, "Managing distributed, shared L2 caches through OS-level page allocation," Proc. of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 455-468, 2006.
  5. Tam, David, et al., "Managing shared L2 caches on multicore systems in software," Workshop on the Interaction between Operating Systems and Computer Architecture, pp. 26-33, 2007.
  6. Soares, Livio, David Tam, and Michael Stumm, "Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer," Proc. of the 41st annual IEEE/ACM International Symposium on Microarchitecture, pp. 258-269, 2008.
  7. Huang, Tao, et al., "Combining Process-Based Cache Partitioning and Pollute Region Isolation to Improve Shared Last Level Cache Utilization on Multicore Systems," Trust, Security and Privacy in Computing and Communications (TrustCom 2013), pp. 1153-1160, 2013.
  8. Qureshi, Moinuddin K., and Yale N. Patt, "Utilitybased cache partitioning: A low-overhead, high-performance, runtime mechanism to partition shared caches," Proc. of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 423-432, 2006.
  9. Rafique, Nauman, Won-Taek Lim, and Mithuna Thottethodi, "Architectural support for operating system-driven CMP cache management," Proc. of the 15th international conference on Parallel architectures and compilation techniques, pp. 2-12, 2006.
  10. Cook, Henry, et al., "A hardware evaluation of cache partitioning to improve utilization and energyefficiency while preserving responsiveness," Proc. of the 40th Annual International Symposium on Computer Architecture, pp. 308-319, 2013.