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

12/15/2017
by   Niels Reijers, et al.
0

Many virtual machines exist for sensor nodes with only a few KB RAM and tens to a few hundred KB flash memory. They pack an impressive set of features, but suffer from a slowdown of one to two orders of magnitude compared to optimised native code, reducing throughput and increasing power consumption. Compiling bytecode to native code to improve performance has been studied extensively for larger devices, but the restricted resources on sensor nodes mean most modern techniques cannot be applied. Simply replacing bytecode instructions with predefined sequences of native instructions is known to improve performance, but produces code several times larger than the optimised C equivalent, limiting the size of programmes that can fit onto a device. This paper identifies the major sources of overhead resulting from this basic approach, and presents optimisations to remove most of the remaining performance overhead, and over half the size overhead, reducing them to 69 91 at which this fixed cost is compensated for is well within the range of memory available on a sensor device, allowing us to both improve performance and load more code on a device.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/12/2021

Faster-Than-Native Alternatives for x86 VP2INTERSECT Instructions

We present faster-than-native alternatives for the full AVX512-VP2INTERS...
research
10/14/2021

ALFRED: Virtual Memory for Intermittent Computing

We present ALFRED: a virtual memory abstraction that resolves the dichot...
research
02/03/2021

Compact Native Code Generation for Dynamic Languages on Micro-core Architectures

Micro-core architectures combine many simple, low memory, low power-cons...
research
03/01/2018

The Effect of Instruction Padding on SFI Overhead

Software-based fault isolation (SFI) is a technique to isolate a potenti...
research
10/21/2021

Supporting Massive DLRM Inference Through Software Defined Memory

Deep Learning Recommendation Models (DLRM) are widespread, account for a...
research
08/26/2015

A Software-only Mechanism for Device Passthrough and Sharing

Network processing elements in virtual machines, also known as Network F...
research
10/01/2020

Modelling the earth's geomagnetic environment on Cray machines using PETSc and SLEPc

The British Geological Survey's global geomagnetic model, Model of the E...

Please sign up or login with your details

Forgot password? Click here to reset