Application Behavior-oriented Adaptive Remote Access Cache in Ring based NUMA System

링 구조 NUMA 시스템에서 적응형 다중 그레인 원격 캐쉬 설계

  • 곽종욱 (서울대학교 전기컴퓨터공학부) ;
  • 장성태 (수원대학교 정보공학대학 컴퓨터학과) ;
  • 전주식 (서울대학교 공과대학 전기컴퓨터공학부)
  • Published : 2003.10.01

Abstract

Due to the implementation ease and alleviation of memory bottleneck effect, NUMA architecture has dominated in the multiprocessor systems for the past several years. However, because the NUMA system distributes memory in each node, frequent remote memory access is a key factor of performance degradation. Therefore, efficient design of RAC(Remote Access Cache) in NUMA system is critical for performance improvement. In this paper, we suggest Multi-Grain RAC which can adaptively control the RAC line size, with respect to each application behavior Then we simulate NUMA system with multi-grain RAC using MINT, event-driven memory hierarchy simulator. and analyze the performance results. At first, with profile-based determination method, we verify the optimal RAC line size for each application and, then, we compare and analyze the performance differences among NUMA systems with normal RAC, with optimal line size RAC, and with multi-grain RAC. The simulation shows that the worst case can be always avoided and results are very close to optimal case with any combination of application and RAC format.

메모리 병목현상의 완화와 구현상의 용이함으로 인해 NUMA 시스템이 지난 수년 동안 전형적인 다중 프로세서 시스템으로 자리를 잡아 왔다. 하지만 NUMA 시스템은 그 구조의 특성상 원격 메모리로의 접근 비율이 커질수록 응답 속도의 지연이 심화되므로, NUMA 시스템의 구현에 있어서 원격 캐쉬의 효율적인 설계를 요구한다. 본 논문에서는 보다 효율적인 원격 캐쉬의 설계를 목표로 하여, 원격 캐쉬 상에서 실제 응용 프로그램의 공유 단위(Granularity of Sharing)의 패턴을 분석하여 원격 캐쉬의 라인 사이즈를 실행 시간에 가상적으로 변화시킬 수 있는“다중 그레인 원격 캐쉬”방식을 제안한다. 그리고 이를 MINT를 통해 모델링한 후 시뮬레이션을 수행하고 그 결과를 분석한다. 시뮬레이션에서는 먼저 Profile-Based 방식을 이용하여 각 응용 프로그램별 최적의 원격 캐쉬 라인 사이즈를 찾아내고, 이를 이용하여 기존의 일반적인 NUMA 시스템에서의 원격 캐쉬와 본 논문에서 제안한 다중 그레인 원격 캐쉬와의 상호 비교를 통해 성능상의 차이점을 비교, 분석한다. 그 후 다중 그레인 원격 캐쉬가 시스템과 응용 프로그램간의 다양한 관계 속에서도 항상 최악의 경우를 피하면서 최적의 경우와 유사한 결과를 가짐을 보인다.

Keywords

References

  1. J. L. Hennessy and D.A Patterson, 'Computer Architecture : A Quantitative Approach,' Second Edition, Morgan Kaufmann Publishers, Inc, 1996
  2. Kai Hwang and Zhiwei Xu, 'Scalable parallel Computing: Technology, Architecture, Programming,' McGraw-Hill, 1998
  3. Daniel Lenoski, Anoop Gupta et. 'The Stanford Dash Multiprocessor,' IEEE Computer, March 1992 https://doi.org/10.1109/2.121510
  4. Zhang, Z. and J. Torrelas, 'Reducing Remote Conflict Misses : NUMA with Remote Cacae versus COMA,' In Proc. of the 3rd IEEE Symp. on High performance Computer Architecture (HPCA-3), pp. 272-281, Feb. 1997
  5. L. Ifode, J. P. Singh, K. Li, 'Understanding Application Performance on Shared Virtual Memory Systems,' Proceedings of the 23rd annual International symposium on Computer architecture pp. 122-133, 1996 https://doi.org/10.1109/ISCA.1996.10024
  6. C. Dubnicki, Thomas J. LeBlanc, 'Adjustable Block Size Coherent Cache,' International Symposium on Computer Architecture pp. 170-180, 1992 https://doi.org/10.1145/146628.139725
  7. A. V. Veidenbaum, W. Tang, R. Gupta, A. Nicolau, X. Ji, 'Adapting Cache Line Size to Application Behavior,' International Conference on Supercomputing, June 1999 https://doi.org/10.1145/305138.305188
  8. 김형호, '지점간 링크를 이용한 스누핑 버스의 설계 및 성능 분석', 서울대학교 석사학위 논문, 1996
  9. D.J. Lilja. 'Cache coherence in large-scale shared-memory multiprocessors : Issues and comparisons,' ACM Computing Surveys, 25(3):303-338, Sept. 1993 https://doi.org/10.1145/158439.158907
  10. Per Stenstrom, Truman Joe, and Anoop Gupta, 'Comparative Performance Evaluation of Cache-Coherent NUMA and COMA Architectures,' In the 19th Int'l Symp. on Computer Architecture, pages 80-91, 1992 https://doi.org/10.1145/139669.139705
  11. S. J. Eggers and R. H. Katz, 'The Effect of Sharing on the Cache and Bus Performance of Parallel Programs,' In Proc. 3rd ASPLOS, 1989 https://doi.org/10.1145/70082.68206
  12. S. Dwarkadas 외 6인, 'Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory,' HPCA, 1998
  13. D. R. Cheriton, A.Gupta, P. D. Boyle, and H. A. Goosen, 'The VMP Multiprocessor : Initial Experience, Refinements, and Performance Evaluation,' 15th ISCA, 1988 https://doi.org/10.1109/ISCA.1988.5252
  14. Tom Shanley, 'Pentium Pro Processor System Architecture,' Mind Share, Inc., 1997
  15. IEEE Computer Society, 'IEEE Standard for Scalable Coherent Interface(SCI),' Institute of Electrical and Electronics Engineers, August 1993
  16. K. Inoue, K. Kai, K. Murakami, 'High Bandwidth, Variable Line-Size Cache Architecture for Merged DRAM/Logic LSIs,' IEICE TRANS. ELECTRON, 1998
  17. JACK E. Veenstra, Robert J. Fowler, 'MINT : A front end for efficient simulation of shared-memory multiprocessors,' In Proceedings of the Second International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems(MASCOTS), pp. 201-207, 1994 https://doi.org/10.1109/MASCOT.1994.284422
  18. 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
  19. David E. Culler, Jaswinder P. Singh, A. Gupta, 'Parallel Computer Architecture : A Hardware / Software Approach,' Morgan Kaufmann Publishers, Inc, 1999