Skip to main content

JetsonLeap: A Framework to Measure Energy-Aware Code Optimizations in Embedded and Heterogeneous Systems

  • Conference paper
  • First Online:
Book cover Programming Languages (SBLP 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9889))

Included in the following conference series:

Abstract

Energy-aware techniques are becoming a staple feature among compiler analyses and optimizations. However, the programming languages community still does not have access to cheap and precise technology to measure the power dissipated by a given program. This paper describes a solution to this problem. To this end, we introduce JetsonLeap, a framework that enables the design and test of energy-aware code transformations. JetsonLeap consists of an embedded hardware, in our case, the Nvidia Tegra TK1 System on a Chip Device, a circuit to control the flow of energy, of our own design, plus a library to instrument program parts. We can measure reliably the energy spent by 400.000 instructions, about half a millisecond of program execution. Our entire infra-structure – board, power meter and circuit – can be reproduced with about $500.00. To demonstrate the efficacy of our framework, we have used it to measure energy consumption of programs running on ARM cores, on the GPU, and on a remote server. Furthermore, we have studied the impact of OpenACC directives on the energy efficiency of high-performance applications.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    LEAP (Low-Power Energy Aware Processing) is a name borrowed from McIntire [6].

  2. 2.

    http://voron.ua/files/pdf/relay/JQC-3F(T73).pdf.

  3. 3.

    http://elinux.org/Jetson/GPIO.

  4. 4.

    http://www.ni.com/labview/pt/.

