A Dissipative Resource Distribution policy for SMT processors

The performance in simultaneous multithreading (SMT) processors is significantly influenced by how optimally the common resources are shared among all threads. However, the programs running on threads often take on changing complicated behavior at runtime. Existing resource distribution methods either rely mainly on front-end fetching policies, or make the resource distribution decision according to the restricted information from the pipeline instead of the direct in-flight performance. It's difficult for them to catch various resource requirements efficiently and obtain potential gain. This paper presents a dissipative resource distribution policy (DRD) for SMT processors, in which the resource allocations evolve targeting the direct runtime performance. The self-organization mechanism established for DRD and the introduction of additional chaos cooperate together to form the fluctuation in the distribution evolvement procedure, and maintain persistent evolvement in changing program behavior. Simulation results show that DRD benefits much from its dissipative structure, and obtains potential fairness gains as well as pleasing throughput IPC increments. The meaning and setting of important DRD parameters are also discussed.

[1]  Dean M. Tullsen,et al.  Handling long-latency loads in a simultaneous multithreading processor , 2001, Proceedings. 34th ACM/IEEE International Symposium on Microarchitecture. MICRO-34.

[2]  Brad Calder,et al.  Picking statistically valid and early simulation points , 2003, 2003 12th International Conference on Parallel Architectures and Compilation Techniques.

[3]  Brad Calder,et al.  Automatically characterizing large scale program behavior , 2002, ASPLOS X.

[4]  Joseph J. Sharkey,et al.  Adaptive reorder buffers for SMT processors , 2006, 2006 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[5]  I. Prigogine,et al.  Formative Processes. (Book Reviews: Self-Organization in Nonequilibrium Systems. From Dissipative Structures to Order through Fluctuations) , 1977 .

[6]  Manoj Franklin,et al.  Balancing thoughput and fairness in SMT processors , 2001, 2001 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS..

[7]  Dean M. Tullsen,et al.  Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[8]  Grégoire Nicolis,et al.  Self-Organization in nonequilibrium systems , 1977 .

[9]  Francisco J. Cazorla,et al.  Dcache Warn: an I-fetch policy to increase SMT efficiency , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[10]  Dean M. Tullsen,et al.  Simultaneous multithreading: Maximizing on-chip parallelism , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.

[11]  Francisco J. Cazorla,et al.  Dynamically Controlled Resource Allocation in SMT Processors , 2004, 37th International Symposium on Microarchitecture (MICRO-37'04).

[12]  C. H. Waddington,et al.  Evolution and Consciousness: Human Systems in Transition , 1976 .

[13]  Kozo Kimura,et al.  An Elementary Processor Architecture with Simultaneous Instruction Issuing from Multiple Threads , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[14]  C. Waddington,et al.  Order through fluctuation : self-organization and social system , 1976 .

[15]  José González,et al.  Back-end assignment schemes for clustered multithreaded processors , 2004, ICS '04.

[16]  Ilya Prigogine,et al.  Introduction to Thermodynamics of Irreversible Processes , 1967 .

[17]  Doug Burger,et al.  Evaluating Future Microprocessors: the SimpleScalar Tool Set , 1996 .

[18]  David H. Albonesi,et al.  Front-end policies for improved issue efficiency in SMT processors , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..

[19]  John L. Henning SPEC CPU2000: Measuring CPU Performance in the New Millennium , 2000, Computer.