Petri-Net based Performance Model For Effective DVFS for Multithreaded Programs

Abstract :
Chip Multiprocessors (CMP's) have made their way into servers, desktop systems and even embedded systems. While power dissipation limits performance of CMP's and affects system reliability, energy efficiency is becoming increasingly important for bringing down the significant contribution of energy in organizations' budgets and the environment, besides enhancing battery life. Dynamic Voltage and Frequency Scaling (DVFS) is a very effective tool for designing tradeoffs involving power, energy, temperature and performance.

It is important that the potential benefits DVFS offers are realized. To that end, in this report, we present a novel software based DVFS method, which uses a formal Petri net based program performance model to find energy efficient voltage-frequency settings. We evaluate this, and a state-of-the-art hardware based DVFS method with two important classes of parallel applications: data parallel (SPMD style) applications, and stream multithreaded applications.

From our evaluation, we find that the Petri net performance model based software method for DVFS achieves significant $Energy/Throughput^{2}$ ($ET^{-2}$) improvements for both classes of multithreaded applications. The hardware based method achieves high $ET^{-2}$ improvements for SPMD applications, but performs poorly in the case of stream applications. For stream applications, a simple linear interpolation based DVFS method achieves all the benefits of the Petri net based method. We also observe that support for independent voltage and frequency control for each core is essential for obtaining high $ET^{-2}$ improvement for stream applications.