Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/CGO.2013.6494980acmconferencesArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Acceldroid: Co-designed acceleration of Android bytecode

Published: 23 February 2013 Publication History
  • Get Citation Alerts
  • Abstract

    A hardware/software co-designed processor transparently supports a ubiquitous ISA (e.g. x86) with diversified and innovative microarchitectural implementations. It leverages co-designed HW features and dynamic binary translation (DBT) SW to morph existing binary programs to scale performance and save power. On such systems, the portable bytecode of modern dynamic languages (e.g. Java, JavaScript, etc.) is first translated into the code in the architecture ISA by the just-in-time (JIT) compilation in the bytecode virtual machine, and then into the code in the internal implementation ISA by the DBT. This not only incurs the translation overheads twice, but also brings significant emulation inefficiency as the DBT does not have the high level bytecode information. In this paper, we present AccelDroid, which accelerates the Android Dalvik bytecode execution on the HW/SW co-designed processor through direct bytecode translation in the DBT. Our experiments on a HW/SW co-designed Transmeta Efficeon machine show that AccelDroid can improve performance by 78% and save energy by 40% for the CaffeineMark 3.0 benchmark suite.

    References

    [1]
    V. Bala, E. Duesterwald and S. Banerjia, "Dynamo: A transparent runtime optimization system", PLDI 2000
    [2]
    L. Baraz, T. Devor, O. Etzion, S. Goldenberg, A. Skalesky, Y. Wang and Y. Zemach, "IA-32 Execution Layer: A Two Phase Dynamic Translator Designed to Support IA-32 Applications on Itanium-based Systems", MICRO 2003
    [3]
    D. Bruening, T. Garnett and S. Amarasinghe, "An infrastructure for adaptive Dynamic Optimization", CGO 2003
    [4]
    J. C. Dehnert et al. "The Transmeta Code Morphing Software: Using Speculation, Recovery, and Adaptive Retranslation to Address Reallife Challenges", CGO 2003
    [5]
    L. P. Deutsch, A. M. Schiffman, "Efficient implementation of the Smalltalk-80 system", POPL 1984
    [6]
    K. Ebcioglu, E. R. Altman, "DAISY: dynamic compilation for 100% architectural compatibility", ISCA 1997
    [7]
    H. Kim, J. E. Smith, "Hardware Support for Control Transfers in Code Caches", MICRO 2003
    [8]
    K. Krewell, "Transmeta Gets More Efficeon", Microprocessor report. v.17, October, 2003
    [9]
    C. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. Reddi and K. Hazelwood, "Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation", PLDI 2005
    [10]
    N. Neelakantam, R. Rajwar, S. Srinivas, U. Srinivasan and C. Zilles, "Hardware atomicity for reliable software speculation", ISCA 2007
    [11]
    N. Neelakantam, D. R. Ditzel, C. B. Zilles, "A real system evaluation of hardware atomicity for software speculation", ASPLOS 2010
    [12]
    S. Patel, T. Tung, S. Bose and M. Crum, "Increasing the size of atomic instruction blocks using control flow assertions", MICRO 2000
    [13]
    S. Sridhar, J. S. Shapiro, E. Northup and P. Bungale, "HDTrans: An Open Source, Low-Level Dynamic Instrumentation System", VEE 2006
    [14]
    James E. Smith, Ravi Nair, Virtual Machines: Versatile Platforms For Systems And Processes, Morgan Kaufmann, May 2005, ISBN 1-55860-910-5
    [15]
    K. Skadron, P. S. Ahuja, M. Martonosi, and D. W. Clark. "Improving prediction for procedure returns with return-address-stack repair mechanisms", MICRO 1998
    [16]
    T. Suganuma, T. Yasue, M. Kawahito, H. Komatsu, T. Nakatani, "A dynamic optimization framework for a Java just-in-time compiler", OOPSLA 2001
    [17]
    B. Guo, Y. Wu, C. Wang, M. J. Bridges, G. Ottoni, N. Vachharajani, J. Chang, D. I. August, "Selective Runtime Memory Disambiguation in a Dynamic Binary Translator", CC 2006
    [18]
    Cheng Wang, Youfeng Wu, "Modeling and Performance Evaluation of TSO-Preserving Binary Optimization", PACT 2011
    [19]
    W. W. Hwu, S. A. Mahlke, W. Y. Chen, P. P. Chang, N. J. Warter, R. A. Bringmann, R. G. Ouellette, R. E. Hank, T. Kiyohara, G. E. Haab, J. G. Holm, and D. M. Lavery, "The Superblock: An effective technique for VLIW and superscalar compilation", The Journal of Supercomputing, vol. 7, 1993
    [20]
    Intel® 64 and IA-32 Architectures Software Developer's Manual Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B, and 3C. Order Number: 325462-044US, August 2012
    [21]
    Naveen Kumar and Naveen Neelakantam, "Indirect Branches in the Transmeta Efficeon Processor", WISH 2011
    [22]
    Caffeine Mark 3.0: http://www.benchmarkhq.ru/cm30/info.html
    [23]
    FlexyCore Website: http://www.flexycore.com/benchmark-databaseaccess. html
    [24]
    Steve Steel, "Accelerating to meet the challenges of embedded Java", White paper, ARM Limited, Nov 2001
    [25]
    D. Brooks, P. Bose, S. E. Schuster, H. Jacobson, P. N. Kudva, A. Buyuktosunoglu, J.-D. Wellman, V. Zyuban, M. Gupta, and P. W. Cook. "Power-aware microarchitecture: Design and modeling challenges for next-generation microprocessors", IEEE Micro, 20(6):26.44, November/December 2000

    Cited By

    View all
    • (2016)Assisting Static Compiler Vectorization with a Speculative Dynamic Vectorizer in an HW/SW Codesigned EnvironmentACM Transactions on Computer Systems10.1145/280769433:4(1-33)Online publication date: 4-Jan-2016
    • (2014)Energy optimization in android applications through wakelock placementProceedings of the conference on Design, Automation & Test in Europe10.5555/2616606.2616714(1-4)Online publication date: 24-Mar-2014
    • (2014)Speculative hardware/software co-designed floating-point multiply-add fusionACM SIGARCH Computer Architecture News10.1145/2654822.254197842:1(623-638)Online publication date: 24-Feb-2014
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CGO '13: Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
    February 2013
    366 pages
    ISBN:9781467355247

    Sponsors

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 23 February 2013

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2016)Assisting Static Compiler Vectorization with a Speculative Dynamic Vectorizer in an HW/SW Codesigned EnvironmentACM Transactions on Computer Systems10.1145/280769433:4(1-33)Online publication date: 4-Jan-2016
    • (2014)Energy optimization in android applications through wakelock placementProceedings of the conference on Design, Automation & Test in Europe10.5555/2616606.2616714(1-4)Online publication date: 24-Mar-2014
    • (2014)Speculative hardware/software co-designed floating-point multiply-add fusionACM SIGARCH Computer Architecture News10.1145/2654822.254197842:1(623-638)Online publication date: 24-Feb-2014
    • (2014)Speculative hardware/software co-designed floating-point multiply-add fusionACM SIGPLAN Notices10.1145/2644865.254197849:4(623-638)Online publication date: 24-Feb-2014
    • (2014)Efficient Power Gating of SIMD Accelerators Through Dynamic Selective Devectorization in an HW/SW Codesigned EnvironmentACM Transactions on Architecture and Code Optimization10.1145/262968111:3(1-23)Online publication date: 31-Jul-2014
    • (2014)Accurate off-line phase classification for HW/SW co-designed processorsProceedings of the 11th ACM Conference on Computing Frontiers10.1145/2597917.2597937(1-10)Online publication date: 20-May-2014
    • (2014)Warm-Up Simulation Methodology for HW/SW Co-Designed ProcessorsProceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization10.1145/2581122.2544142(284-294)Online publication date: 15-Feb-2014
    • (2014)Warm-Up Simulation Methodology for HW/SW Co-Designed ProcessorsProceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization10.1145/2544137.2544142(284-294)Online publication date: 15-Feb-2014
    • (2014)Speculative hardware/software co-designed floating-point multiply-add fusionProceedings of the 19th international conference on Architectural support for programming languages and operating systems10.1145/2541940.2541978(623-638)Online publication date: 24-Feb-2014

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media