ILP 명령 스케쥴링에서의 복사 제거를 위한 낙관적 융합 기법

Optimistic Colescing Technique for Copy Elimination in ILP Instruction Scheduling

  • Park, Jin-Pyo (Dept.of Electronics Engineering, Seoul National University) ;
  • Mun, Su-Muk (Dept.of Electronics Engineering, Seoul National University)
  • 발행 : 1999.05.01

초록

수퍼스칼라(superscalar)나 VLIW 와 같은 명령어 수준 병렬화(ILP) 프로세서의 성능을 극대화하는 과감한 명령어 스케쥴링은 소프트웨어 파이프라이닝과같은 스케쥴링 과정을 거치면서 일반적인 복사 명령어 제거 기법으로 없앨 수 없는 서로 간섭하는 복사 명령을 많이 만들어내는데 루프 내부에 생성된 이러한 복사명령은 적절한 루프 펼침을 수행하여 간섭관계를 없앰으로서 제거할 수 있다. 본 논문에서는 이와 같이 루프 펼침이 수행된 루프 내부의 복사명령을 제거하는 기법으로 그래프 컬러링 상에 구현한 낙관적 융합기법을 제안한다. 그래프 컬러링에서의 융합기법은 간선의 개수가 많은 노드를 만들어 낼수 있으므로 채색성에 부정적인 영향을 주는 것으로 알려져 왔으나 본 기법에서는 융합되는 노드에 동시에 간섭하는 노드의 간선의 수가 줄어드는 긍정적인 영향을 최대한 이용하여 채색성을 높이고 융합된 노드에 대한 실제 버림(spill)이 일어나는 경우 유효 범위 분절(live range splitting)을 통하여 버림의 부담을 최대한 줄이도록 하였으며 이를 VLIW 스케쥴링 된 SPEC 정수벤치마크 루프내부의 복사 명령 제거에 적용한 결과 제거 가능한 복사 명령의 99%를 제거하면서도 버림명령은 다른 융합 기법과 비교하여 가장 적게 발생하는 우수한 결과를 얻을수 있었다.

키워드

참고문헌

  1. Proceedings of the SIGPLAN 1982 Symposium on Compiler Construction Pegister allocation and spilling via graph coloring G. Chaitin
  2. ACM Transactions on Programming Languages and Systems v.12 no.4 Improvements to graph coloring register allocation Preston Briggs;Keith D. Cooper;Linda Torczon
  3. ACM Transactions on Programming Languages and Systems v.12 no.4 The priority-based coloring approach to register allocation Fred C. Chow;John L. Hennessy
  4. ACM Transactions on Programming Languages and Systems v.18 no.3 Iterated register coalescing Lal George;Andrew W. Appel
  5. Technical Report CMU-CS-96-106 Global register allocation based on graph fusion T. Gross;G. Y. Lueh;A. Adl-Tabatabai
  6. IEE proceedings Computers and Digital Techniques A SPARC-based VLIW testbed S.-M. Moon;H. Chung;J. Park;S. Shim;J.-W. Ahn.
  7. Languages and Compilers for Parallel Computing A new compilation technique for parallelizing loops with unpredictable branches on a VLIW architecture K. Ebcioglu;T. Nakatani
  8. ACM Transactions on Programming Languages and Systems v.19 no.6 Parallelizing nonnumerical code with selective scheduling and software pipelining S.-M. Moon;K. Ebcioglu
  9. Proceedings of the SIGPLAN 1988 Conference on Programming Language Design and Implementation Software pipelining: an effective scheduling technique for VLIW machines M. Lam
  10. Technical Report SNU-EE-TR-1997-7 Unrolling-based copy coalescing S. Kim;S.-M. Moon;J. Park;K. Ebcioglu
  11. Selective Scheduling Based on reservation table S. Kim;H. Yun;S. -M. Moon