SIMDOM: A framework for SIMD instruction translation and offloading in heterogeneous mobile architectures

Fog and mobile edge computing is a paradigm that augments resource-scarce mobile devices with resource-rich network servers to enable ubiquitous computing. Smartphone applications rely on code offloading techniques to leverage high-performance computing opportunities available on edge and cloud servers for compute-intensive applications. Mobile (ARM) and edge/cloud (x86) architectures are heterogeneous and necessitate dynamic binary translation for compiled code migration that increases the application execution time. The application execution time and energy consumption should be lesser on the edge/cloud server as compared with the local mobile execution for optimal offload. Multimedia-based applications contain a large set of single instruction multiple data (SIMD) instructions that are compute and resource intensive. However, dynamic binary translation techniques of SIMD instructions lose the parallelism and optimization because of inefficient vector-to-scalar translation. We present a framework for SIMD instruction translation and offloading for mobile devices (SIMDOM) in cloud and edge environments. The SIMDOM framework reduces the execution overhead of migrated vectorized multimedia application by using vector-to-vector instruction mappings. The framework maps and translates ARM SIMD intrinsic instructions to x86 SIMD intrinsic instructions such that an application programmed for the mobile platform can be executed on the cloud server without any modification. The offload decision is based on inputs from the device energy, network, and application profilers. Experiments show that SIMDOM framework provides 84.78%, 3.41%, and 79.93% energy, time, and performance efficiency, respectively, compared with local offload-disabled execution. Compared with compiled code offloading, the SIMDOM framework provides 55.99%, 57.50%, and 96.23% energy, time, and performance efficiency, respectively.

[1]  Lei Yang,et al.  Accurate online power estimation and automatic battery behavior based power model generation for smartphones , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[2]  Salim Hariri,et al.  IoT Security Framework for Smart Cyber Infrastructures , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[3]  Rajkumar Buyya,et al.  Seamless application execution in mobile cloud computing: Motivation, taxonomy, and open challenges , 2015, J. Netw. Comput. Appl..

[4]  Bo Huang,et al.  Optimizing dynamic binary translation for SIMD instructions , 2006, International Symposium on Code Generation and Optimization (CGO'06).

[5]  Yaser Jararweh,et al.  A Fog Computing Based System for Selective Forwarding Detection in Mobile Wireless Sensor Networks , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[6]  Bharat K. Bhargava,et al.  A Survey of Computation Offloading for Mobile Systems , 2012, Mobile Networks and Applications.

[7]  Mahmoud Al-Ayyoub,et al.  Leveraging Software-Defined-Networking for Energy Optimisation in Mobile-Cloud-Computing , 2016, FNC/MobiSPC.

[8]  Johan Tordsson,et al.  How Beneficial Are Intermediate Layer Data Centers in Mobile Edge Networks? , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[9]  Rajiv Ranjan,et al.  Survey of Techniques and Architectures for Designing Energy-Efficient Data Centers , 2016, IEEE Systems Journal.

[10]  Alexander Willner,et al.  Towards Programmable Fog Nodes in Smart Factories , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[11]  Surya Tej Nimmakayala Exploring Causes of Performance Overhead During Dynamic Binary Translation , 2015 .

[12]  Ching-Hsien Hsu,et al.  Case of ARM emulation optimization for offloading mechanisms in Mobile Cloud Computing , 2017, Future Gener. Comput. Syst..

[13]  Jun Zhou,et al.  Use of SIMD Vector Operations to Accelerate Application Code Performance on Low-Powered ARM and Intel Platforms , 2013, 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum.

[14]  Pedro Merino,et al.  Enabling Low Latency Services on LTE Networks , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[15]  Mahadev Satyanarayanan,et al.  A Brief History of Cloud Offload: A Personal Journey from Odyssey Through Cyber Foraging to Cloudlets , 2015, GETMBL.

[16]  J. Wenny Rahayu,et al.  Mobile cloud computing: A survey , 2013, Future Gener. Comput. Syst..

[17]  Mazliza Othman,et al.  Pirax: framework for application piracy control in mobile cloud environment , 2013, The Journal of Supercomputing.

[18]  Majid Altamimi,et al.  A Task Offloading Framework for Energy Saving on Mobile Devices using Cloud Computing , 2015 .

[19]  Byung-Gon Chun,et al.  CloneCloud: elastic execution between mobile device and cloud , 2011, EuroSys '11.

[20]  Teck Chaw Ling,et al.  Thermal Prediction Models for Virtualized Data center Servers by using Thermal-profiles , 2016 .

[21]  Seungho Lim,et al.  x86‐Android performance improvement for x86 smart mobile devices , 2016, Concurr. Comput. Pract. Exp..

[22]  Karthikeyan Sankaralingam,et al.  Power struggles: Revisiting the RISC vs. CISC debate on contemporary ARM and x86 architectures , 2013, 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA).

[23]  Hua Huang IDISA+: A portable model for high performance SIMD programming , 2011 .

[24]  Rajkumar Buyya,et al.  Dynamic remote data auditing for securing big data storage in cloud computing , 2017, Inf. Sci..

[25]  Junaid Shuja,et al.  Towards native code offloading based MCC frameworks for multimedia applications: A survey , 2016, J. Netw. Comput. Appl..

[26]  Winfried Lamersdorf,et al.  CloudAware: A Context-Adaptive Middleware for Mobile Edge and Cloud Computing Applications , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[27]  Deborah Estrin,et al.  Diversity in smartphone usage , 2010, MobiSys '10.

[28]  Frédéric Pétrot,et al.  Speeding-up SIMD instructions dynamic binary translation in embedded processor simulation , 2011, 2011 Design, Automation & Test in Europe.

[29]  Kyung-Ah Chang,et al.  Architecture-aware automatic computation offload for native applications , 2015, 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[30]  Hannu Flinck,et al.  Application Orchestration in Mobile Edge Cloud: Placing of IoT Applications to the Edge , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[31]  Shahaboddin Shamshirband,et al.  Sustainable Cloud Data Centers: A survey of enabling techniques and technologies , 2016 .

[32]  Sagar Naik,et al.  Energy-as-a-Service (EaaS): On the Efficacy of Multimedia Cloud Computing to Save Smartphone Energy , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[33]  Björn Franke,et al.  Free Rider: A Tool for Retargeting Platform-Specific Intrinsic Functions , 2015, LCTES.

[34]  Albert Y. Zomaya,et al.  A Survey of Mobile Device Virtualization , 2016, ACM Comput. Surv..

[35]  Prem Prakash Jayaraman,et al.  Opportunistic Computation Offloading in Mobile Edge Cloud Computing Environments , 2016, 2016 17th IEEE International Conference on Mobile Data Management (MDM).

[36]  Pan Hui,et al.  ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading , 2012, 2012 Proceedings IEEE INFOCOM.

[37]  Wei-Chung Hsu,et al.  Improving SIMD code generation in QEMU , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).