Rethinking Java call stack design for tiny embedded devices

  • Authors:
  • Faisal Aslam;Ghufran Baig;Mubashir Adnan Qureshi;Zartash Afzal Uzmi;Luminous Fennell;Peter Thiemann;Christian Schindelhauer;Elmar Haussmann

  • Affiliations:
  • Punjab University College of Information Technology (PUCIT), Lahore, Pakistan;Lahore University of Management Sciences (LUMS), Lahore, Pakistan;Lahore University of Management Sciences (LUMS), Lahore, Pakistan;Lahore University of Management Sciences (LUMS), Lahore, Pakistan;University of Freiburg, Freiburg, Germany;University of Freiburg, Freiburg, Germany;University of Freiburg, Freiburg, Germany;University of Freiburg, Freiburg, Germany

  • Venue:
  • Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The ability of tiny embedded devices to run large feature-rich programs is typically constrained by the amount of memory installed on such devices. Furthermore, the useful operation of these devices in wireless sensor applications is limited by their battery life. This paper presents a call stack redesign targeted at an efficient use of RAM storage and CPU cycles by a Java program running on a wireless sensor mote. Without compromising the application programs, our call stack redesign saves 30% of RAM, on average, evaluated over a large number of benchmarks. On the same set of bench-marks, our design also avoids frequent RAM allocations and deallocations, resulting in average 80% fewer memory operations and 23% faster program execution. These may be critical improvements for tiny embedded devices that are equipped with small amount of RAM and limited battery life. However, our call stack redesign is equally effective for any complex multi-threaded object oriented program developed for desktop computers. We describe the redesign, measure its performance and report the resulting savings in RAM and execution time for a wide variety of programs.