TY - GEN
T1 - Architecture-aware automatic computation offload for native applications
AU - Lee, Gwangmu
AU - Park, Hyunjoon
AU - Heo, Seonyeong
AU - Chang, Kyung Ah
AU - Lee, Hyogun
AU - Kim, Hanjun
N1 - Publisher Copyright:
© 2015 ACM.
Copyright:
Copyright 2017 Elsevier B.V., All rights reserved.
PY - 2015/12/5
Y1 - 2015/12/5
N2 - 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%.
AB - 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%.
UR - http://www.scopus.com/inward/record.url?scp=84959916960&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84959916960&partnerID=8YFLogxK
U2 - 10.1145/2830772.2830833
DO - 10.1145/2830772.2830833
M3 - Conference contribution
AN - SCOPUS:84959916960
T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO
SP - 521
EP - 532
BT - Proceedings - 48th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2015
PB - IEEE Computer Society
T2 - 48th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2015
Y2 - 5 December 2015 through 9 December 2015
ER -