vix.ing · top · new · best · stats · spec

Improved Ahead-of-Time Compilation of Stack-Based JVM Bytecode on\n Resource-Constrained Devices

2017/12/15 by Niels Reijers, Reijers, Niels, Chi‐Sheng Shih +1
Computer Science · #Cloud Computing and Resource Management #D.3.4 #Distributed and Parallel Computing Systems #FOS: Computer and information sciences #Parallel Computing and Optimization Techniques #Programming Languages (cs.PL)

paper · pdf · doi:10.48550/arxiv.1712.05590

openalex publication_date 2017/12/15 · openalex created_date 2022/10/03 · openalex updated_date 2026/07/28

Abstract

Many virtual machines exist for sensor nodes with only a few KB RAM and tens\nto a few hundred KB flash memory. They pack an impressive set of features, but\nsuffer from a slowdown of one to two orders of magnitude compared to optimised\nnative code, reducing throughput and increasing power consumption.\n Compiling bytecode to native code to improve performance has been studied\nextensively for larger devices, but the restricted resources on sensor nodes\nmean most modern techniques cannot be applied. Simply replacing bytecode\ninstructions with predefined sequences of native instructions is known to\nimprove performance, but produces code several times larger than the optimised\nC equivalent, limiting the size of programmes that can fit onto a device.\n This paper identifies the major sources of overhead resulting from this basic\napproach, and presents optimisations to remove most of the remaining\nperformance overhead, and over half the size overhead, reducing them to 69% and\n91% respectively. While this increases the size of the VM, the break-even point\nat which this fixed cost is compensated for is well within the range of memory\navailable on a sensor device, allowing us to both improve performance and load\nmore code on a device.\n

Related