arrow
Return

Rethinking Java Call Stack Design for Tiny Embedded Devices

delete2012-06-12
delete1
delete
OA
AI
F
Faisal Aslam *
G
Ghufran Baig
M
Mubashir Adnan Qureshi
Z
Zartash Afzal Uzmi
L
Luminous Fennell
P
Peter Thiemann
C
Christian Schindelhauer
E
Elmar Haußmann
DOI:10.1145/2345141.2248420delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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 benchmarks, 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.
Keywords:
Algorithms
Design
Experimentation
Performance
Wireless Sensor Networks
Call Stack
Memory Management
JVM
Java Virtual Machine
TakaTuka

Journal

A
ACM SIGPLAN Notices
IF:
0
Papers:
32
Citations:
0

Organization

L
Lahore University of Management Sciences
Scholars:
1.4K
Papers: 1.2K
Citations: 1.4K
U
university of punjab
Scholars:
6.2K
Papers: 5.0K
Citations: 7
U
University of Freiburg
Scholars:
3.3W
Papers: 2.4W
Citations: 3.4W
researcher View more organizations