Measuring green operation
From Green software
When measuring the greenness of software during operation, only energy consumption is considered because it is the only environmental impact the execution of software has.
The following tools measure the energy consumption of software.
SimplePower is an energy estimation tool based on transition-sensitive energy models. It assumes a five-stage pipelined data path and consists of the fetch stage, the instruction decode stage, the execution stage, the memory access stage and the write-back stage. For every functional unit a switch capacitance table is created that describes the amount of energy used to process a type of input. After that, the estimated type of output is used as the new input for the evaluation of the next cycle. This lookup mechanism is very rough but also very fast. In the paper describing SimplePower the authors compare their own tool with a commercial tool HSPICE. All test results were within 15% of the HSPICE results, but performance differed from 556 seconds for HSPICE to 0.1 second for SimplePower. Any inaccuracy in the HSPICE tool may hide the higher or even lower accuracy of SimplePower.
SimplePower uses a workload, and estimates its output in joules, or watt-hours.
Wattch is an architecture level tool used to show compiler writers and software architects effects of high level design decisions, by simulating an application at the granularity of a cycle. As the name suggests, it uses watts to express its result. The framework uses parameterized power models of common structures present in superscalar microprocessors. When compared to a tool like JouleTrack, Wattch does the same thing but is according to its authors a thousand times faster at the cost of less accuracy. They estimate their findings within 10% of industry tools. This trade-off of accuracy for speed was made to make sure a lot of design decisions can be analyzed in a short time span. For a paper on Wattch: here
SoftWatt is an energy profiling tool. It runs software on a custom operating system, called SimOS, to later analyze the kernel logs for power estimation. This tool is especially useful for detecting what parts of the software consume the most energy. This can be very helpful in trying to increase a piece of software‘s energy efficiency. The granularity of SoftWatt is quite large, and energy estimations are of such a rough nature that even the authors only discuss its use for creating heat maps of software. The heat map is calculated by means of proxies; SoftWatt shows how many cycles are used, what kind of hardware is used in those cycles and in what power-state the hardware is during those cycles to come with an estimation expressed in watts.
For a paper on SoftWatt: here.
SoftWatt appears not be available for download.
Joulemeter is a tool of which only an alpha version has been released for free download. Technically it does the same as SoftWatt, but at a finer granularity. It has been created by researchers of Microsoft, and uses all the newest techniques for kernel log analysis that Windows 7 offers. This tool will mostly be used for energy profiling, and less for measuring/estimation energy consumption. Once the energy consumption characteristics of specific hardware are better known, this tool might prove very good at energy consumption predictions.
Joulemeter consists of three main components: a workload manager, event logger and energy profiler. The workload manager manages the event tracing and runs the program with some data workload. It uses Event Tracing for Windows (ETW) for kernel level tracing system for generating events that can be logged by the event logger. The event logger uses Xperf for this. The energy profiler parses the final log into human readable text and graphics.
Joulemeter could, given a workload, provide the output in watt. When used over a period in time instead of a predetermined workload, it provides output in joules or watt-hours. It is unknown when a beta or full version is released.
For an alpha version of joulemeter: here
Power from renewable sources (i.e. wind or solar energy) has a much smaller impact than energy from non-renewable sources (i.e. coal or nuclear plants). This is the arguments with which Scandinavian countries, where 99% of the energy comes from renewable sources, try to persuade companies to build data centers in those countries . When considering energy consumption as a an indicator for greenness (or environmental impact) note that the source of energy is not included in these metrics.