Skip to main content

Advertisement

Log in

Monitoring energy hotspots in software

Energy profiling of software code

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Green IT has emerged as a discipline concerned with the optimization of software solutions with regards to their energy consumption. In this domain, most of the state-of-the-art solutions concentrate on coarse-grained approaches to monitor the energy consumption of a device or a process. In this paper, we report on a fine-grained runtime energy monitoring framework we developed to help developers to diagnose energy hotspots with a better accuracy. Concretely, our approach adopts a two-layer architecture including OS-level and process-level energy monitoring. OS-level energy monitoring estimates the energy consumption of processes according to different hardware devices (CPU, network card). Process-level energy monitoring focuses on Java-based applications and builds on OS-level energy monitoring to provide an estimation of energy consumption at the granularity of classes and methods. We argue that this per-method analysis of energy consumption provides better insights to the application in order to identify potential energy hotspots. In particular, our preliminary validation demonstrates that we can monitor energy hotspots of Jetty web servers and monitor their variations under stress scenarios.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

Notes

  1. http://www.eclipse.org/jetty.

  2. Complementary metal oxide semiconductor.

  3. http://linux.die.net/man/1/top.

  4. http://www.scala-lang.org/.

  5. http://akka.io/.

  6. ASM name is a reference to the asm keyword in C, and does not mean anything Kuleshov (2007).

  7. http://docs.oracle.com/javase/7/docs/api/java/net/SocketImpl.html.

  8. http://www.alciom.com/en/products/powerspy2.html.

  9. http://jmeter.apache.org.

  10. http://linux.die.net/man/1/stress.

  11. http://www.manpagez.com/man/1/iperf.

  12. http://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html.

  13. http://jiprof.sourceforge.net/.

  14. http://webtide.intalio.com/2013/04/async-rest-jetty-9/.

  15. http://kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html.

  16. http://linux.die.net/man/1/iostat.

  17. http://visualvm.java.net.

  18. http://jiprof.sourceforge.net.

  19. http://code.google.com/p/oktech-profiler.

References

  • Blackburn, S.M., Garner, R., Hoffman, C., Khan, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Phansalkar, A., Stefanović, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA ’06: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications, pp. 169–190. ACM Press, New York, NY (2006). doi:10.1145/1167473.1167488

  • Do, T., Rawshdeh, S., Shi, W.: pTop: a process-level power profiling tool. In: HotPower’09: Proceedings of the 2nd Workshop on Power Aware Computing and Systems. Big Sky, MT (2009)

  • Feeney, L., Nilsson, M.: Investigating the energy consumption of a wireless network interface in an ad hoc networking environment. In: INFOCOM’01: Proceesing of the Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies, vol. 3, pp. 1548–1557 (2001). doi:10.1109/INFCOM.2001.916651

  • Flinn, J., Satyanarayanan, M.: PowerScope: a tool for profiling the energy usage of mobile applications. In: WMCSA’99: Proceedings of the Second IEEE Workshop on Mobile Computer Systems and Applications, p. 2. IEEE Computer Society, Washington, DC (1999)

  • Gite, V.: How do I Find Out Linux CPU Utilization? (2014). http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html

  • Kansal, A., Zhao, F.: Fine-grained energy profiling for power-aware application design. SIGMETRICS Perform. Eval. Rev. 36(2), 26–31 (2008). doi:10.1145/1453175.1453180

    Article  Google Scholar 

  • Kuleshov, E.: Using the ASM framework to implement common java bytecode transformation patterns. In: AOSD’07: Proceedings of the 6th International Conference on Aspect-Oriented Software Development. Vancouver, Canada (2007)

  • McIntire, D., Stathopoulos, T., Kaiser, W.: ETOP: sensor network application energy profiling on the LEAP2 platform. In: IPSN’07: Proceedings of the 6th international conference on Information processing in sensor networks, pp. 576–577. ACM, New York, (2007). doi:10.1145/1236360.1236448

  • Noureddine, A., Bourdon, A., Rouvoy, R., Seinturier, L.: A preliminary study of the impact of software engineering on greenit. In: 1st International Workshop on Green and Sustainable Software (GREENS’12), pp. 21–27 (2012). doi:10.1109/GREENS.2012.6224251

  • Noureddine, A., Bourdon, A., Rouvoy, R., Seinturier, L.: Runtime monitoring of software energy hotspots. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, ASE 2012, pp. 160–169. ACM, New York, (2012). doi:10.1145/2351676.2351699

  • Noureddine, A., Rouvoy, R., Seinturier, L.: Unit testing of energy consumption of software libraries. In: Proceedings of the 29th Annual ACM Symposium on Applied Computing, SAC 2014. ACM, New York, (2014)

  • Pouwelse, J., Langendoen, K., Sips, H.: Dynamic voltage scaling on a low-power microprocessor. In: MMSA’00: Proceesings of the 2nd International Symposium on Mobile Multimedia Systems and Applications, pp. 157–164. Delft (2000). URL http://www.pds.ewi.tudelft.nl/~koen/papers/mmsa.ps.gz

  • Rivest, R.L., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21(2), 120–126 (1978). doi:10.1145/359340.359342

    Article  MathSciNet  MATH  Google Scholar 

  • Rivoire, S., Shah, M.A., Ranganathan, P., Kozyrakis, C.: JouleSort: a balanced energy-efficiency benchmark. In: SIGMOD’07: Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data, pp. 365–376. ACM, New York, (2007). doi:10.1145/1247480.1247522

  • Ruhl, C., Appleby, P., Fennema, J., Naumov, A., Schaffer, M.: Economic development and the demand for energy: a historical perspective on the next 20 years. Energy Policy 50(0), 109–116 (2012). doi:10.1016/j.enpol.2012.07.039. URL http://www.sciencedirect.com/science/article/pii/S0301421512006313

  • Seo, C., Malek, S., Medvidovic, N.: An energy consumption framework for distributed java-based systems. In: ASE’07: Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering, pp. 421–424. ACM, New York, (2007). doi:10.1145/1321631.1321699

  • The Green Challenge for USI 2010. http://sites.google.com/a/octo.com/green-challenge

  • Venners, B.: Inside the Java Virtual Machine, 1st edn. McGraw-Hill Professional, New York (1999)

    MATH  Google Scholar 

  • Vereecken, W., Van Heddeghem, W., Colle, D., Pickavet, M., Demeester, P.: Overall ict footprint and green communication technologies. In: ISCCSP’10: Proceedings of the 4th International Symposium on Communications, Control and Signal Processing, pp. 1–6 (2010). doi:10.1109/ISCCSP.2010.5463327

  • Webb, M.: SMART 2020: enabling the low carbon economy in the information age, a report by The Climate Group on behalf of the Global eSustainability Initiative (GeSI). GeSI (2008)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adel Noureddine.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Noureddine, A., Rouvoy, R. & Seinturier, L. Monitoring energy hotspots in software. Autom Softw Eng 22, 291–332 (2015). https://doi.org/10.1007/s10515-014-0171-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-014-0171-1

Keywords

Navigation