[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2830772.2830833acmconferencesArticle/Chapter ViewAbstractPublication PagesmicroConference Proceedingsconference-collections
research-article

Architecture-aware automatic computation offload for native applications

Published: 05 December 2015 Publication History

Abstract

Although mobile devices have been evolved enough to support complex mobile programs, performance of the mobile devices is lagging behind performance of servers. To bridge the performance gap, computation offloading allows a mobile device to remotely execute heavy tasks at servers. However, due to architectural differences between mobile devices and servers, most existing computation offloading systems rely on virtual machines, so they cannot offload native applications. Some offloading systems can offload native mobile applications, but their applicability is limited to well-analyzable simple applications. This work presents automatic cross-architecture computation offloading for general-purpose native applications with a prototype framework that is called Native Offloader. At compile-time, Native Offloader automatically finds heavy tasks without any annotation, and generates offloading-enabled native binaries with memory unification for a mobile device and a server. At run-time, Native Offloader efficiently supports seamless migration between the mobile device and the server with a unified virtual address space and communication optimization. Native Offloader automatically offloads 17 native C applications from SPEC CPU2000 and CPU2006 benchmark suites without a virtual machine, and achieves a geomean program speedup of 6.42× and battery saving of 82.0%.

References

[1]
G. Chen, B.-T. Kang, M. Kandemir, N. Vijaykrishnan, M. Irwin, and R. Chandramouli, "Studying energy trade offs in offloading computation/compilation in Java-enabled mobile devices," IEEE Transactions on Parallel and Distributed Systems, 2004.
[2]
H.-h. Chu, H. Song, C. Wong, S. Kurakake, and M. Katagiri, "Roam, a seamless application framework," Journal of Systems and Software, 2004.
[3]
B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti, "CloneCloud: Elastic execution between mobile device and cloud," in Proceedings of the Sixth Conference on Computer Systems, 2011.
[4]
E. Cuervo, A. Balasubramanian, D.-k. Cho, A. Wolman, S. Saroiu, R. Chandra, and P. Bahl, "MAUI: Making smartphones last longer with code offload," in Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services, 2010.
[5]
M. S. Gordon, D. A. Jamshidi, S. Mahlke, Z. M. Mao, and X. Chen, "COMET: Code offload by migrating execution transparently," in In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, 2012.
[6]
X. Gu, K. Nahrstedt, A. Messer, I. Greenberg, and D. Milojicic, "Adaptive offloading inference for delivering applications in pervasive computing environments," in Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003.
[7]
R. Kemp, N. Palmer, T. Kielmann, and H. Bal, "Cuckoo: a computation offloading framework for smartphones," in Mobile Computing, Applications, and Services, 2012.
[8]
S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang, "ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading," in Proceedings of The 31st Annual IEEE International Conference on Computer Communications (IEEE INFOCOM), 2012.
[9]
Y. Kwon, S. Lee, H. Yi, D. Kwon, S. Yang, B.-G. Chun, L. Huang, P. Maniatis, M. Naik, and Y. Paek, "Mantis: Automatic performance prediction for smartphone applications," in Proceedings of the 2013 USENIX Conference on Annual Technical Conference, 2013.
[10]
Z. Li, C. Wang, and R. Xu, "Computation offloading to save energy on handheld devices: A partition scheme," in Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, 2001.
[11]
A. Messer, I. Greenberg, P. Bernadat, D. Milojicic, D. Chen, T. J. Giuli, and X. Gu, "Towards a distributed platform for resource-constrained devices," in Proceedings of the 22nd International Conference on Distributed Computing Systems, 2002.
[12]
S. Ou, K. Yang, and A. 'Liotta, "An adaptive multi-constraint partitioning algorithm for offloading in pervasive systems," in Proceedings of the Fourth Annual IEEE International Conference on Pervasive Computing and Communications, 2006.
[13]
H. Rim, S. Kim, Y. Kim, and H. Han, "Transparent method offloading for slim execution," in 1st International Symposium on Wireless Pervasive Computing, 2006.
[14]
C. Wang and Z. Li, "Parametric analysis for adaptive computation offloading," in Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2004.
[15]
K. Yang, S. Ou, and H.-H. Chen, "On effective offloading services for resource-constrained mobile devices running heavier mobile internet applications," Communications Magazine, IEEE, 2008.
[16]
S. Yang, D. Kwon, H. Yi, Y. Cho, Y. Kwon, and Y. Paek, "Techniques to minimize state transfer costs for dynamic execution offloading in mobile cloud computing," IEEE Transactions on Mobile Computing, 2014.
[17]
"F-Droid Official Homepage." http://f-droid.org.
[18]
"F-Droid Statistics for Official Repo." http://android.woju.eu/stats.
[19]
M. Mehrara, P.-C. Hsu, M. Samadi, and S. Mahlke, "Dynamic parallelization of javascript applications using an ultra-lightweight speculation mechanism," in Proceedings of the IEEE 17th International Symposium on High Performance Computer Architecture, 2011.
[20]
U. Kremer, J. Hicks, and J. Rehg, "A compilation framework for power and energy management on mobile computers," in Proceedings of the 14th International Conference on Languages and Compilers for Parallel Computing, 2003.
[21]
Z. Li, C. Wang, and R. Xu in Proceedings of the Interational Parallel and Distributed Processing Symposium.
[22]
C. Xian, Y.-H. Lu, and Z. Li, "Adaptive computation offloading for energy conservation on battery-powered systems," in Proceedings of the 13th International Conference on Parallel and Distributed Systems - Volume 01, 2007.
[23]
A. Amiri Sani, K. Boos, M. H. Yun, and L. Zhong, "Rio: A system solution for sharing I/O between mobile systems," in Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services, 2014.
[24]
Y. Aridor, M. Factor, and A. Teperman, "cJVM: A single system image of a JVM on a cluster," in Proceedings of the International Conference on Parallel Processing, 1999.
[25]
J. B. Carter, "Design of the Munin Distributed Shared Memory System," Journal of Parallel and Distributed Computing, 1995.
[26]
D. J. Scales and K. Gharachorloo, "Towards transparent and efficient software distributed shared memory," in Proceedings of the Sixteenth Symposium on Operating Systems Principles, 1997.
[27]
W. Zhu, C.-L. Wang, and F. Lau, "JESSICA2: a distributed java virtual machine with transparent thread migration support," in Proceedings of the IEEE International Conference on Cluster Computing, 2002.
[28]
"Monsoon power monitor." http://www.msoon.com/LabEquipment/PowerMonitor/.
[29]
C. Lattner and V. Adve, "LLVM: a compilation framework for lifelong program analysis & transformation," in Proceedings of the International Symposium on Code Generation and Optimization, 2004.
[30]
"Standard Performance Evaluation Corporation." http://www.spec.org.
[31]
D. Chae, J. Kim, J. Kim, J. Kim, S. Yang, Y. Cho, Y. Kwon, and Y. Paek, "CMcloud: Cloud platform for cost-effective offloading of mobile applications," in Proceedings of the 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, 2014.
[32]
M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies, "The case for VM-based cloudlets in mobile computing," IEEE Pervasive Computing, 2009.
[33]
D. Narayanan, J. Flinn, and M. Satyanarayanan, "Using history to improve mobile application adaptation," in Proceedings of the Third IEEE Workshop on Mobile Computing Systems and Applications, 2000.
[34]
R. Wolski, S. Gurun, C. Krintz, and D. Nurmi, "Using bandwidth data to make computation offloading decisions," in IEEE International Symposium on Parallel and Distributed Processing, 2008.
[35]
S. Gurun, C. Krintz, and R. Wolski, "NWSLite: A light-weight prediction utility for mobile devices," in Proceedings of the 2nd International Conference on Mobile Systems, Applications, and Services, 2004.

Cited By

View all
  • (2024)HEXO: Offloading Long-Running Compute- and Memory-Intensive Workloads on Low-Cost, Low-Power Embedded SystemsIEEE Transactions on Cloud Computing10.1109/TCC.2024.348217812:4(1415-1432)Online publication date: Oct-2024
  • (2022)Resource Provisioning Techniques in Multi-Access Edge Computing EnvironmentsMobile Information Systems10.1155/2022/72835162022Online publication date: 1-Jan-2022
  • (2022)Characterisation of Intelligent Autonomous Agents Inspired by Biological Theory in Cognitive EnvironmentMobile Information Systems10.1155/2022/49311942022Online publication date: 1-Jan-2022
  • Show More Cited By

Index Terms

  1. Architecture-aware automatic computation offload for native applications

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    MICRO-48: Proceedings of the 48th International Symposium on Microarchitecture
    December 2015
    787 pages
    ISBN:9781450340342
    DOI:10.1145/2830772
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 05 December 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. mobile cloud computing
    2. native computation offloading

    Qualifiers

    • Research-article

    Funding Sources

    • Korean Government (MISP)

    Conference

    MICRO-48
    Sponsor:

    Acceptance Rates

    MICRO-48 Paper Acceptance Rate 61 of 283 submissions, 22%;
    Overall Acceptance Rate 484 of 2,242 submissions, 22%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)9
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 21 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)HEXO: Offloading Long-Running Compute- and Memory-Intensive Workloads on Low-Cost, Low-Power Embedded SystemsIEEE Transactions on Cloud Computing10.1109/TCC.2024.348217812:4(1415-1432)Online publication date: Oct-2024
    • (2022)Resource Provisioning Techniques in Multi-Access Edge Computing EnvironmentsMobile Information Systems10.1155/2022/72835162022Online publication date: 1-Jan-2022
    • (2022)Characterisation of Intelligent Autonomous Agents Inspired by Biological Theory in Cognitive EnvironmentMobile Information Systems10.1155/2022/49311942022Online publication date: 1-Jan-2022
    • (2021)Queec: QoE-aware Edge Computing for IoT Devices under Dynamic WorkloadsACM Transactions on Sensor Networks10.1145/344236317:3(1-23)Online publication date: 21-Jun-2021
    • (2021)iEdge: An IoT-assisted Edge Computing Framework2021 IEEE International Conference on Pervasive Computing and Communications (PerCom)10.1109/PERCOM50583.2021.9439122(1-8)Online publication date: 22-Mar-2021
    • (2021)Heterogeneous-ISA Application Migration in Edge Computing: Challenges, Techniques and Open IssuesAdvances in Artificial Intelligence and Security10.1007/978-3-030-78618-2_9(106-118)Online publication date: 29-Jun-2021
    • (2021)Architecting Green Mobile Cloud AppsSoftware Sustainability10.1007/978-3-030-69970-3_8(183-214)Online publication date: 6-Oct-2021
    • (2020)Edge computingProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381321(73-87)Online publication date: 17-Mar-2020
    • (2020)A Container Based Edge Offloading Framework for Autonomous DrivingIEEE Access10.1109/ACCESS.2020.29734578(33713-33726)Online publication date: 2020
    • (2019)Cross-ISA execution of SIMD regions for improved performanceProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325832(55-67)Online publication date: 22-May-2019
    • Show More Cited By

    View Options

    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