프로세서의 재사용 정보를 이용하는 개선된 고성능 희생 캐쉬

Advanced Victim Cache with Processor Reuse Information

  • 곽종욱 (서울대학교 전기컴퓨터공학부) ;
  • 이현배 (LG전자기술원 모바일 멀티미디어 연구소) ;
  • 장성태 (수원대학교 컴퓨터학과) ;
  • 전주식 (서울대학교 전기컴퓨터공학부)
  • 발행 : 2004.12.01

초록

최근의 단일 혹은 다중 프로세서 시스템은 일반적으로 계층적 메모리를 사용한다 이는 프로세서의 클럭 속도와 메모리로의 데이타 접근 시간의 증가로 인한 시스템 성능 저하를 막기 위한 노력 중 하나이다. 특히 프로세서와의 속도 차이를 줄이기 위해 사용되는 캐쉬는 이단계에서 삼단계에 이르는 다양한 형태의 계층을 포함하는 메모리 시스템으로 구성된다. 이 중에서도 특히 상위 캐쉬는 프로세서와 직접 인터페이스가 이루어지기 때문에, 해당 캐쉬의 적중률은 전체 시스템의 성능을 결정하는 중요한 요소가 된다. 이러한 상위 캐쉬의 하나로써, 희생 캐쉬는 일차 캐쉬의 충돌 미스(Conflict Miss)를 줄이기 위해 추가된 모듈이다. 이는 프로세서 입장에서 보면 절차상 일차 캐쉬와 동등한 관계에서 접근이 이루어진다. 본 논문에서는 이러한 상위 캐쉬의 관리 정책 중, 기존의 일차 캐쉬와 희생 캐쉬의 구현시 배제되어 왔던 프로세서의 재사용 정보를 이용하는 캐쉬 라인의 효율적인 관리 정책을 제안하고자 한다. 이 기법은 프로세서의 데이타 사용 빈도에 의한 캐쉬 교체 정책으로, 프로세서에 의해 특정 데이타가 얼마나 자주 접근되었는가에 따라, 사용 빈도수가 높은 데이타에 대해 캐쉬에 위치시키는 시간을 연장시키는 기법이다. 본 논문에서는 제안된 메모리 시스템의 성능을 평가하기 위해, 이를 프로그램 기반 시뮬레이터인 Augmint를 통해 모델링한 후, 시뮬레이션을 수행한다. 그리고 이를 기존의 단순한 회생 캐쉬 교체 정책과 비교하여 성능상의 차이점을 비교 분석한다. 실험 결과 제안된 LIVMR 기법은 최대 6.7%, 평균 0.5%의 성능 향상을 보였다.

Recently, a single or multi processor system uses the hierarchical memory structure to reduce the time gap between processor clock rate and memory access time. A cache memory system includes especially two or three levels of caches to reduce this time gap. Moreover, one of the most important things In the hierarchical memory system is the hit rate in level 1 cache, because level 1 cache interfaces directly with the processor. Therefore, the high hit rate in level 1 cache is critical for system performance. A victim cache, another high level cache, is also important to assist level 1 cache by reducing the conflict miss in high level cache. In this paper, we propose the advanced high level cache management scheme based on the processor reuse information. This technique is a kind of cache replacement policy which uses the frequency of processor's memory accesses and makes the higher frequency address of the cache location reside longer in cache than the lower one. With this scheme, we simulate our policy using Augmint, the event-driven simulator, and analyze the simulation results. The simulation results show that the modified processor reuse information scheme(LIVMR) outperforms the level 1 with the simple victim cache(LIV), 6.7% in maximum and 0.5% in average, and performance benefits become larger as the number of processors increases.

키워드

참고문헌

  1. J. L. Hennessy and D.A Patterson, Computer Architecture : A Quantitative Approach, Second Edition, Morgan Kaufmann Publishers, Inc, 1996
  2. N. P. Jouppi, 'Improving Direct-mapped Cache Performance by the Addition of a Small Fully associative Cache and Prefetch Buffers,' Proceedings 17th Annual International Symposium on Computer Architecture, pp.364-373, May, 1990 https://doi.org/10.1109/ISCA.1990.134547
  3. T. Jonson and W. W. Hwu, 'Run-Time Adaptive Cache Hierarchy Management vi Reference Analysis,' Proc. ISCA-24, pp. 315-326, 1997
  4. Steve Furber, 'ARM : System-On-Chip Architecture', Second Edition, Addition-Wesley, 2000
  5. Norman P. Jouppi, 'Victim and miss caching as an improvement on hardware organizations,' 1991
  6. M. Prvulovic 외 3인, 'Split Temporal/Spatial Cache: A Survey and Reevaluation of Performance,' IEEE TCCA Newsletters, 1999
  7. Jude A. Rivers and Edward S. Davidson, 'Reducing Conflicts In Direct-mapped Caches with a Temporality-based Design,' Proceedings of the 1996 International Conference on Parallel Processing, pp .. 151-162, Aug. 1996 https://doi.org/10.1109/ICPP.1996.537156
  8. JUN YANG and RAJIV GUPT 'Frequent Value Locality and its Application,' ACM Transactions on Embedded Computing Systems, Vol. 1, No. 1, November 2002, Pages 79-105 https://doi.org/10.1145/581888.581894
  9. Ben Juurlink, 'Unified Dual Data Caches,' Euro-micro Symposium on Digital Systems Design (DSD'03) https://doi.org/10.1109/DSD.2003.1231897
  10. A. Gonzalez, C. Aliagas, and M. Valeno, 'Data Cache with Multiple Caching Strategies Tuned to Different Types of Locality,' Proc. Conf. Supercomputing, pp. 338-347, 1995 https://doi.org/10.1145/224538.224622
  11. David H. Albonesi, 'Selective cache ways: On-Demand Cache Resource Allocation,' In Proceedings of Int'l Symposium of Microarchitecture, pp. 248-259, Nov. 1999 https://doi.org/10.1109/MICRO.1999.809463
  12. C. H. Chi and H. Deltz, 'Improving Cache Performance by Selective Cache Bypass,' Proc. 22nd Hawaii Int'l Conf. System Science, pp. 277-285, 1989 https://doi.org/10.1109/HICSS.1989.47168
  13. A.-T. Nguyen, M. Michael, A. Sharma, J. Torrellas, 'The Augmint multiprocessor simulation toolkit for Intel x86 architectures,' 1996 International Conference on Computer Design (ICCD '96) https://doi.org/10.1109/ICCD.1996.563597
  14. Augmint : A multiprocessor simulator, http://iacoma. cs.uiuc.edu/augmint/
  15. J. E.Veenstra and R.J.Fowler. 'MINT : A Front End for Efficient Simulation of Shared-Memory Multiprocessors,' Proc., 2nd Int'l Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, pp. 201-207, Jan. 1994 https://doi.org/10.1109/MASCOT.1994.284422
  16. S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and Anoop Gupta, 'Methodological Considerations and Characterization of the Splash-2 Parallel Application Suite,' In Proceedings of the 22th International Symposium on Computer Architecture, pp. 24-36, May 1995