Performance Improvement of Single Chip Multiprocessor using Concurrent Branch Execution

분기 동시 수행을 이용한 단일 칩 멀티프로세서의 성능 개선

  • Published : 2007.02.25

Abstract

The instruction level parallelism, which has been used to improve the performance of processors, expose its limit. The change of a control flow by a branch miss prediction is one of the obstacles that restrict the instruction level parallelism. The single chip multiprocessors have been developed to utilize the thread level parallelism. However, we could not use the maximum performance of the single chip multiprocessor in case of executing the coded programs without considering the multi-thread. In order to overcome the two performance degradation factors, in this paper, we suggest the concurrent branch execution method that applies to the multi-path execution method at a single chip multiprocessor. We executes all two flows of the conditional branch using the idle core processor. Through this, we can improve the processor's efficiency with blocking the control flow termination by the branch instruction and reducing the idle time. We analyze the effects of concurrent branch execution proposed in this paper through the simulation. As a result of that, concurrent branch execution reduces about 20% of idle time and improves the maximum 10% of the branch prediction accuracy. We show that our scheme improves the overall performance of maximum 39% compared to the normal single chip multiprocessor and maximum 27% compared to the superscalar processor.

프로세서 성능향상에 일반적으로 이용되어 오던 명령어 수준의 병렬성은 이제 그 한계를 드러내고 있다. 명령어 수준의 병렬성을 이용하는데 장애가 되는 요인 중에 하나는 분기문에 의한 제어 흐름의 변화이다. 단일 칩 멀티프로세서는 쓰레드 수준의 병렬성을 이용하는 프로세서이다. 그러나 다중 쓰레드를 고려하지 않고 작성된 프로그램을 수행하는 경우에는 단일 칩 멀티프로세서의 성능을 최대한 사용할 수 없는 단점이 있다. 이와 같은 두 가지 성능 저하 요인을 극복하기 위해 본 논문에서는 다중 경로 수행 기법을 단일 칩 멀티프로세서에 적용한 분기 동시 수행 기법을 제안한다. 제안된 방법에서는 유휴 중인 프로세서를 이용하여 조건 분기의 두 흐름을 모두 수행하게 한다. 이를 통하여 분기문에 의한 제어 흐름이 끊기는 것을 막고 유휴 시간을 줄여서 프로세서의 효율을 높일 수 있다. 시뮬레이션을 통하여 본 논문에서 제시한 분기 동시 수행의 효과를 분석한 결과 분기 동시 수행으로 약 20%의 유휴 시간이 감소하였고, 분기 예측 성공률은 최대 10% 향상 되었다. 전체적으로 일반적인 단일 칩 멀티프로세서에 비해 최대 39%의 성능 향상을 이루었고, 슈퍼스칼라 프로세서에 비해 최대 27%의 성능 향상을 이루었다.

Keywords

References

  1. O. Mutlu, J. Stark, C. Wilkerson, and Y. N. Patt, 'Runahead execution: an effective alternative to large instruction windows,' IEEE Transaction on Micro, Vol. 23, Issue. 6, pp. 20-25, Nov. 2003 https://doi.org/10.1109/MM.2003.1261383
  2. R. D. Barnes, J. W. Sias, E. M. Nystrom, S. J. Patel, J. Navarro, and W.W Hwu, 'Beating in-order stalls with 'flea-flicker' two-pass pipelining,' IEEE Transactions on Computers,Vol. 55, Issue 1, pp. 18-33, Jan. 2006 https://doi.org/10.1109/TC.2006.4
  3. J. Hennessy, and D. Patterson, Computer Architecture : A quantitative Approach, 3rd edition, Morgan Kaufmann, pp. 172-209, 2002
  4. K. Olukotun et al., 'The Case for a Single Chip Multiprocessor,' Proc. 7th Int'l Conf. Architectural Support for Programming Languages and Operating Systems, ACM Press, pp. 2-11, New York, 1996
  5. S. J. Eggers, J. S. Emer, H. M. Leby, J. L. Lo, R. L. Stamm, and D. M. Tullsen, 'Simultaneous multithreading: a platform for next-generation processors,' IEEE Transaction on Micro, Vol.17, Issue 5, pp. 12-19, Sept. 1997 https://doi.org/10.1109/40.621209
  6. W. S. Lee, J. J. Kim, J. C. Lee, and S. B. Choi, 'Flying Interrupt: A Fast Way to Execute Interrupt Service Routines Using Simultaneous Subordinate Microthreading,' International Technical Conference on Circuits/Systems, Computers and Communications, Sendai/Matsushima, Japan, July 2004
  7. L. Hammond, M. Willey, and K.Olukotun, 'Data Speculation Support for a Chip Multiprocessor,' Proc. 8th ACM Conf. Architectural Support for Programming Languages and Operating Systems, San Jose, California, Oct. 1998
  8. I. Ganusov, and M. Burtscher, 'Future execution: A Hardware Prefetching Technique for Chip Multiprocessors,' Proc. 14th Int'l Conf. Parallel Architectures and Compilation Techniques, pp. 350-360, Sept. 2005
  9. A. K. Uht, V. Sindagi, and K. Hall, 'Disjoint eager execution: an optimal form of speculativeexecution,' Proc. 28th Int'l Symp. Microarchitecture, pp. 313-325, Dec. 1995
  10. B. A. Nayfeh, and K. Olukotun, 'A single-chip multiprocessor,' IEEE Transaction on Computer, Vol.30, Issue 9, pp. 79-85, Sept. 1997 https://doi.org/10.1109/2.612253
  11. D. Burger, and T. Austin, 'The Simplescalar Tool Set, Version 2.0,' Technical Report CS-TR97-1342, Univ. of Wisconsin, Madison, June. 1997