Abstract
Random access memory (RAM) is tightly constrained in the least expensive, lowest-power embedded systems such as sensor network nodes and portable consumer electronics. The most widely used sensor network nodes have only 4 to 10KB of RAM and do not contain memory management units (MMUs). It is difficult to implement complex applications under such tight memory constraints. Nonetheless, price and power-consumption constraints make it unlikely that increases in RAM in these systems will keep pace with the increasing memory requirements of applications.
We propose the use of automated compile-time and runtime techniques to increase the amount of usable memory in MMU-less embedded systems. The proposed techniques do not increase hardware cost, and require few or no changes to existing applications. We have developed runtime library routines and compiler transformations to control and optimize the automatic migration of application data between compressed and uncompressed memory regions, as well as a fast compression algorithm well suited to this application. These techniques were experimentally evaluated on Crossbow TelosB sensor network nodes running a number of data-collection and signal-processing applications. Our results indicate that available memory can be increased by up to 50% with less than 10% performance degradation for most benchmarks.
- Abrach, H., Bhatti, S., Carlson, J., Dai, H., Rose, J., Sheth, A., Shucker, B., and Han, R. 2003. MANTIS: system support for MultimodAl NeTworks of in-situ sensors. In Proceedings of the International Workshop on Wireless Sensor Networks and Applications. ACM, New York, 50--59. Google Scholar
Digital Library
- Banerjee, U. 1993. Loop Transformations for Restructuring Compilers: The Foundations. Kluwer Academic Publishers, Boston, MA. Google Scholar
Digital Library
- Biswas, S., Simpson, M., and Barua, R. 2004. Memory overflow protection for embedded systems using runtime checks, reuse and compression. In Proceedings of the International Conference on Compilers, Architecture & Synthesis for Embedded Systems (CASES'04). ACM, New York, 280--291. Google Scholar
Digital Library
- Choudhuri, S. and Givargis, T. 2005. Software virtual memory management for MU-less embedded systems. Tech. rep., Center for Embedded Computer Systems, University of California, Irvine.Google Scholar
- Cooprider, N. and Regehr, J. 2007. Online compression for on-chip RAM. In Proceedings of the Programming Languages Design and Implementation. ACM, New York. Google Scholar
Digital Library
- Douglis, F. 1993. The compression cache: Using online compression to extend physical memory. In Proceedings of the USENIX Conference. 519--529.Google Scholar
- Dowding, C. H. and McKenna, L. M. 2005. Crack response to long-term and environmental and blast vibration effects. J. Geotech. Geoenviron. Eng. 131, 9, 1151--1161.Google Scholar
Cross Ref
- Engelson, V., Fritzson, D., and Fritzson, P. 2000. Lossless compression of high-volume numerical data from simulations. In Proceedings of the Data Compression Conference. IEEE, Los Alamitos, CA, 574. Google Scholar
Digital Library
- Franke, B. and O'Boyle, M. 2001. Compiler transformation of pointers to explicit array accesses in DSP applications. In Proceedings of the International Conference on Compiler Construction. Springer, Berlin, Germany, 69--85. Google Scholar
Digital Library
- Ganesan, P., Venugopalan, R., Peddabachagari, P., Dean, A., Mueller, F., and Sichitiu, M. 2003. Analyzing and modeling encryption overhead for sensor network nodes. In Proceedings of the International Conference on Wireless Sensor Networks and Applications. ACM, New York, 151--159. Google Scholar
Digital Library
- Gay, D., Levis, P., and Culler, D. 2005. Software design patterns for TinyOS. In Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems. ACM, New York, 40--49. Google Scholar
Digital Library
- Gay, D., Levis, P., Culler, D., and Brewer, E. 2003. nesC 1.1 language reference manual. http://nescc.sourceforge.net/papers/nesc-ref.pdf.Google Scholar
- Gehrke, J. and Madden, S. 2004. Query processing in sensor networks. Pervasive Comput. 3, 1, 46--55. Google Scholar
Digital Library
- Guestrin, C., Bodi, P., Thibau, R., Paski, M., and Madde, S. 2004. Distributed regression: an efficient framework for modeling sensor network data. In Proceedings of the International Symposium on Information Processing in Sensor Networks. ACM, New York, 1--10. Google Scholar
Digital Library
- Hartung, C., Han, R., Seielstad, C., and Holbrook, S. 2006. FireWxNet: a multi-tiered portable wireless system for monitoring weather conditions in wildland fire environments. In Proceedings of the International Conference on Mobile Systems, Applications, and Services. ACM, New York, 28--41. Google Scholar
Digital Library
- Hellerstein, J. M. and Wang, W. 2004. Optimization of in-network data reduction. In Proceedings of the International Workshop on Data Management for Sensor Networks. ACM, New York, 40--47. Google Scholar
Digital Library
- Karlof, C. and Wagner, D. 2003. Secure routing in wireless sensor networks: attacks and countermeasures. Elsevier's AdHoc Networks J. 1, 2--3, 293--315.Google Scholar
Cross Ref
- Lattner, C. and Adve, V. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization. ACM, New York, 75--86. Google Scholar
Digital Library
- Lekatsas, H., Henkel, J., and Wolf, W. 2000. Code compression for low power embedded system design. In Proceedings of the Design Automation Conference. IEEE, Los Alamitos, CA, 294--299. Google Scholar
Digital Library
- Li, D., Wong, K., Hu, Y., and Sayeed, A. 2002. Detection, classification, and tracking of targets. Signal Process. Mag. 19, 2, 17--29.Google Scholar
Cross Ref
- Madden, S., Franklin, M., Hellerstein, J., and Hong, W. 2002. TAG: a tiny aggregation service for ad-hoc sensor networks. In Proceedings of the Symposium on Operating Systems Design and Implementation. ACM, New York, 131--146. Google Scholar
Digital Library
- Mckinley, K. S., Carr, S., and wen Tseng, C. 1996. Improving data locality with loop transformations. ACM Trans. Program. Lang. Syst. 424--453. Google Scholar
Digital Library
- MEMMU. Memory expansion on embedded systems without MMUs. http://robertdick.org/tools/html.Google Scholar
- Muchnick, S. S. 1997. Advanced Compiler Design Implementation. Morgan Kaufmann Publishers, St. Louis, MO. Google Scholar
Digital Library
- Nath, S., Gibbons, P. B., Seshan, S., and Anderson, Z. R. 2004. Synopsis diffusion for robust aggregation in sensor networks. In Proceedings of the International Conference on Embedded Networked Sensor Systems. ACM, New York, 250--262. Google Scholar
Digital Library
- Oberhumer, M. F. LZO real-time data compression library. http://www.oberhumer.com/opensource/lzo.Google Scholar
- Pereira, C., Gupta, S., Niyogi, K., Lazaridis, I., Mehrotra, S., and Gupta, R. 2003. Energy efficient communication for reliability and quality aware sensor networks. Tech. rep., University of California at Irvine.Google Scholar
- Polastre, J., Szewczyk, R., and Culler, D. 2005. Telos: enabling ultra-low power wireless research. In Proceedings of the International Symposium on Information Processing in Sensor Networks. ACM, New York. Google Scholar
Digital Library
- Polastre, J., Szewczyk, R., Mainwaring, A., Culler, D., and Anderson, J. 2004. Analysis of wireless sensor networks for habitat monitoring. In Proceedings of the Wireless Sensor Networks Symposium. ACM, New York, 399--423. Google Scholar
Digital Library
- Pottie, G. J. and Kaiser, W. J. 2000. Wireless integrated network sensors. Comm. ACM 43, 5, 51--58. Google Scholar
Digital Library
- Pradhan, S. S., Kusuma, J., and Ramchandran, K. 2002. Distributed compression in a dense microsensor network. IEEE Signal Process. Mag. 19, 2, 51--60.Google Scholar
Cross Ref
- Rizzo, L. 1997. A very fast algorithm for RAM compression. Operat. Syst. Rev. 31, 2, 36--45. Google Scholar
Digital Library
- Simpson, M., Middha, B., and Barua, R. 2005. Segment protection for embedded systems using runtime checks. In Proceedings of the International Conference on Compilers, Architecture & Synthesis for Embedded Systems. ACM, New York, 25--27. Google Scholar
Digital Library
- Szewczyk, R., Polastre, J., Mainwaring, A., and Culler, D. 2004. Lessons from a sensor network expedition. In Proceedings of the 1st European Workshop on Sensor Networks. Springer, Berlin, Germany.Google Scholar
- Tarjan, D., Thoziyoor, S., and Jouppi, N. P. 2006. CACTI 4.0. Tech. rep., HP Laboratories.Google Scholar
- Tolle, G., Polastre, J., Szewczyk, R., Culler, D., Turner, N., Tu, K., Burgess, S., Dawson, T., Buonadonna, P., et al. 2005. A macroscope in the redwoods. In Proceedings of the International Conference on Embedded Networked Sensor Systems. ACM, New York, 51--63. Google Scholar
Digital Library
- Tremaine, B., Franaszek, P. A., Robinson, J. T., Schulz, C. O., Smith, T. B., Wazlowski, M., and Bland, P. M. 2001. IBM memory expansion technology. IBM J. Res. Dev. 45, 2, 271--285. Google Scholar
Digital Library
- Tuduce, I. C. and Gross, T. 2005. Adaptive main memory compression. In Proceedings of the USENIX Conference. 237--250. Google Scholar
Digital Library
- van Engelen, R. A. and Gallivan, K. A. 2001. An efficient algorithm for pointer-to-array access conversion for compiling and optimizing DSP applications. In Proceedings of the Innovative Architecture for Future Generation High-Performance Processors and Systems (IWIA'01). IEEE, Los Alamitos, CA, 80. Google Scholar
Digital Library
- Wilson, P. R., Kaplan, S. F., and Smaragdakis, Y. 1999. The case for compressed caching in virtual memory systems. In Proceedings of the USENIX Conference. 101--116. Google Scholar
Digital Library
- Yang, L., Dick, R. P., Lekatsas, H., and Chakradhar, S. 2005. CRAMES: Compressed RAM for embedded systems. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis. IEEE, Los Alamitos, CA. Google Scholar
Digital Library
- Yang, L., Lekatsas, H., and Dick, R. P. 2006. High-performance operating system controlled memory compression. In Proceedings of the Design Automation Conference. ACM, New York, 701--704. Google Scholar
Digital Library
Index Terms
MEMMU: Memory expansion for MMU-less embedded systems
Recommendations
Automated compile-time and run-time techniques to increase usable memory in MMU-less embedded systems
CASES '06: Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systemsRandom access memory (RAM) is tightly-constrained in many embedded systems. This is especially true for the least expensive, lowest-power embedded systems, such as sensor network nodes and portable consumer electronics. The most widely-used sensor ...
A Novel Memory Block Management Scheme for PCM Using WOM-Code
HPCC-CSS-ICESS '15: Proceedings of the 2015 IEEE 17th International Conference on High Performance Computing and Communications, 2015 IEEE 7th International Symposium on Cyberspace Safety and Security, and 2015 IEEE 12th International Conf on Embedded Software and SystemsPhase Change Memory (PCM) is a promising DRAM replacement in embedded systems due to its attractive characteristics including low static power consumption and high density. However, long write latency is one of the major drawbacks in current PCM ...
Compiler-assisted dynamic scratch-pad memory management with space overlapping for embedded systems
Scratch-pad memory (SPM), a small, fast, software-managed on-chip SRAM (Static Random Access Memory) is widely used in embedded systems. With the ever-widening performance gap between processors and main memory, it is very important to reduce the ...






Comments