Abstract
Making modern computer systems energy-efficient is of paramount importance. Dynamic Voltage and Frequency Scaling
(DVFS) is widely used to manage the energy and power consumption in modern processors; however, for DVFS to be effective, we
need the ability to accurately predict the performance impact of scaling a processor’s voltage and frequency. No accurate performance
predictors exist for multithreaded applications, let alone managed language applications.
In this work, we propose DEP+BURST, a new performance predictor for managed multithreaded applications that takes into account
synchronization, inter-thread dependencies, and store bursts, which frequently occur in managed language workloads. Our predictor
lowers the performance estimation error from 27% for a state-of-the-art predictor to 6% on average, for a set of multithreaded Java
applications when the frequency is scaled from 1 to 4 GHz. We also novelly propose an energy management framework that uses
DEP+BURST to reduce energy consumption. We first target reducing the processor’s energy consumption by lowering its frequency
and hence its power consumption, while staying within a user-specified maximum slowdown threshold. For a slowdown of 5% and
10%, our energy manager reduces on average 13% and 19% of energy consumed by the memory-intensive benchmarks. We then use
the energy manager to optimize total system energy, achieving an average reduction of 15.6% for a set of Java benchmarks. Accurate
performance predictors are key to achieving high performance while keeping energy consumption low for managed language
applications using DVFS.
(DVFS) is widely used to manage the energy and power consumption in modern processors; however, for DVFS to be effective, we
need the ability to accurately predict the performance impact of scaling a processor’s voltage and frequency. No accurate performance
predictors exist for multithreaded applications, let alone managed language applications.
In this work, we propose DEP+BURST, a new performance predictor for managed multithreaded applications that takes into account
synchronization, inter-thread dependencies, and store bursts, which frequently occur in managed language workloads. Our predictor
lowers the performance estimation error from 27% for a state-of-the-art predictor to 6% on average, for a set of multithreaded Java
applications when the frequency is scaled from 1 to 4 GHz. We also novelly propose an energy management framework that uses
DEP+BURST to reduce energy consumption. We first target reducing the processor’s energy consumption by lowering its frequency
and hence its power consumption, while staying within a user-specified maximum slowdown threshold. For a slowdown of 5% and
10%, our energy manager reduces on average 13% and 19% of energy consumed by the memory-intensive benchmarks. We then use
the energy manager to optimize total system energy, achieving an average reduction of 15.6% for a set of Java benchmarks. Accurate
performance predictors are key to achieving high performance while keeping energy consumption low for managed language
applications using DVFS.
Original language | English |
---|---|
Article number | 7569056 |
Pages (from-to) | 601-615 |
Number of pages | 15 |
Journal | IEEE Transactions on Computers |
Volume | 66 |
Issue number | 4 |
DOIs | |
Publication status | Published - Apr 2017 |
Keywords
- Dynamic voltage and frequency scaling
- dynamic energy management
- managed runtimes
- multithreaded performance estimation