Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Removing the Memory Limitations of Sensor Networks with Flash-Based Virtual Memory

Andreas Lachenmann, Pedro José Marrón, Matthias Gauger, Daniel Minder, Olga Saukh, and Kurt Rothermel

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.

Details

Publication typeInproceedings
Published inProc. of the European Conference on Computer Systems (EuroSys)
URLhttp://dx.doi.org/10.1145/1272996.1273012
Pages131–144
PublisherAssociation for Computing Machinery, Inc.
> Publications > Removing the Memory Limitations of Sensor Networks with Flash-Based Virtual Memory