An Adaptive Prefetching Technique for Software Distributed Shared Memory Systems

소프트웨어 분산공유메모리시스템을 위한 적응적 선인출 기법

  • 이상권 (한국과학기술원 전산학과) ;
  • 윤희철 (한국전자통신연구원 컴푸터소프트웨어기술연구소) ;
  • 이준원 (한국과학기술원 전산학과) ;
  • 맹승렬 (한국과학기술원 전산학과)
  • Published : 2001.10.01

Abstract

Though shared virtual memory (SVM) system promise low cost solutions for high performance computing they suffer from long memory latencies. These latencies are usually caused by repetitive invalidations on shared data. Since shared data are accessed through synchronization and the patterns by which threads synchronizes are repetitive, a prefetching scheme bases on such repetitiveness would reduce memory latencies. Based on this observation, we propose a prefetching technique which predicts future access behavior by analyzing access history per synchronization variable. Our technique was evaluated on an 8-node SVM system using the SPLASH-2 benchmark. The results show the our technique could achieve 34%~45% reduction in memory access latencies.

공유가상메모리 시스템은 적은 비용으로 고성능 계산 능력을 제공하지만, 메모리 접근 지연 시간이 길다는 문제점이 있다. 일반적으로 이 지연시간은 공유데이터에 대한 반복적인 무효화 작업에 의해 일어난다. 고유 데이터들은 동기화를 통해서 접근되고 쓰레드를 반복적 패턴에 의해 동기화 되기 때문에, 반복성에 기반한 선인출 기법은 메모리 지연시간을 효과적으로 줄일수 있다. 본 논문에서는 동기화 변수별로 접근 기록을 분석해서 미래의 메모리 접근을 예측하는 선인출 기법을 제안한다. 제안하는 기법은 8노드 클러스터상에서 SPLASH-2 응용들을 실행시켜 성능을 측정하였다. 그 결과, 제안하는 기법이 34%~45%정도의 메모리 접근 지연시간을 감소할수 있었다.

Keywords

References

  1. K. Li and P. Hudak. Memory Coherence in Shared Memory Systems. ACM Transaction on Computer Systems, 7(4), November 1989 https://doi.org/10.1145/75104.75105
  2. J. B. Carter, J. K. Bennette, and W. Zwaenepoel. Implementation and Performance of Munin, In Proceedings of the 13th SOSP, February 1991 https://doi.org/10.1145/121132.121159
  3. C. Amza, S. Dwarkadas, P. Keleher, A. L. Cox, and Z. Zwaenepoel. Treadmarks: Shared Memory Computing on Networks of Workstations. IEEE Computer, 29(2), February 1996 https://doi.org/10.1109/2.485843
  4. P. Keleher, A. L. Cox, and W. Zwaenepoel. Lazy Release Consistency for Software Distributed Shared Memory. In Proceedings of the 19th ISCA, May 1992 https://doi.org/10.1145/139669.139676
  5. R. Bianchini, L. I. Kontohanassis, R. Pinto, M. Maria, M. Abud, and C. L. Amorim. Hiding Communication Latency and Coherence Overhead in Software DSMs. In Proceedings of the 7th ASPLOS. October 1996
  6. R. Bianchini, R. Pinto, and C. L Amorim. Data Prefetching for Software DSMs: In Proceedings of the International Conference on Supercomputing, July 1998 https://doi.org/10.1145/277830.277925
  7. S. Woe, M. Ohara, E. Torrie, J. Singh, and A. Gupta. The SPLASH-2 Programs: Characterization and Methodological Considerations. In Proceedings of the 22nd ISCA, May 1995 https://doi.org/10.1145/223982.223990
  8. Y. Zhou, L. Iftode, and K. Li. Performance Evaluation of Two Home-Based Lazy Release Consistency Protocols for Shared Virtual Memory Systems. In Proceedings of USENIX OSDI, October 1996 https://doi.org/10.1145/238721.238763
  9. P. Keleher. The Relative Importance of Concurrent Writers and Weak Consistency Models. In Proceedings of the 16th ICDCS, May 1996 https://doi.org/10.1109/ICDCS.1996.507905
  10. C. Amza, A. L. Cox. K. Rajamani, and W. Zwaenepoel. Tradeoff's Between False Sharing and Aggregation in Software Distributed Shared Memory. In Proceedings of the 6th PPoPP, June 1997 https://doi.org/10.1145/263764.263778
  11. M. Karlsson and P. Stenstrom. Effectiveness of Dynamic Prefetching in Multiple-Writer Distributed Virtual Shared Memory Systems. Journal of Parallel and Distributed Computing, 43(7), July 1997 https://doi.org/10.1006/jpdc.1997.1333
  12. T. Mowry, C. Q. C Chan, and A. K. W. La. Comparative Evaluation of Latency Tolerance Techniques for Software Distributed Shared Memory. In Proceedings of the 4th HPCA, February 1998 https://doi.org/10.1109/HPCA.1998.650569