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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
LEAP (Low-Power Energy Aware Processing) is a name borrowed from McIntire [6].
- 2.
- 3.
- 4.
References
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)
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
Dunkels, A., Osterlind, F., Tsiftes, N., He, Z.: Software-based on-line energy estimation for sensor nodes. In: EmNets, pp. 28–32. ACM (2007)
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)
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)
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)
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)
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)
Domingues Neto, J.L.: User-level online offloading framework. Master’s thesis, UFMG (2016)
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)
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)
Pinto, G., Castor, F., Liu, Y.D.: Understanding energy behaviors of thread management constructs. In: OOPSLA, pp. 345–360. ACM (2014)
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)
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)
Sartori, S., Kumar, R.: Compiling for energy efficiency on timing speculative processors. In: DAC, pp. 1301–1308. ACM (2012)
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)
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)
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)
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)
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)
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)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)