Skip to main content
QUICK REVIEW

[Paper Review] COARA: Code Offloading on Android with AspectJ

Roy Friedman, Nir Hauser|arXiv (Cornell University)|Apr 3, 2016
IoT and Edge/Fog Computing10 references3 citations
TL;DR

COARA is an Android middleware platform that enables transparent code offloading to remote servers using AspectJ-based aspect-oriented programming. By intercepting large object transfers and replacing them with proxies, COARA reduces state transfer overhead, achieving up to 24.7x speedup over WiFi and 5.1x over 3G, while also reducing energy consumption by up to 11x on WiFi.

ABSTRACT

Smartphones suffer from limited computational capabilities and battery life. A method to mitigate these problems is code offloading: executing application code on a remote server. We introduce COARA, a middleware platform for code offloading on Android that uses aspect-oriented programming (AOP) with AspectJ. AOP allows COARA to intercept code for offloading without a customized compiler or modification of the operating system. COARA requires minimal changes to application source code, and does not require the application developer to be aware of AOP. Since state transfer to the server is often a bottleneck that hinders performance, COARA uses AOP to intercept the transmission of large objects from the client and replaces them with object proxies. The server can begin execution of the offloaded application code, regardless of whether all required objects been transferred to the server. We run COARA with Android applications from the Google Play store on a Nexus 4 running unmodified Android 4.3 to prove that our platform improves performance and reduces energy consumption. Our approach yields speedups of 24x and 6x over WiFi and 3G respectively.

Motivation & Objective

  • Address the performance and energy limitations of mobile devices by offloading computation to remote servers.
  • Overcome the bottleneck of large-scale state transfer during code offloading in mobile applications.
  • Enable transparent offloading without requiring application source code modifications or OS-level changes.
  • Minimize developer overhead by abstracting AOP complexity and allowing minimal, non-intrusive integration.
  • Improve responsiveness and efficiency on low-bandwidth networks like 3G through optimized data transmission strategies.

Proposed method

  • Leverages AspectJ for runtime interception of method calls and object transfers without modifying the Android OS or requiring a custom compiler.
  • Replaces large objects in the application heap with lightweight proxies during state transfer, deferring full object transmission.
  • Employs three transmission strategies: eager (full heap transfer), lazy (probes only when accessed), and pipelined (asynchronous streaming of objects after offloading).
  • Uses object caching to avoid retransmitting unchanged objects across multiple offloading sessions, reducing state transfer by up to 99%.
  • Supports alternative method execution on the server via annotation-based configuration, enabling higher-fidelity computation (e.g., more digits in pi calculation).
  • Integrates with unmodified Android 4.3 on a Nexus 4, demonstrating compatibility and real-world feasibility.

Experimental results

Research questions

  • RQ1Can aspect-oriented programming be effectively used to enable transparent code offloading on Android without OS or compiler modifications?
  • RQ2How does proxy-based state transfer compare to full heap transfer in terms of performance and energy efficiency on mobile networks?
  • RQ3To what extent can transmission strategies like lazy and pipelined transmission reduce state transfer overhead and improve offloading performance?
  • RQ4What is the impact of object caching on repeated offloading operations and overall system efficiency?
  • RQ5Can COARA achieve significant performance and energy gains on real-world Android applications from the Google Play store?

Key findings

  • COARA achieved a maximum speedup of 24.7x over WiFi and 5.1x over 3G compared to native execution on a Nexus 4.
  • The pipelined transmission strategy outperformed eager transmission by 1.43x on WiFi, demonstrating the benefit of early server-side execution.
  • Lazy transmission reduced state transfer by over 90%, with uploads dropping from 1.5MB to 117KB in one benchmark, enabling offloading where full transfer would be prohibitive.
  • Object caching reduced state transfer to below 2KB in some cases, achieving up to 99% reduction and enabling speedups of 31.1x on WiFi and 22.7x on 3G when hit rate was 100%.
  • Energy consumption was reduced by up to 11x on WiFi and 3x on 3G, confirming COARA’s dual benefit of performance and efficiency.
  • Alternative method execution allowed a 5x speedup and higher-quality output (20,000 vs. 10,000 digits of π), demonstrating extensibility beyond basic offloading.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.