Energy characterization methodologies for cmp/smt processor systems (2014)

Computer systems performance and affordability is limited by energy and power consumption. We must understand energy and power consumption of computer systems in order to propose solutions that mitigate the energy-related limitations. Understanding the energy consumption of computer systems is difficult because of their complexity. Therefore, systematic energy characterization methodologies are required to easily understand energy-related issues on today's complex computer systems. In this thesis, we develop various systematic energy characterization methods in conjunction with the software frameworks required to implement them. The scientific contributions of this thesis are: - A systematic method for producing counter-based power models. Counter-based power models are a common approach to predict power consumption of computer systems. We advance in the state of the art of counter-based power modeling proposing a methodology that produce more responsive, informative and robust power models, while keeping their affordability and accuracy. - An energy accounting method on shared virtualized systems using counter-based power models. We propose a method to perform per-virtual machine energy accounting. This method provides a new form of accountability to cloud providers. - Systematic Instruction-wise power/performance profile generation method. We present a technique to generate instruction-wise energy profiles, which are beneficial in a wide set of situations. For instance, being able to know which instructions are more power-hungry and which ones are more energy-efficient can: (a)~drive the focus of the processor design teams; (b)~impact the instruction selection algorithms of compilers or; (c)~be used to guide the generation of energy-related stressmarks. - Systematic Maximum power stressmark generation method. Maximum power stressmarks are required during the design of processors in order to guide different design decisions such as the design of the package and the power delivery network. We present a novel method, based on the instruction-wise power profile, to generate maximum power stressmarks without the need of performing the sub-optimal searches based on genetic algorithms performed in previous art. The software contributions of this thesis are: - Microprobe: a microbenchmark generation framework. Microprobe is a microbenchmark generation framework that includes detailed micro-architecture definitions that enable the generation of microbenchmarks with specific micro-architecture behavior. It permits the systematic generation of the training set required for our counter-based power models as well as the systematic generation of the per-instruction energy profiles and maximum power stressmarks. - Potra: a model generation framework. We developed POTRA (POwer TRace Analyser) for allowing the generation and evaluation of the different power modeling methods present throughout this thesis. - LibBGQT: Blue Gene/Q tracing library. LibBGQT is an automatic fine-grained power and performance tracing library for IBM Blue Gene platforms. Using this library, we performed detailed application-level characterizations that not only help to fine-tune application code, but it also permitted the detection of optimization opportunities for improving next generation systems. All to all, this thesis contributes to the state of the art in systematic energy characterization methodologies. It presents sound evaluations of them in different contexts such as different processors and power/performance settings. Moreover, this thesis also contributes with valuable software tool-sets that can be used and extended to perform further research.