다중스레드 모델의 성능 향상을 위한 가용 레지스터 기반 캐슁 기법

A Register-Based Caching Technique for the Advanced Performance of Multithreaded Models

  • 고훈준 (인하대학교 대학원 전자계산공학과) ;
  • 권영필 ((주)다이알로직 코리아) ;
  • 유원희 (인하대학교 전자계산공학과)
  • 발행 : 2001.06.01

초록

A multithreaded model is a hybrid one which combines locality of execution of the von Neumann model with asynchronous data availability and implicit parallelism of the dataflow model. Much researches that have been made toward the advanced performance of multithreaded models are about the cache memory which have been proved to be efficient in the von Neumann model. To use an instruction cache or operand cache, the multithreaded models must have cache memories. If cache memories are added to the multithreaded model, they may have the disadvantage of high implementation cost in the mode. To solve these problems, we did not add cache memory but applied the method of executing the caching by using available registers of the multithreaded models. The available register-based caching method is one that use the registers which are not used on the execution of threads. It may accomplish the same effect as the cache memory. The multithreaded models can compute the number of available registers to be used during the process of the register optimization, and therefore this method can be easily applied on the models. By applying this method, we can also remove the access conflict and the bottleneck of frame memories. When we applied the proposed available register-based caching method, we found that there was an improved performance of the multithreaded model. Also, when the available-register-based caching method is compared with the cache based caching method, we found that there was the almost same execution overhead.

키워드

참고문헌

  1. J. Chaitin, Gregory, 'Register Allocation and Spilling via Graph Coloring,' Proc. of the SIGPLAN '82 symp. on compiler construction, Boston, MA, SIGPLAN Notice. Vol.17, No.6, June 1982, pp.98-105
  2. S. H. Ha et al., 'Design and Implementation of a Massively Parallel Multithreaded Architecture : DAVRID,' Journal of Electrical Engineering and Information Science. Vol.1, No.2, pp.15-25, 1996
  3. H. H. Hum and G. R. Gao, 'Supporting a dynamic SPMD model in a multithread architecture,' In Proc.of Compcon Spring'93, 1993 https://doi.org/10.1109/CMPCON.1993.289657
  4. R. A. Iannucci, 'Parallel Machines : Parallel machine Languages The Emergence of Hybrid Dataflow Computer Architecture,' Kluwer Academic Publishers, 1990
  5. K. M. Kavi, 'Design of Cache Memories for Multithreaded Dataflow Architecture,' Int'l Symp. Computer Architecture, ACM Press, pp. 253-264, 1995 https://doi.org/10.1145/223982.224436
  6. R. S. Nikhil, 'Can Dataflow Subsume von Neumann Computing?,' In Proc.16th Annual Int'l Symp.on Computer Architecture, pp.262-272, 1989
  7. M. D. Noakes, D. A. Wallach, and W. J. Dally, 'The J-Machine Multicomputer : An architectural evaluation,' In Proc. 20th Ann. Int. Symp. on Computer Architecture,May, 1993
  8. K. E. Schauser, D. E. Culler, and T. von Eicken, 'Compiler Controlled Multithreading for Lenient Parallel Languages,' 5th ACM Comference on Functional Programming Languages and Computer Architecture, LNCS Vol.523, pp.50-72, 1991
  9. 권영필, 유원희, '향상된 스레드 생성을 위한 레지스터 최적화 기법', 99춘계 학술발표논문집 제26권 제1호, 한국정보과학회, pp.92-94, 1999
  10. 고훈준, 권영필, 양창모, 유원희, '향상된 스레드를 위한 중간 언어와 그래프 생성,' 한국산업기술학회지, 제1권 창간호, pp.67-74, 1997
  11. 조승호, 황대준, 한상영, '다중스레드 컴퓨터 구조를 위한 캐쉬 기반 동기화 기법', 한국정보과학회논문지 제21권 제1호, 한국정보과학회, pp.44-52, 1994
  12. 최종필, 하순희, 전주식, '다중스레딩 프레임 스케쥴링 정보를 이용한 선반입 방식 캐쉬', 한국정보과학회 제24권 제5호, pp.499-508, 1997