An On-chip Cache and Main Memory Compression System Optimized by Considering the Compression rate Distribution of Compressed Blocks

압축블록의 압축률 분포를 고려해 설계한 내장캐시 및 주 메모리 압축시스템

  • Published : 2004.02.01

Abstract

Recently, an on-chip compressed cache system was presented to alleviate the processor-memory Performance gap by reducing on-chip cache miss rate and expanding memory bandwidth. This research Presents an extended on-chip compressed cache system which also significantly expands main memory capacity. Several techniques are attempted to expand main memory capacity, on-chip cache capacity, and memory bandwidth as well as reduce decompression time and metadata size. To evaluate the performance of our proposed system over existing systems, we use execution-driven simulation method by modifying a superscalar microprocessor simulator. Our experimental methodology has higher accuracy than previous trace-driven simulation method. The simulation results show that our proposed system reduces execution time by 4-23% compared with conventional memory system without considering the benefits obtained from main memory expansion. The expansion rates of data and code areas of main memory are 57-120% and 27-36%, respectively.

최근에 프로세서-메모리간 성능격차 문제를 완화하기 위하여 내장캐시의 접근실패율을 낮추고 메모리 대역폭을 확장하는 내장캐시 압축시스템이 제안되었다. 내장캐시 압축시스템은 데이타를 압축해 저장함으로써 내장캐시의 실질적 저장공간을 확장하고, 메모리 버스에서 데이타를 압축해 전송함으로써 실질적 메모리 대역폭을 확장한다. 본 논문에서는 이와 같은 내장캐시 압축시스템을 확장해 기존의 주 메모리 압축시스템과 병합해 설계한 이종 메모리 압축시스템을 제안한다. 주 메모리의 기억공간을 효율적으로 확장하고, 내장캐시의 접근실패율을 낮추고, 메모리 대역폭을 확장하고, 압축캐시의 복원시간을 줄이고, 설계 복잡도를 낮추기 위하여 몇 가지 새로운 기법들을 제시한다. 제안하는 시스템과 비교대상 시스템의 성능은 슈퍼스칼라 구조의 마이크로프로세서 시뮬레이터를 수정하여 실행기반 시뮬레이션을 통해 검증한다. 본 논문에서 사용한 실험방법은 기존의 트레이스기반 시뮬레이션과 비교해 보다 높은 정확도를 갖는다. 실험결과 주 메모리 확장에 따른 이득을 고려하지 않은 경우에 제안하는 시스템은 일반 메모리시스템에 비하여 수행시간을 내장캐시의 크기에 따라 최대 4-23%가량 단축한다. 제안하는 시스템의 데이타 메모리와 코드 메모리의 확장비율은 각각 57-120%와 27-36%이다.

Keywords

References

  1. J.L. Hennessy and D.A. Patterson, Computer Architecture - A Quantitative Approach, 3rd Edition, Chapter 5, Morgan Kaufmann Publishers, 2002
  2. J.S. Lee, W.K. Hong, and S.D. Kim. 'Design and Evaluation of On-Chip Cache Compression Technology,' In Proceedings of the 17th IEEE International Conference on Computer Design, pp. 184-191, 1999
  3. S. Bunton and G. Borriello, 'Practical Dictionary Management for Hardware Data Compression,' Communications of the ACM, Vol. 35, No.1, pp. 95-104, 1992 https://doi.org/10.1145/129617.129622
  4. M. Kjelso, M. Gooch, and S. Jones, 'Design and Perform-ance of a Main Memory Hardware Data Compressor,' In Proceedings the 22nd Euromicro Conference, IEEE Computer Society Press, pp. 422-430, 1996 https://doi.org/10.1109/EURMIC.1996.546466
  5. B. Abali, Shen Xiaowei, H. Franke, D.E. Poff, and T.B. Smith, 'Hardware Compressed Main Memory: Operating System Support and Performance Evaluation,' IEEE Transactions on Computers, Vol. 50, Issue 11, pp. 1219-1233, 2001 https://doi.org/10.1109/12.966496
  6. M. Kjelso, M. Gooch, and S. Jones, 'Performance Evaluation of Computer Architecture with Main Memory Data Compression,' Journal of Systems Architecture, Vol. 45, pp. 571-590, 1999 https://doi.org/10.1016/S1383-7621(98)00006-X
  7. F. Douglis, 'The Compression Cache: Using On-line Compression to Extend Physical Memory,' In Proceedings of the Winter 1993 USENIX Conference, pp. 519-529, 1993
  8. D. Citron and L. Rudolph, 'Creating a Wide Bus Using Caching Techniques,' In Proceedings of the first International Symposium on High-Performance Computer Architecture, pp. 90-99, 1995
  9. J. Yang, Y. Zhang, and R. Gupta, 'Frequent Value Compression in Data Caches,' In Proceedings of the 33rd ACM/IEEE International Symposium on Microarchitecture, pp. 258-265, 2000 https://doi.org/10.1145/360128.360154
  10. P.A. Franaszek, J. Robinson, and J. Thomas, 'Parallel Compression with Cooperative Dictionary Construction,' In Proceedings of the 6th IEEE Data Compression Conference, pp. 200-209, 1996 https://doi.org/10.1109/DCC.1996.488325
  11. J.L. Henning, 'SPEC CPU2000: Measuring CPU Performance in the New Millennium,' IEEE Computer, Vol. 33, Issue 7, pp. 28-35, 2000 https://doi.org/10.1109/2.869367
  12. SPEC CPU2000, http://www.spec.org/cpu2000/
  13. T. Austin, E. Larson, and D. Ernst, 'SimpleScalar: an Infrastructure for Computer System Modeling,' IEEE Computer, Vol. 35, Issue 2, pp. 59-67, 2002 https://doi.org/10.1109/2.982917
  14. SimpleScalar, http://www.simplescalar.com/
  15. 이장수, 홍원기, 김신덕, '고성능 컴퓨팅을 위한 압축 메모리 구조 설계', 정보과학회 논문지, 시스템 및 이론, 26권, 2호, pp.242-260, 1999