Evaluation of Android Dalvik virtual machine

@inproceedings{Oh2012EvaluationOA,
  title={Evaluation of Android Dalvik virtual machine},
  author={Hyeong-Seok Oh and Beom-Jun Kim and Hyung-Kyu Choi and Soo-Mook Moon},
  booktitle={JTRES '12},
  year={2012}
}
More than half of the smart phones world-wide are currently employing the Android platform, which employs Java for programming its applications. The Android Java is to be executed by the Dalvik virtual machine (VM), which is quite different from the traditional Java VM such as Oracle's HotSpot VM. That is, Dalvik employs register-based bytecode while HotSpot employs stack-based bytecode, requiring a different way of interpretation. Also, Dalvik uses trace-based just-in-time compilation (JITC… 
Constructing an Environment and Providing a Performance Assessment of Android ’ s Dalvik Virtual Machine on x 86 and ARM
Android is one of the most popular operating systems (OS) for mobile touch screen devices, including smart-phones and tablet computers. Dalvik is a process virtual machine (VM) that provides an
Real-time android with RTDroid
TLDR
RTDroid is presented, a variant of Android that provides predictability to Android applications that redesigns Android's internal components, replaces Android's Java VM (Dalvik) with a real-time VM, and leverages off-the-shelf real- time OSes.
RTDroid: A Design for Real-Time Android
TLDR
The internals of Android, the Android programming model, libraries, and core systems services are examined, discussing the implications and challenges of adapting Android constructs and core system services for real-time and presenting a solution for each.
RTDroid: A Design for Real-Time Android
TLDR
The internals of Android, the Android programming model, libraries, and core systems services are examined, discussing the implications and challenges of adapting Android constructs and core system services for real-time and presenting a solution for each.
Secure garbage collection: Preventing malicious data harvesting from deallocated Java objects inside the Dalvik VM
TLDR
This work gives the application level programmer of Android more control over memory by making garbage collection predictable, and by providing the ability to explicitly override and free memory.
Can Android Run on Time? Extending and Measuring the Android Platform's Timeliness
TLDR
This work explores adopting the Android programming model for a range of embedded applications that extends beyond mobile devices, under the constraint that changes to widely used libraries should be minimized.
Priority Inheritance during Remote Procedure Calls in Real-Time Android using Extended Binder Framework
TLDR
An extended Binder module for preserving the priority of the calling thread across process boundaries is presented, which affects the low level Linux driver as well as its Java / C++ wrapper in the Android framework.
Real-time Code Generation in Virtualizing Runtime Environments
TLDR
This thesis examines the possibility to overcome timing issues with intermediate code execution in virtualizing runtime environments and addresses real-time suitable generation of native code from intermediate code in particular.
Making Android Run on Time
TLDR
This work reports on the design and implementation of an Android virtual machine with soft-real-time support, and provides experimental data validating feasibility over three case studies.
Toward Accurate Network Delay Measurement on Android Phones
TLDR
This paper appraise the accuracy of smartphone-based network performance measurement using the Android platform and the network round-trip time (RTT) as the metric and proposes and implements a native measurement app to mitigate the delay overhead in the Android runtime.
...
1
2
3
4
5
...

References

SHOWING 1-8 OF 8 REFERENCES
Design of the Java HotSpot#8482; client compiler for Java 6
TLDR
The new architecture of the client compiler is outlined and how it interacts with the VM is shown, including the intermediate representation that now uses static single-assignment (SSA) form and the linear scan algorithm for global register allocation.
HotpathVM: an effective JIT compiler for resource-constrained devices
TLDR
A just-in-time compiler for a Java VM that is small enough to fit on resource-constrained devices, yet is surprisingly effective, and benchmarks show a speedup that in some cases rivals heavy-weight just- in-time compilers.
Dynamo: a transparent dynamic optimization system
We describe the design and implementation of Dynamo, a software dynamic optimization system that is capable of transparently improving the performance of a native instruction stream as it executes on
Reducing trace selection footprint for large-scale Java applications without performance loss
TLDR
The crux of the approach is to target redundancies in trace selection in the form of either short-lived traces or unnecessary trace duplication to reduce the footprint of trace selection without incurring any performance loss.
Trace-based just-in-time type specialization for dynamic languages
TLDR
This work presents an alternative compilation technique for dynamically-typed languages that identifies frequently executed loop traces at run-time and then generates machine code on the fly that is specialized for the actual dynamic types occurring on each path through the loop.
The Java Language Specification
TLDR
The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
A brief history of just-in-time
TLDR
This work examines the motivation behind JIT compilation and constraints imposed onJIT compilation systems, and presents a classification scheme for such systems, as it surveys forty years of JIT work.
Virtual machine showdown: Stack versus registers
TLDR
This work presents a fully functional virtual-register implementation of the Java virtual machine (JVM), which supports Intel, AMD64, PowerPC and Alpha processors, and presents experimental results on a range of additional optimizations such as register allocation and elimination of redundant heap loads.