• Title, Summary, Keyword: Dalvik virtual machine

Search Result 13, Processing Time 0.034 seconds

Enhancement of Android Runtime Performance using Method Signature (Method Signature를 이용한 안드로이드 런타임 성능 향상)

  • Joe, In-Whee;Kim, Won-Il
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.36 no.11B
    • /
    • pp.1323-1328
    • /
    • 2011
  • In this paper, we have shown Dalvik virtual machine implementation to reduce the profiling overhead from the trace of the JIT compiler for the specific method. By running the same Java method on the original Dalvik VM and the modified Dalvik VM, we have achieved around 30% performance improvement with this algorithm. In this paper, to increase the reader's understanding of Android Dalvik virtual machine, we will explain the architecture of Dalvik JIT compiler and we will provide the detailed explanation with source codes for modified parts of Dalvik virtual machine. From the industry perspective, we can expect competitive benefits over the competitors with performance improvement in Android core.

Analysis of Dalvik Virtual Machine (Dalvik Virtual Machine 분석)

  • Cho, Yeongpil;Kwon, Yongin;Yang, Seungjun;Paek, Yunheung
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • /
    • pp.45-46
    • /
    • 2012
  • 현재 스마트폰에서 가장 널리 쓰이는 OS는 안드로이드이다. 안드로이드는 오픈 소스 플랫폼이기 때문에 이를 수정하여 기존 기술을 개선하거나 새로운 기술을 개발하려는 시도가 많이 이루어지고 있다. 이를 위해 필수적으로 시행해야 할 것이 Dalvik Virtual Machine을 분석하는 작업이다. 이에, 본 연구는 Dalvik Virtual Machine의 주요 요소를 분석하였다.

  • PDF

Performance Comparison of Android Dalvik and Java Virtual Machines (안드로이드 달빅과 자바 가상머신의 성능비교)

  • Lee, Jong-Hyuk;Kim, Hyung-Shin
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.12 no.1
    • /
    • pp.486-492
    • /
    • 2011
  • In this paper we analyzed performance of Andriod's Davik virtual machine(VM) using standard benchmark and compared the result with the embedded Java virtual machine. We used a well known benchmark suit named SPECJVM for the measurement. For the fair comparison, Sun Java embedded JVM is ported and the same benchmark is ported on it. The Odriod smartphone hardware platform is used as the target hardware. We have added a Just-In-Time compiler to Dalvik, which is not supported in the recent Android release, and measured performance improvement. The experiment result show that Dalvik achieved 15% and Dalvik with JIT shows 63% of the Sun's JVM performance.

Static Dalvik Bytecode Optimization for Android Applications

  • Kim, Jeehong;Kim, Inhyeok;Min, Changwoo;Jun, Hyung Kook;Lee, Soo Hyung;Kim, Won-Tae;Eom, Young Ik
    • ETRI Journal
    • /
    • v.37 no.5
    • /
    • pp.1001-1011
    • /
    • 2015
  • Since just-in-time (JIT) has considerable overhead to detect hot spots and compile them at runtime, using sophisticated optimization techniques for embedded devices means that any resulting performance improvements will be limited. In this paper, we introduce a novel static Dalvik bytecode optimization framework, as a complementary compilation of the Dalvik virtual machine, to improve the performance of Android applications. Our system generates optimized Dalvik bytecodes by using Low Level Virtual Machine (LLVM). A major obstacle in using LLVM for optimizing Dalvik bytecodes is determining how to handle the high-level language features of the Dalvik bytecode in LLVM IR and how to optimize LLVM IR conforming to the language information of the Dalvik bytecode. To this end, we annotate the high-level language features of Dalvik bytecode to LLVM IR and successfully optimize Dalvik bytecodes through instruction selection processes. Our experimental results show that our system with JIT improves the performance of Android applications by up to 6.08 times, and surpasses JIT by up to 4.34 times.

DEX2C: Translation of Dalvik Bytecodes into C Code and its Interface in a Dalvik VM

  • Kim, Minseong;Han, Youngsun;Cho, Myeongjin;Park, Chanhyun;Kim, Seon Wook
    • IEIE Transactions on Smart Processing and Computing
    • /
    • v.4 no.3
    • /
    • pp.169-172
    • /
    • 2015
  • Dalvik is a virtual machine (VM) that is designed to run Java-based Android applications. A trace-based just-in-time (JIT) compilation technique is currently employed to improve performance of the Dalvik VM. However, due to runtime compilation overhead, the trace-based JIT compiler provides only a few simple optimizations. Moreover, because each trace contains only a few instructions, the trace-based JIT compiler inherently exploits fewer optimization and parallelization opportunities than a method-based JIT compiler that compiles method-by-method. So we propose a new method-based JIT compiler, named DEX2C, in order to improve performance by finding more opportunities for both optimization and parallelization in Android applications. We employ C code as an intermediate product in order to find more optimization opportunities by using the GNU C Compiler (GCC), and we will detect parallelism by using the Intel C/C++ parallel compiler and the AESOP compiler in our future work. In this paper, we introduce our DEX2C compiler, which dynamically translates Dalvik bytecodes (DEX) into C code with method granularity. We also describe a new method-based JIT interface in the Dalvik VM for the DEX2C compiler. Our experiment results show that our compiler and its interface achieve significant performance improvement by up to 15.2 times and 3.7 times on average, in Element Benchmark, and up to 2.8 times for FFT in Smartbench.

AndroScope: An Insightful Performance Analyzer for All Software Layers of the Android-Based Systems

  • Cho, Myeongjin;Lee, Ho Jin;Kim, Minseong;Kim, Seon Wook
    • ETRI Journal
    • /
    • v.35 no.2
    • /
    • pp.259-269
    • /
    • 2013
  • Android has become the most popular platform for mobile devices. However, Android still has critical performance issues, such as "application not responding" errors and hiccups resulting from garbage collection. Many phone vendors have tried to resolve the problems by characterizing and improving the performance. However, there are few insightful performance analysis tools for the Android-based systems. This paper presents AndroScope, which is a performance analysis tool for both the Android platform (Dalvik virtual machine, core libraries, Android libraries, and even Linux kernels) and its applications. To the best of our knowledge, this is the first tool to collect and analyze performance data from all the software layers of the Android-based systems. AndroScope offers a trace mechanism to collect such deep and wide performance data as hardware performance counters, time, and memory usage. In addition, the tool includes TraceBridge, which is a middleware for the fast handling of mass logs. Moreover, AndroScope offers an integrated graphical user interface with the Android software development kit to display a great volume of the detailed performance data.

A Trace-based Precompile Method for Improving the Response Times of Android Applications (안드로이드 응용의 응답 시간 향상을 위한 트레이스 기반 프리컴파일 기법)

  • Hong, Sunggil;Kim, Kanghee
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.2 no.6
    • /
    • pp.231-236
    • /
    • 2013
  • Recently, to improve the user response times of Android applications, several studies have been proposed to combine the idea of Ahead-of-Time compilation into Dalvik virtual machine, which uses Just-in-Time compilation. The studies, however, require modifications of the Dalvik executables of target applications, thus are difficult to be adopted for legacy applications already deployed. This paper proposes a JITwP(JIT with Precompile) technique that precompiles hot traces at application launch time with no modification of the Dalvik executable. It improves the user response times of target applications by providing precompile hints prepared offline. Our experimental results demonstrate a 4% improvement in terms of execution time for the Web browser application.