Article in Proceedings INPROC-2007-02

BibliographyLachenmann, Andreas; Marrón, Pedro José; Gauger, Matthias; Minder, Daniel; Saukh, Olga; Rothermel, Kurt: Removing the Memory Limitations of Sensor Networks with Flash-Based Virtual Memory.
In: Proceedings of the European Conference on Computer Systems (EuroSys 2007).
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology.
Also published in ACM SIGOPS Operating Systems Review, vol. 41(3), 2007, pp. 131-144, english.
EuroSys, March 2007.
Article in Proceedings (Conference Paper).
CR-SchemaD.4.2 (Storage Management)
D.3.4 (Programming Languages Processors)
Abstract

Virtual memory has been successfully used in different domains to extend the amount of memory available to applications. We have adapted this mechanism to sensor networks, where, traditionally, RAM is a severely constrained resource. In this paper we show that the overhead of virtual memory can be significantly reduced with compile-time optimizations to make it usable in practice, even with the resource limitations present in sensor networks.

Our approach, ViMem, creates an efficient memory layout based on variable access traces obtained from simulation tools. This layout is optimized to the memory access patterns of the application and to the specific properties of the sensor network hardware.

Our implementation is based on TinyOS. It includes a pre-compiler for nesC code that translates virtual memory accesses into calls of ViMem’s runtime component. ViMem uses flash memory as secondary storage. In order to evaluate our system we have modified nontrivial existing applications to make use of virtual memory. We show that its runtime overhead is small even for large data sizes.

Full text and
other links
PDF (788680 Bytes)
TinyCubus project
Copyright(c) 2007 ACM
Department(s)University of Stuttgart, Institute of Parallel and Distributed Systems, Distributed Systems
Project(s)TinyCubus
Entry dateDecember 19, 2006
   Publ. Department   Publ. Institute   Publ. Computer Science