General-purpose processors for multimedia applications: predictability and energy efficiency
Sarita V. Adve, Christopher J. Hughes · 2003
Real-time multimedia applications, already a key workload for many computer systems, are increasingly important. The increasing complexity and performance demands of these applications motivates the use of general-purpose processors for them. However, multimedia applications introduce a number of new challenges to general-purpose processor design because of their real-time nature and stringent resource requirements. This dissertation focuses on two key challenges: execution time predictability and reducing energy consumption. It has been conjectured that general-purpose processors have unpredictable execution times due to their use of complex architectural features, making them unsuitable for real-time multimedia applications. We test this and find that, surprisingly, the architecture actually induces little unpredictability. Further, we use insights gained from this study to show how to predict the execution times. We next apply the above findings towards improving the energy efficiency of general-purpose processors for real-time multimedia applications. Recently, researchers have proposed two forms of hardware adaptation to improve energy efficiency of these processors: architecture adaptation and dynamic voltage/frequency scaling (DVS). A key to effective adaptation is the control algorithm, which determines when and what to adapt. We develop algorithms based on two opportunities for saving energy in modern processors: (1) they often run faster than necessary for the application's real-time constraint, and (2) often resources stay active, consuming energy, but contribute little to performance. Our algorithms are the first to use both architecture adaptation and DVS and exploit both opportunities for saving energy for multimedia applications. Our final algorithm is based on formal optimization theory, which lends a key advantage over previously proposed algorithms: it requires little tuning of its design parameters for an actual implementation. Our final algorithm is predictive—its decisions are made using predictions about processor behavior obtained from a small profiling phase, rather than from continuous measurement. Thus, the algorithm can predict its behavior for the rest of an application after this phase. The results show the algorithm is effective at saving energy in a variety of scenarios, architecture adaptation is effective with and without DVS, and exploiting both opportunities for saving energy gives significant gains.