Figure 6: Unrolling loops.
Compare to the Figure 5b, in this case, we observe
that at the beginning of the curve, the CPU consumes
more power during some time than code motion and
then becomes similar. But, in unrolling loops case, the
total execution elapsed time is the half of the code
motion case. And at the end of the curve in Figure 6,
the CPU power is less important than the curve in
code motion (Figure 5b). Moreover, in this test, the
difference between CPU and DRAM power
consumption is less important than code motion case.
Thus, the results reveal that the unrolling loops
method is quicker and consumes less CPU power than
the code motion method.
5 CONCLUSIONS
A modelization of the CPU and the DRAM has been
made in order to understand the behavior and the
functionality of each component. Thanks to this
model, several mathematical formulas have been
established to estimate the power consumption due to
each part of each component. Thus, based on this
methodology, a tool that allow to measure the power
consumed by CPU and DRAM has been implemented
and named TEEC (Tool to Estimate Energy
Consumption). This tool gives accurate and efficient
information about CPU and DRAM power
consumption, has been used to perform some
experiments. The goal of these tests was to observe
the impact of the code source of an application in the
power consumption. These experiments have
provided several results.
When the code source is optimized, it is possible
to reduce the power consumption due to CPU. But,
the DRAM power consumption remains quite
constant.
Sometimes, it is possible to save energy with an
optimization of the code by reducing execution time
of an application.
In several cases, after some time of execution,
CPU power consumption remains the main energy
consumer. However, the DRAM power consumption
can’t be neglected.
Moreover, some code optimizations don’t make
any real impact on the CPU and DRAM power
consumption.
The contribution to power measurement literature
will continue by bringing improvement to the
estimation of the consumption of other components;
such as, disk and network in order to observe their
impact. It will allow us to have a higher accuracy in
estimating the energy consumption of a program.
The proposed tool TEEC is expected to be
improved, and it is planned to dynamically
identifying locations where code consume the largest
power. This will allow developers to optimize their
own codes to obtain green and sustainable software.
REFERENCES
Gartner, Green IT: The New Industry Shock Wave,
Gartner, Presentation at Symposium/ITXPO
Conference, 2007.
Power Supply Calculator, February 2014. URL:
http://powersupplycalculator.net/.
eXtreme Power Supply Calculator, January 2006. URL:
http://outervision.com/power-supply-calculator.
Computer Power Consumption Calculator. URL:
http://www.matthewb.id.au/power/computer_power_c
onsumption_calculator.html.
Kern, E., Dick, M., Naumann, S., Guldner, A., Johann, T.,
2013. Green software and green software engineering–
definitions, measurements, and quality aspects. ICT4S
2013: Proceedings of the First International
Conference on Information and Communication
Technologies for Sustainability.
Joseph, R., Brooks, D., Martonosi, M., 2001. Live, runtime
power measurements as a foundation for evaluating
power/performance tradeoffs. Workshop on Complexity
Effective Design WCED, held in conjunction with
ISCA-28.
Kamil, S., Shalf, J., Strohmaier, E., 2008. Power efficiency
in high performance computing. IEEE International
Symposium on Parallel and Distributed Processing,
IPDPS 2008.
Kansal, A., Zhao, F., Liu, J., Kothari, N., Bhattacharya, A.,
2010. Virtual Machine Power Metering and
Provisioning. ACM Symposium on Cloud Computing
(SOCC).
Wang, S., Chen, H., Shi, W., 2011. SPAN: A software
power analyzer for multicore computer systems.
Sustainable Computing: Informatics and Systems,
Volume 1, Issue 1.
Noureddine, A., Bourdon, A., Rouvoy, R., Seinturier, L.,
2012. A Preliminary Study of the Impact of Software
Engineering on GreenIT. First International Workshop