Abstract
Approximate computing is a new paradigm for energy efficient design, based on the idea of designing digital systems that trade off computational accuracy for energy consumption. The paradigm can be applied to different units (i.e. internal units of the CPU, floating point coprocessors, memories). Considering the memory subsystem, approximate memories are physical memories where circuit-level or architecture-level techniques are implemented in order to reduce energy at the expense of errors occurring in bit cells. Supporting approximate memories at operating system level is required for managing them efficiently and for allowing user level applications to use it directly, but its implementation is subject to specific requirements and constraints, sometimes architecture dependent. In this paper we describe the introduction of approximate memory support on ARM architectures, which are widely adopted in low power embedded systems. While Linux support for approximate memory has already been introduced for main allocators, porting it to ARM architectures required the introduction of its specific support in the Linux early allocators, that are a fundamental function of the Linux kernel startup phase, before instantiation of the main allocators.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Liu, S., Pattabiraman, K., Moscibroda, T., Zorn, B.G.: Flikker: saving dram refresh-power through critical data partitioning. ACM SIGPLAN Not. 47(4), 213–224 (2012)
Lucas, J., Alvarez-Mesa, M., Andersch, M., Juurlink, B.: Sparkk: Quality-scalable approximate storage in dram. The memory forum, pp. 1–9 (2014)
Raha, A., Sutar, S., Jayakumar, H., Raghunathan, V.: Quality configurable approximate dram. IEEE Trans. Comput. 66(7), 1172–1187 (2017)
Frustaci, F., Blaauw, D., Sylvester, D., Alioto, M.: Approximate srams with dynamic energy-quality management. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 24(6), 2128–2141 (2016)
Nguyen, D.T., Kim, H., Lee, H.-J., Chang, I.-J.: An approximate memory architecture for a reduction of refresh power consumption in deep learning applications. In: IEEE International Symposium on Circuits and Systems (ISCAS), IEEE, pp. 1–5 (2018)
Stazi, G., Adani, L., Mastrandrea, A., Olivieri, M., Menichelli, F.: Impact of approximate memory data allocation on a h.264 software video encoder. In: Workshop on Approximate and Transprecision Computing on Emerging Technologies ATCET2018 (2018)
Stazi, G., Menichelli, F., Mastrandrea, A., Olivieri, M.: Introducing approximate memory support in linux kernel. In: 2017 13th Conference on Ph. D. Research in Microelectronics and Electronics (PRIME), pp. 97–100. IEEE (2017)
Menichelli, F., Stazi, G., Mastrandrea, A., Olivieri, M.: An emulator for approximate memory platforms based on qemu. In: International Conference on Applications in Electronics Pervading Industry, Environment and Society, pp. 153–159. Springer (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Stazi, G., Mastrandrea, A., Olivieri, M., Menichelli, F. (2019). Approximate Memory Support for Linux Early Allocators in ARM Architectures. In: Saponara, S., De Gloria, A. (eds) Applications in Electronics Pervading Industry, Environment and Society. ApplePies 2018. Lecture Notes in Electrical Engineering, vol 573. Springer, Cham. https://doi.org/10.1007/978-3-030-11973-7_51
Download citation
DOI: https://doi.org/10.1007/978-3-030-11973-7_51
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-11972-0
Online ISBN: 978-3-030-11973-7
eBook Packages: EngineeringEngineering (R0)