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%.
|Title of host publication||Proceedings - 48th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2015|
|Publisher||IEEE Computer Society|
|Number of pages||12|
|Publication status||Published - 2015 Dec 5|
|Event||48th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2015 - Waikiki, United States|
Duration: 2015 Dec 5 → 2015 Dec 9
|Name||Proceedings of the Annual International Symposium on Microarchitecture, MICRO|
|Other||48th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2015|
|Period||15/12/5 → 15/12/9|
Bibliographical notePublisher Copyright:
© 2015 ACM.
All Science Journal Classification (ASJC) codes
- Hardware and Architecture