데이타 캐시의 활용도를 높이는 동적 선인출 필터링 기법

Dynamic Prefetch Filtering Schemes to enhance Utilization of Data Cache

  • 전영숙 (충북대학교대학원 전자계산학과) ;
  • 김석일 (충북대학교대학원 전기전자컴퓨터공학부) ;
  • 전중남 (충북대학교대학원 전기전자컴퓨터공학부)
  • 발행 : 2008.02.15

초록

Load/store와 같은 메모리 참조 명령어는 프로세서의 고속 수행을 방해하는 주요인이다. 캐시 선인출 기법은 메모리 참조에 따른 지연시간을 줄이는 효과적인 방법이다. 그러나 너무 적극적으로 선인출 할 경우에 캐시 오염을 유발시켜 선인출에 의한 장점을 상쇄시킨다. 본 연구에서는 캐시의 오염을 줄이기 위해 동적으로 필터 테이블을 참조하여 선인출 명령을 수행할 지의 여부를 결정하는 네 가지 필터링 기법들을 비교 평가한다. 먼저 기존 연구에서의 문제점을 분석하기 위해 이진 상태 기법을 보였는데, 이 기법은 기존 연구와 같이 N:1 매핑을 사용하는 반면, 각 엔트리의 값을 1비트로 하여 두 가지 상태값을 갖도록 하였다. 비교 연구를 위해 완전 상태 기법을 제시하여 비교 기준으로 사용하였다. 마지막으로 본 논문의 주 아이디어인 정교한 필터링을 위한 블록주소 참조 기법을 제안하였다 이 기법은 이진 상태 기법과 같은 테이블 길이를 가지며, 각 엔트리의 내용은 완전 상태 기법과 같은 항목을 가지도록 하여 최근에 미 사용된 데이타의 블록주소가 필터 테이블의 하나의 엔트리와 대응되도록 1:1 매핑을 하였다. 일반적으로 많이 사용되는 일반 벤치마크 프로그램과 멀티미디어 벤치마크 프로그램들에 대하여 실험한 결과, 제안한 블록주소 참조 기법(BAL)이 기존 연구인 동적 필터 기법(2-bitSC)과 비교하여 캐시 미스율이 10.5% 감소하였다.

Memory reference instructions such as loads or stores are critical factors that limit the processing power of processor. The prefetching technique is an effective way to reduce the latency caused from memory access. However, excessively aggressive prefetch leads to cache pollution so as to cancel out the advantage of prefetch. In this study, four filtering schemes have been compared and evaluated which dynamically decide whether to begin prefetch after referring a filtering table to decrease cache pollution. First, A bi-states scheme has been shown to analyze the lock problem of the conventional scheme, this scheme such as conventional scheme used to be N:1 mapping, but it has the two state to 1bit value of each entries. A complete state scheme has been introduced to be used as a reference for the comparative study. A block address lookup scheme has been proposed as the main idea of this paper which exhibits the most exact filtering performance. This scheme has a length of the table the same as the bi-states scheme, the contents of each entry have the fields the same as the complete state scheme recently, never referenced data block address has been 1:1 mapping a entry of the filter table. Experimental results from commonly used general benchmarks and multimedia programs show that average cache miss ratio have been decreased by 10.5% for the block address lookup scheme(BAL) compare to conventional dynamic filter scheme(2-bitSC).

키워드

참고문헌

  1. A. J. Smith, "Cache Memories," ACM Computing Surveys, 14:473-530, Sep. 1982 https://doi.org/10.1145/356887.356892
  2. N. P. Jouppi, "Improving directed-mapped cache performance by the addition of a small fully- associative cache and prefetch buffers," Proc. of the 17th Annual International Symposium on Computer Architecture, pp. 364-373, May 1990
  3. D. Joseph and D. Grunwald, "Prefetching Using Markov Predictors," IEEE Trans. on computers, Vol.48, No.2, Feb. 1999
  4. D. Joshep and D. Grunwald, "Prefetching Using Markov Predictors," in proc. Of the 24th Annual Intl. Symp. On Computer Architecture, pp. 252-263, June 1997
  5. J. Kim, K. V. Palem and W-F. Wong, "A Framework for Data Prefetching using Off-line Training of Markovian Predictors," in Proc. IEEE Intl. Conf. on Computer Design(ICCD), pp. 340-347, Sep. 2002
  6. G. Hariprakash, R. Achutharaman, A. R. Omondi, "DSTRIDE : Data-cache miss-address-based stride prefetching scheme for multimedia processors," 6th Australasian Computer Systems Architecture Conference (AustCSAC'01), pp. 62-70, Jan. 29-30, 2001
  7. Y. Solihin, J. Lee and J. Torrellas, "Correlation Prefetching with a User-Level Memory Thread," IEEE Trans. Computers, Vol.14, No.6, June 2003
  8. J. L. Baer and T-Fu Chen, "An effective on-chip preloading scheme to reduce data access penalty," In Proceedings of Supercomputing '91, pp. 176- 186, Nov. 1991
  9. T-Fu Chen and J-L Baer, "Effective Hardware- Based data prefetching for High-Performance Processors," IEEE Trans. Computers, Vol.44, No.5, pp. 609-623, May 1995 https://doi.org/10.1109/12.381947
  10. J. H. Lee, S. W. Jeong, S. D. Kim and C. C. Weems, "An Intelligent Cache System with Hardware Prefetching for High Performance," IEEE Trans. on computers, Vol.52, No.5, May. 2003
  11. V. Srinivasan, E. S. Davidson and G. S. Tyson, "A Prefetch Taxonomy," IEEE Trans. Computers, Vol.53, No.2, pp. 126-140, Feb. 2004 https://doi.org/10.1109/TC.2004.1261824
  12. X. Zhuang and H-H S. Lee, "Hardware-based Cache Pollution Filtering Mechanism for Xggressive Prefetches," in Proc. IEEE Int. conf. on Parallel Processing, pp. 286-293, Oct. 2003
  13. A. Srivastava and A. Eustace, "ATOM : A System for Building Customized Program Analysis Tools," Proceedings of the ACM SIGPLAN 94, pp. 196-205, 1994
  14. M. D. Hill, "Dinero III Cache Simulator," Technical Report, Department Computer Science, University of Wisconsin, Madison. 1990.
  15. Media benchmark program : http://cares.icsl.ucla.edu/ appications.html
  16. SpecInt 2000 benchmark program : http://www.spec. org/osg/cpu2000/CINT2000