Improving power consumption and performance of error tolerant applications is the target of the design paradigm known as approximate computing. The memory subsystem is one of the units of a computational architecture where approximations can be introduced, leveraging on the resilience of an application to maintain an acceptable output quality even if its input data are subject to imprecision and errors.This paper proposes and implements the management, in the Linux kernel, of multiple approximate memory banks. Applications can then allocate approximate memory for their data structures selecting between different levels of approximation, depending on the requirements on output quality. This allows to design an architecture where approximate physical memory, instead of being composed of a unit intercepting a single point in the energy-quality tradeoff curve, can be split into multiple banks trading off levels of approximation and energy savings.We finally show a case study in the results, where we explore the allocation of different data structures of a signal processing application, depending on sensitivity to errors and desired output quality.
Quality aware approximate memory in RISC-V Linux Kernel / Stazi, G.; Mastrandrea, A.; Olivieri, M.; Menichelli, F.. - (2019), pp. 177-180. (Intervento presentato al convegno 15th Conference on Ph.D. Research in Microelectronics and Electronics, PRIME 2019 tenutosi a Lausanne, Switzerald) [10.1109/PRIME.2019.8787745].
Quality aware approximate memory in RISC-V Linux Kernel
Stazi G.
Primo
;Mastrandrea A.Secondo
;Olivieri M.Penultimo
;Menichelli F.
Ultimo
2019
Abstract
Improving power consumption and performance of error tolerant applications is the target of the design paradigm known as approximate computing. The memory subsystem is one of the units of a computational architecture where approximations can be introduced, leveraging on the resilience of an application to maintain an acceptable output quality even if its input data are subject to imprecision and errors.This paper proposes and implements the management, in the Linux kernel, of multiple approximate memory banks. Applications can then allocate approximate memory for their data structures selecting between different levels of approximation, depending on the requirements on output quality. This allows to design an architecture where approximate physical memory, instead of being composed of a unit intercepting a single point in the energy-quality tradeoff curve, can be split into multiple banks trading off levels of approximation and energy savings.We finally show a case study in the results, where we explore the allocation of different data structures of a signal processing application, depending on sensitivity to errors and desired output quality.File | Dimensione | Formato | |
---|---|---|---|
Stazi_Quality_post-print_2019.pdf
accesso aperto
Tipologia:
Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza:
Tutti i diritti riservati (All rights reserved)
Dimensione
109.68 kB
Formato
Adobe PDF
|
109.68 kB | Adobe PDF | |
Stazi_Quality-aware_2019.pdf
solo gestori archivio
Tipologia:
Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza:
Tutti i diritti riservati (All rights reserved)
Dimensione
1.02 MB
Formato
Adobe PDF
|
1.02 MB | Adobe PDF | Contatta l'autore |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.