MAUI: making smartphones last longer with code offload

@inproceedings{Cuervo2010MAUIMS,
  title={MAUI: making smartphones last longer with code offload},
  author={Eduardo Cuervo and Aruna Balasubramanian and Dae-ki Cho and Alec Wolman and Stefan Saroiu and Ranveer Chandra and Paramvir Bahl},
  booktitle={MobiSys '10},
  year={2010}
}
This paper presents MAUI, a system that enables fine-grained energy-aware offload of mobile code to the infrastructure. Previous approaches to these problems either relied heavily on programmer support to partition an application, or they were coarse-grained requiring full process (or full VM) migration. MAUI uses the benefits of a managed code environment to offer the best of both worlds: it supports fine-grained code offload to maximize energy savings with minimal burden on the programmer… 
Enabling Cross-ISA Offloading for COTS Binaries
TLDR
This work proposes to extend the capability of dynamic binary translation across clients and servers to offload the identified computation-intensive binary code regions automatically to the server at runtime.
Enabling Automatic Offloading of Resource-Intensive Smartphone Applications
TLDR
The design and implementation of XRay, an event-tracing-based profiling tool that identifies methods in a smartphone application that can be offloaded to a remote server, and determines whether and when offloading the methods will benefit the application are presented.
Minimizing Context Migration in Mobile Code Offload
  • Yong Li, Wei Gao
  • Computer Science
    IEEE Transactions on Mobile Computing
  • 2017
TLDR
This paper proposes a novel method-level offloading methodology to offload local computational workload with as least data transmission as possible and can save data transmission significantly comparing to existing schemes.
Enhancing mobile devices through code offload
TLDR
This dissertation characterize two frameworks that reduce the amount of developer effort required to improve the performance of mobile apps through code offload, which are designed for computationally intensive general-purpose apps such as speech and facial recognition and graphics-intensive apps like fast-action video games.
COMET: Code Offload by Migrating Execution Transparently
TLDR
The prototype of COMET (Code Offload by Migrating Execution Transparently), a realization of this design built on top of the Dalvik Virtual Machine, leverages the underlying memory model of the runtime to implement distributed shared memory (DSM) with as few interactions between machines as possible.
Code offload with least context migration in the mobile cloud
  • Yong Li, Wei Gao
  • Computer Science
    2015 IEEE Conference on Computer Communications (INFOCOM)
  • 2015
TLDR
This paper proposes a novel method-level offloading methodology to offload local computational workload with as least data transmission as possible and shows that this approach can save data transmission significantly comparing to existing schemes.
APPS: Accelerating Performance and Power Saving in Smartphones Using Code Offload
TLDR
A system (APPS) that supports both class level code offloading as well as thread migration of Android applications to remote server connected through Wi-Fi or 3G to reduce time of execution and power consumption.
COARA: Code Offloading on Android with AspectJ
TLDR
COARA is introduced, a middleware platform for code offloading on Android that uses aspect-oriented programming (AOP) with AspectJ, which allows COARA to intercept code for offloading without a customized compiler or modification of the operating system.
Manageable Granularity in Mobile Application Code Offloading for Energy Savings
TLDR
A two-phase partitioning mechanism called MACO is proposed which maintains both the application responsiveness and a manageable granularity and is implemented in web browsing applications written in HTML5/JavaScript codes.
MobiCOP: A Scalable and Reliable Mobile Code Offloading Solution
TLDR
This paper introduces MobiCOP, a new code offloading framework designed from the ground up with these requirements in mind, which features a novel design fully self-contained in a library and offers compatibility with most stock Android devices available today.
...
...

References

SHOWING 1-10 OF 54 REFERENCES
Tapping into the fountain of CPUs: on operating system support for programmable devices
TLDR
HYDRA is a programming model and a runtime support layer which enables utilization of host processors as well as various programmable peripheral devices' processors and was able to cut down the development cost of a system that uses multiple heterogenous compute resources significantly.
Compiler-Directed Remote Task Execution for Power Management
TLDR
Initial experiments show that energy consumption can be reduced significantly, in some cases up to one order of magnitude, depending on the selected characteristics of the mobile device, remote host, and wireless network.
The Case for VM-Based Cloudlets in Mobile Computing
TLDR
The results from a proof-of-concept prototype suggest that VM technology can indeed help meet the need for rapid customization of infrastructure for diverse applications, and this article discusses the technical obstacles to these transformations and proposes a new architecture for overcoming them.
Tactics-based remote execution for mobile computing
TLDR
This paper shows that automated dynamic repartitioning of mobile applications can be reconciled with the need to exploit application-specific knowledge and presents the design of a tactics-based remote execution system, Chroma, that performs comparably to a runtime system that makes perfect partitioning decisions.
Slingshot: deploying stateful services in wireless hotspots
TLDR
This work proposes a new architecture, called Slingshot, that replicates remote application state on surrogate computers co-located with wireless access points that executes on a remote server owned by the handheld user and deploys second-class replicas on nearby surrogates to improve application response time.
Balancing performance, energy, and quality in pervasive computing
We describe Spectra, a remote execution system for battery-powered clients used in pervasive computing. Spectra enables applications to combine the mobility of small devices with the greater
Transparent process migration: Design alternatives and the sprite implementation
TLDR
The Sprite operating system is used to offload work onto idle machines, and also to evict migrated processes when idle workstations are reclaimed by their owners, providing a high degree of transparency both for migrated processes and for users.
The design and implementation of Zap: a system for migrating computing environments
TLDR
The paper demonstrates that the Linux Zap prototype can provide general-purpose process migration functionality with low overhead and results for migrating pods show that these kinds of pods can be migrated with subsecond checkpoint and restart latencies.
Protium, an infrastructure for partitioned applications
TLDR
Protium attacks remote access issues by partitioning programs into local viewers that connect to remote services using application-specific protocols, and allows viewers to be customized to adapt to local features and limitations.
Wishbone: Profile-based Partitioning for Sensornet Applications
TLDR
Wishbone is a system that takes a dataflow graph of operators and produces an optimal partitioning, which shows that the system can quickly identify good trade-offs given limitations in CPU and network capacity.
...
...