AxNUMA: Approximate Computing in the Linux Kernel via NUMA

  • Jorge Henrique dos Santos UNICAMP
  • Isaías Felzmann UNICAMP

Resumo


Approximate Computing (AxC) reduces energy and performance overhead for error-tolerant applications. It achieves these efficiency gains by relaxing accuracy requirements. However, its adoption remains constrained by the lack of standard OS support that provides a reliable execution environment. We introduce AxNUMA, a Linux kernel mechanism that abstracts approximate memory into CPU-less NUMA nodes. AxNUMA enables management via standard Linux interfaces without risking kernel stability. Our evaluation using PyTorch ExecuTorch with TinyBERT demonstrates that offloading model weights to approximate NUMA nodes yields reliable system operation and robust inference performance.

Referências

Balcer, P. and Andrejczuk, G. Memory tiering (part 1).

Calciu, I., Sen, S., Balakrishnan, M., and Aguilera, M. K. (2017). Black-box concurrent data structures for numa architectures. ACM SIGPLAN Notices, 52(4):207–221.

Chen, Y., Yang, X., Qiao, F., Han, J., Wei, Q., and Yang, H. (2016). A multi-accuracy-level approximate memory architecture based on data significance analysis. In 2016 IEEE Computer Society Annual Symposium on VLSI (ISVLSI), pages 385–390. IEEE.

Dalloo, A. M., Humaidi, A. J., Al Mhdawi, A. K., and Al-Raweshidy, H. (2024). Approximate computing: Concepts, architectures, challenges, applications, and future directions. IEEE Access.

ExecuTorch Contributors (2024). Executorch: Pytorch’s on-device ai stack. [link].

Fabrício Filho, J., Felzmann, I. B., Azevedo, R., and Wanner, L. F. (2020). Axram: A lightweight implicit interface for approximate data access. Future Generation Computer Systems, 113:556–570.

Felzmann, I., Fabrício Filho, J., and Wanner, L. (2021). Axpike: instruction-level injection and evaluation of approximate computing. In 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE), pages 491–494. IEEE.

Gao, Z., Deng, J., Reviriego, P., Liu, S., and Lombardi, F. (2024). Reducing the energy dissipation of large language models (llms) with approximate memories. In 2024 IEEE International Symposium on Circuits and Systems (ISCAS), pages 1–5.

Gokulakrishnan, S. (2022). Bert-tiny-emotion-intent. [link].

Jamil, H., Chung, J., Bicer, T., Kosar, T., and Kettimuthu, R. (2023). Throughput optimization with a numa-aware runtime system for efficient scientific data streaming. In Proceedings of the SC’23 Workshops of the International Conference on High Performance Computing, Network, Storage, and Analysis, pages 795–805.

Jiao, X., Yin, Y., Shang, L., Jiang, X., Chen, X., Li, L., Wang, F., and Liu, Q. (2020). Tinybert: Distilling bert for natural language understanding. In Findings of the association for computational linguistics: EMNLP 2020, pages 4163–4174.

Khandual, A. (2017). Hierarchical numa design.

Lameter, C. (2013). Numa (non-uniform memory access): An overview: Numa becomes more common because memory controllers get close to execution units on microprocessors. Queue, 11(7):40–51.

Linux Kernel Organization. Numa binding description. [link]. Accessed: 2025-03-21.

Linux man-pages project (2024). numa(7) — linux manual page. [link]. Accessed: 2025-03-21.

Liu, S., Pattabiraman, K., Moscibroda, T., and Zorn, B. G. (2011). Flikker: Saving dram refresh-power through critical data partitioning. In Proceedings of the sixteenth inter national conference on Architectural support for programming languages and operating systems, pages 213–224.

LWN.net (2019). Persistent memory as ram. [link]. Accessed: 2025-03-22.

LWN.net (2024a). Better support for locally-attached-memory tiering. [link]. Accessed: 2025-03-18.

LWN.net (2024b). Extending the mempolicy interface for heterogeneous systems. [link]. Accessed: 2025-03-22.

Nguyen, D. T., Kim, H., Lee, H.-J., and Chang, I.-J. (2018). An approximate memory architecture for a reduction of refresh power consumption in deep learning applications. In 2018 IEEE International Symposium on Circuits and Systems (ISCAS), pages 1–5. IEEE.

Raha, A., Sutar, S., Jayakumar, H., and Raghunathan, V. (2016). Quality configurable approximate dram. IEEE Transactions on Computers, 66(7):1172–1187.

Reviriego, P., Liu, S., Ertl, O., Niknia, F., and Lombardi, F. (2021). Computing the similarity estimate using approximate memory. IEEE Transactions on Emerging Topics in Computing, 10(3):1593–1604.

Saravia, E., Liu, H.-C. T., Huang, Y.-H., Wu, J., and Chen, Y.-S. (2018). CARER: Contextualized affect representations for emotion recognition. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 3687–3697, Brussels, Belgium. Association for Computational Linguistics.

Stazi, G., Mastrandrea, A., Olivieri, M., and Menichelli, F. (2019a). Full system emulation of approximate memory platforms with appropinquo. Journal of Low Power Electronics, 15(1):30–39.

Stazi, G., Mastrandrea, A., Olivieri, M., and Menichelli, F. (2019b). Quality aware approximate memory in risc-v linux kernel. In 2019 15th Conference on Ph. D Research in Microelectronics and Electronics (PRIME), pages 177–180. IEEE.

UEFI Forum (2021). Acpi specification - section 17: Numa architecture platforms. Technical report, Unified Extensible Firmware Interface (UEFI) Forum. Accessed: 2025-03-21.

Williams, S., Ionkov, L., and Lang, M. (2017). Numa distance for heterogeneous memory. In Proceedings of the Workshop on Memory Centric Programming for HPC, MCHPC’17, page 30–34, New York, NY, USA. Association for Computing Machinery.
Publicado
03/11/2026
SANTOS, Jorge Henrique dos; FELZMANN, Isaías. AxNUMA: Approximate Computing in the Linux Kernel via NUMA. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 27. , 2026, Natal/RN. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2026 . p. 233-246. DOI: https://doi.org/10.5753/sscad.2026.34924.