• Corpus ID: 12638337

COMET: Code Offload by Migrating Execution Transparently

@inproceedings{Gordon2012COMETCO,
  title={COMET: Code Offload by Migrating Execution Transparently},
  author={Mark S. Gordon and Davoud Anoushe Jamshidi and Scott A. Mahlke and Z. Morley Mao and Xu Chen},
  booktitle={OSDI},
  year={2012}
}
In this paper we introduce a runtime system to allow unmodified multi-threaded applications to use multiple machines. The system allows threads to migrate freely between machines depending on the workload. Our prototype, COMET (Code Offload by Migrating Execution Transparently), is a realization of this design built on top of the Dalvik Virtual Machine. COMET leverages the underlying memory model of our runtime to implement distributed shared memory (DSM) with as few interactions between… 

Figures and Tables from this paper

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.

Code offload with least context migration in the mobile cloud

  • Yong LiWei 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.

Mobile code offloading for multiple resources

TLDR
Three new static code-offloading approaches that exploit all three remote resources—compute, memory and network—are proposed that enable applications written in unmanaged programming languages with only rudimentary runtime support to benefit from remote compute resources.

Minimizing Context Migration in Mobile Code Offload

  • Yong LiWei 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.

Techniques to Minimize State Transfer Costs for Dynamic Execution Offloading in Mobile Cloud Computing

TLDR
Novel techniques based on compiler code analysis that effectively reduce the transferred data size by transferring only the essential heap objects and the stack frames actually referenced in the server are introduced.

C-RAM: Breaking Mobile Device Memory Barriers Using the Cloud

TLDR
C-RAM splits application state and its associated computation between a mobile device and a cloud node to allow applications to consume more memory, while minimizing the performance impact, and enables developers to realize new applications or port legacy desktop applications with a large memory footprint to mobile platforms without explicitly designing them to account for memory limitations.

The Cloud as an OpenMP Offloading Device

  • H. YviquelG. Araújo
  • Computer Science
    2017 46th International Conference on Parallel Processing (ICPP)
  • 2017
TLDR
The cloud is introduced as a computation offloading device that integrates OpenMP directives, cloud based map-reduce Spark nodes and remote communication management such that the cloud appears to the programmer as yet another device available in its local computer.

Accelerating Mobile Applications through Flip-Flop Replication

TLDR
Tango is introduced, a new method for using a remote server to accelerate mobile applications that uses techniques inspired by deterministic replay to keep the two replicas in sync, and it uses flip-flop replication to allow leadership to float between replicas.

Floo: automatic, lightweight memoization for faster mobile apps

TLDR
Foo is a system that aims to automatically reuse (or memoize) computation results during app operation in an effort to reduce the amount of compute needed to handle user interactions and embeds several new techniques that collectively enable it to mask cache lookup overheads and ensure high cache hit rates.

JSReX: an efficient JavaScript-based middleware for multi-platform mobile peer-to-peer networks

TLDR
A novel distribution mechanism with a built-in JavaScript execution package, annotation processor and an engine to enable code offloading among the devices and servers in peer-to-peer (P2P) networks is presented.
...

References

SHOWING 1-10 OF 29 REFERENCES

MAUI: making smartphones last longer with code offload

TLDR
MAUI supports fine-grained code offload to maximize energy savings with minimal burden on the programmer, and decides at run-time which methods should be remotely executed, driven by an optimization engine that achieves the best energy savings possible under the mobile device's current connectivity constrains.

CloneCloud: elastic execution between mobile device and cloud

TLDR
The design and implementation of CloneCloud is presented, a system that automatically transforms mobile applications to benefit from the cloud that enables unmodified mobile applications running in an application-level virtual machine to seamlessly off-load part of their execution from mobile devices onto device clones operating in a computational cloud.

JESSICA2: a distributed Java Virtual Machine with transparent thread migration support

TLDR
JESSICA2 is presented, a new DJVM running in JIT compilation mode that can execute multi-threaded Java applications transparently on clusters and implements a cluster-aware Java execution engine that supports transparent Java thread migration for achieving dynamic load balancing.

cJVM: a single system image of a JVM on a cluster

cJVM is a Java Virtual Machine (JVM) that provides a single system image of a traditional JVM while executing on a cluster. cJVM virtualizes the cluster, supporting any pure Java application without

Towards transparent and efficient software distributed shared memory

TLDR
The Shasta system is a distributed shared memory system that supports coherence at a fine granularity in software and can efficiently exploit small-scale SMP nodes by allowing processes on the same node to share data at hardware speeds.

Hera-JVM: a runtime system for heterogeneous multi-core architectures

TLDR
Heterogeneous multi-core processors, such as the IBM Cell processor, are presented, and an implementation of the Java Virtual Machine which operates over the Cell processor is presented, thereby making this platforms more readily accessible to mainstream developers.

Helios: heterogeneous multiprocessing with satellite kernels

TLDR
Satellite kernels are introduced, which export a single, uniform set of OS abstractions across CPUs of disparate architectures and performance characteristics, and offloaded several applications and operating system components, often by changing only a single line of metadata.

Lazy Release Consistency for Software Distributed Shared Memory

TLDR
Lazy release consistency is a new algorithm for implementing release consistency that lazily pulls modifications across the interconnect only when necessary, and Trace- driven simulation indicates that lazy release consistency reduces both the number of messages and the amount of data transferred between processors.

Towards a distributed platform for resource-constrained devices

TLDR
This work believes that using an ad-hoc distributed platform to transparently off-load portions of a service from a resource-constrained device to a nearby server will reduce the burden on developers by masking more device details.

Design of the Munin Distributed Shared Memory System

  • J. Carter
  • Computer Science
    J. Parallel Distributed Comput.
  • 1995
TLDR
A detailed description of the design and implementation of the Munin prototype, with special emphasis given to its novel write shared protocol.