Context-Aware On-Device Approximate Computing (CODA)

This research is funded by the Slovenian National Research Agency (ARRS) project number J2-3047 [SICRIS]

ARRS logo

Project team:


Processing hardware improvements and denser hardware packing have been staple methods for satisfying our computing appetite in the last decade. Yet, recently it became obvious than neither Moore's law, stating that the number of transistors on a microchip doubles every two years, nor Dennard scaling, a law stating that as transistors get smaller the power use stays proportional to the area, hold any more. Consequently, further processing hardware packing would require both more space and more power (i.e. larger batteries), something which small form-factor portable mobile devices cannot afford. Instead, we propose the following approach termed Approximate Mobile Computing (AMC) to reduce the energy needs of mobile devices.

In different contextual situations (1), either because of a user’s needs (e.g. a need for the battery to last till the end of the day), or the inherent nature of the to-be-processed data (e.g. noisy sensor readings), we can relax the current constraints requiring perfectly accurate computation (2) and use approximation (3) to deliver the result that still satisfies a user’s needs, yet consumes the least amount of resources.

While in our previous project we examined the potential of approximate mobile computing (AMC) and implemented basic techniques enabling approximate execution on mobiles, in this project we focus on:

The project will deliver a full-fledged pipeline for creating context-aware approximate mobile computing applications, and will include: a Keras interface allowing a developer to define approximable parts of the code, a profiler calculating the most appropriate approximations for a required result accuracy level, an experience sampling and context sensing library for learning a user's context-dependent needs, a control system for real-time approximation adjustment according to varying needs, and a client-server distribution system for preparing and managing CODA apps. Finally, we will develop a backcountry skiing safety app showcasing context-aware approximation adaptation and resource savings enabled by CODA.


Code and data: