Low-Cost Hardware Infrastructure for Runtime Thread Level Energy Accounting
The ever-growing need for energy efficient computation requires adequate support for energy-aware thread scheduling that offers insight into a systems behavior for improved application energy/performance optimizations. Runtime accurate monitoring of energy consumed by every component of a multi-core embedded system is an important feature to be considered for future designs. Although, important steps have been made in this direction, the problem of distributing energy consumption among threads executed on different cores for shared components remains an ongoing struggle. We aim at designing a generic low-cost and energy efficient hardware infrastructure which supports thread level energy accounting of hardware components in a multi-core system. The proposed infrastructure provides upper software layers with per thread and per component energy accounting API, similar with performance profiling functions. Implementation results indicate that the proposed solution adds around 10 % resource overhead to the monitored system. Regarding the power estimates, the one derived by our solution achieves a correlation degree of more than 95 % with the ones obtained from physical power measurements.
KeywordsEnergy accounting Energy interrupt Per-thread energy accounting Runtime monitoring Multi-core system on chip
This work has been supported by the project CHIST-ERA/1/01.10.2012 – “GEMSCLAIM: GreenEr Mobile Systems by Cross LAyer Integrated energy Management”.
- 1.Weaver, V.M., Johnson, M., Kasichayanula, K., Ralph, J., Luszczek, P., Terpstra, D., Moore, S.: Measuring energy and power with PAPI. In: Proceedings of 41st International Conference on Parallel Processing Workshops (ICPPW 2012), September 2012Google Scholar
- 2.Bouajila, A., Lakhtel, A., Zeppenfeld, J., Stechele, W., Herkersdorf, A.: A low-overhead monitoring ring interconnect for MPSoC parameter optimization. In: Proceedings of IEEE International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS 2012), Tallinn, Estonia, April 2012Google Scholar
- 3.Madduri, S., Vadlamani, R., Burleson, W., Tessier, R.: A monitor interconnect and support subsystem for multicore processors. In: Proceedings of Design, Automation & Test Europe (DATE 2009) Nice, France, April 2009Google Scholar
- 6.Lui, Q., Moreto, M., Jimenez, V., Abella, J., Cazorla, F.J., Valero, M.: Hardware support for accurate per-task energy metering in multicore systems. ACM Trans. Archit. Code Optim. 10(4), 34 (2013)Google Scholar
- 8.Molka, D., Hackenberg, D., Schone, R., Millier, M.S.: Characterizing the energy consumption of data transfers and arithmetic operations on x86-64 processors. In: Proceedings of International Green Computing Conference, GreenComp2010, Chicago, USA, August 2010Google Scholar
- 9.Zeng, H., Ellis, C.S., Lebeck, A.R., Vahdat, A.: ECOSystem: managing energy as a first class operating system resource. In: Proceedings of the 10th International Conference On Architectural Support for Programming Languages and Operating Systems (ASPLOS X), pp.123–132. ACM, New York, NY, USA (2002)Google Scholar
- 10.Snowdon, D.C., Le Sueur, E., Petters, S.M., Heiser, G.: Koala: a platform for OS-level power management. In: Proceedings of the 4th ACM European Conference on Computer Systems (EuroSys 2009), New York, USA (2009)Google Scholar
- 11.Roy, A., Rumble, S.M., Stutsman, R., Levis, P., Mazières, D., Zeldovich, N.: Energy management in mobile devices with the cinder OS. In: Proceedings of Conference on Computer Systems (EuroSys), New York, USA (2011)Google Scholar
- 12.OpenCores, WISHBONE System-on-Chip (SoC) Interconnection (2010)Google Scholar
- 13.ARM, AMBA Open Specifications (2003)Google Scholar
- 14.Xilinx Inc., MicroBlaze Processor Reference Guide, UG984 (v2014.1) (2014)Google Scholar
- 15.WCET benchmark: http://www.mrtc.mdh.se/projects/wcet/benchmarks.html