References

  1. Beloglazov, A., Abawajy, J., Buyya, R.: Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing. Future Gener. Comput. Syst. 28(5), 755–768 (2012)

    Article  Google Scholar 

  2. Demontiê, F., Cezar, J., Bigonha, M., Campos, F., Magno Quintão Pereira, F.: Automatic inference of loop complexity through polynomial interpolation. In: Pardo, A., Swierstra, S.D. (eds.) SBLP 2015. LNCS, vol. 9325, pp. 1–15. Springer, Heidelberg (2015). doi:10.1007/978-3-319-24012-1_1

    Chapter  Google Scholar 

  3. Dunkels, A., Osterlind, F., Tsiftes, N., He, Z.: Software-based on-line energy estimation for sensor nodes. In: EmNets, pp. 28–32. ACM (2007)

    Google Scholar 

  4. Ge, R., Feng, X., Song, S., Chang, H.-C., Li, D., Cameron, K.W.: Powerpack: energy profiling and analysis of high-performance systems and applications. IEEE Trans. Parallel Distrib. Syst. 21(5), 658–671 (2010)

    Article  Google Scholar 

  5. Hähnel, M., Döbel, B., Völp, M., Härtig, H.: Measuring energy consumption for short code paths using RAPL. SIGMETRICS Perform. Eval. Rev. 40(3), 13–17 (2012)

    Article  Google Scholar 

  6. McIntire, D., Ho, K., Yip, B., Singh, A., Wu, W., Kaiser, W.J.: The low power energy aware processing (LEAP) embedded networked sensor system. In: IPSN, pp. 449–457. ACM (2006)

    Google Scholar 

  7. McIntire, D., Stathopoulos, T., Reddy, S., Schmidt, T., Kaiser, W.J.: Energy-efficient sensing with the low power, energy aware processing (LEAP) architecture. ACM Trans. Embedded Comput. Syst. 11(2), 27 (2012)

    Article  Google Scholar 

  8. Nazaré, H., Maffra, I., Santos, W., Barbosa, L., Gonnord, L., Quintão Pereira, F.M.: Validation of memory accesses through symbolic analyses. In: OOPSLA, pp. 791–809. ACM (2014)

    Google Scholar 

  9. Domingues Neto, J.L.: User-level online offloading framework. Master’s thesis, UFMG (2016)

    Google Scholar 

  10. Domingues Neto, J.L., Macedo, D.F., Nogueira, J.M.S.: A location aware decision engine to offload mobile computation to the cloud. In: NOMS, pp. 831–838 (2016)

    Google Scholar 

  11. Peterson, P.A.H., Singh, D., Kaiser, W.J., Reiher, P.L.: Investigating energy and security trade-offs in the classroom with the Atom LEAP testbed. In: CSET, pp. 1–11. USENIX (2011)

    Google Scholar 

  12. Pinto, G., Castor, F., Liu, Y.D.: Understanding energy behaviors of thread management constructs. In: OOPSLA, pp. 345–360. ACM (2014)

    Google Scholar 

  13. Reyes, R., López-Rodríguez, I., Fumero, J.J., de Sande, F.: accULL: an OpenACC implementation with CUDA and OpenCL support. In: Kaklamanis, C., Papatheodorou, T., Spirakis, P.G. (eds.) Euro-Par 2012. LNCS, vol. 7484, pp. 871–882. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  14. Saputra, H., Kandemir, M., Vijaykrishnan, N., Irwin, M.J., Hu, J.S., Hsu, C-H., Kremer, U.: Energy-conscious compilation based on voltage scaling. In: SCOPES, pp. 2–11. ACM (2002)

    Google Scholar 

  15. Sartori, S., Kumar, R.: Compiling for energy efficiency on timing speculative processors. In: DAC, pp. 1301–1308. ACM (2012)

    Google Scholar 

  16. Silva, B.L.B., Guimarães Tavares, E.A., Martins Maciel, P.R., e Silva Nogueira, B.C., Oliveira, J., Lourenço Damaso, A.V., Rosa, N.S.: AMALGHMA -an environment for measuring execution time and energy consumption in embedded systems. In: SMC, pp. 3364–3369. IEEE (2014)

    Google Scholar 

  17. Steinke, S., Wehmeyer, L., Lee, B., Marwedel, P.: Assigning program and data objects to scratchpad for energy reduction. In: DATE, pp. 409–415. IEEE (2002)

    Google Scholar 

  18. Stokke, K.R., Stensland, H.K., Griwodz, C., Halvorsen, P.: Energy efficient video encoding using the tegra K1 mobile processor. In: MMSys, pp. 81–84. ACM (2015)

    Google Scholar 

  19. Valluri, M., John, L.K.: Is compiling for performance – compiling for power? In: Lee, G., Yew, P.-C. (eds.) Interaction between Compilers and Computer Architectures. The Springer International Series in Engineering and Computer Science, pp. 101–115. Springer, New York (2001)

    Chapter  Google Scholar 

  20. Vetro, A., Ardito, L., Procaccianti, G., Morisio, M.: Definition, implementation, validation of energy code smells: an exploratory study on an embedded system. In: ENERGY, pp. 34–39 (2013)

    Google Scholar 

  21. Weaver, V.M., Johnson, M., Kasichayanula, K., Ralph, J., Luszczek, P., Terpstra, D., Moore, S.: Measuring energy and power with papi. In: ICPPW, pp. 262–268. IEEE (2012)

    Google Scholar 

  22. Yuki, T., Rajopadhye, S.: Folklore confirmed: compiling for speed = compiling for energy. In: Caṣcaval, C., Montesinos-Ortego, P. (eds.) LCPC 2013. LNCS, vol. 8664, pp. 169–184. Springer, Heidelberg (2014)

    Google Scholar 

Download references

Acknowledgement

This project is sponsored by LG Electronics Brazil. From March 2015 to February 2016, Tarsila Bessa was the recipient of a scholarship sponsored by Intel Semiconductors. Currently, Tarsila is sponsored by the Big-Sea joint cooperation between Brazil and the European Union. Fernando Pereira is supported by FAPEMIG, CNPq and CAPES.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fernando Magno Quintão Pereira .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Bessa, T., Quintão, P., Frank, M., Magno Quintão Pereira, F. (2016). JetsonLeap: A Framework to Measure Energy-Aware Code Optimizations in Embedded and Heterogeneous Systems. In: Castor, F., Liu, Y. (eds) Programming Languages. SBLP 2016. Lecture Notes in Computer Science(), vol 9889. Springer, Cham. https://doi.org/10.1007/978-3-319-45279-1_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-45279-1_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-45278-4

  • Online ISBN: 978-3-319-45279-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics