Asymetric Clustering of Microarchitectures through dynamic-selective shutdown and sharing of functional units

Wilson M. Tan

(MS Graduated: 1st Sem 2009-2010)

Abstract

Designs for clustered microarchitectures have involved symmetric clusters that feature the same number of processing elements or units. These designs also relied solely on static or dynamic instruction distribution algorithms to minimize intercluster communications and maximize cluster load balancing. However some processing loads may benefit from asymmetric clustering, or clustered microarchitectures that feature clusters with different numbers of processing elements. Strict adherence to a symmetric clustering setup may also provide as a deterrent to a successful cluster load balancing and provide additional workload to instruction distribution algorithms. This thesis involves the study of a novel technique called Dynamic-Selective Functional Unit Shutdown and Sharing, which dynamically induces asymmetry in a clustered microarchitecture. The introduction of this capability adds flexibility which could be used in improving system performance, as well as curbing power consumption. To control such a capability, we introduced the concept of Cluster Configuration Change Scheduling Algorithm (CCCSA), of which we implemented two specific variations for this study: Periodic and Hysteresis-based.

Simulation results showed that our technique was successful in improving the average functional unit contention by up to 40 percent, mostly in setups featuring the Hysteresis-based CCCSA on floating point benchmarks. Such metric improvement translated to an overall system performance (CPI) improvement of up to 4 percent. We were able to save power, although our attempts mostly ended in worsening the functional unit contention and subsequently, the CPI, or overall performance. The Hysteresis-based CCCSA achieved twice as much power savings over the Periodic CCCSA, with four times less CPI degradation.