Wednesday, February 11, 2015

COMET: code offload by migrating execution transparently

Motivation:
A fault-tolerant code offloading mechanism, known as COMET that improves mobile computation speed via thread migration. Deployment does not require developer effort and provides first of its kind offloading engine that executes multi-threaded programs correctly with efficiency. The goal is to augment low performance devices with higher performance capabilities.

Main Points:
  •  The paper explores the concept of transparent migration of threads between the host device and multiple machines. A fault-tolerant feature introduced by the paper known as COMET allows for a seamless migration of threads over Dalvik (a process VM in Android OS).
  • Distributed Shared Memory (DSM) enables sharing of address spaces between computing elements. This enables the programmer to augment low performance devices with high performance elements.
  • Benefits provided with COMET + DSM may outperform or provide similar benefits to that of a compiler over hand-optimized code. Additionally, this can save programmer’s effort in doing so.
  • DSM allows for support of multi-threading computation and migration of threads during execution rather than offloading methods. Moreover, this minimizes on client server interaction, observed as a positive aspect, as DSM allows for multiple writer threads of the same memory unit.
  • COMET overcomes the infamous deadlock situations in concurrent programming model by relying on offloading mechanism provided by DSM and virtual machine synchronization techniques.
  • In case of recovery from a network failure, the client only needs to resume all threads locally and reset the set that tracks object to be shared (dirty objects).
  • Improvement on energy efficiency is also seen with COMET. This is perceived as a positive side-effect as compute intensive operations are executed remotely, as a result low performance device consume less processor cycles, in effect saving on energy.


Trade-offs:
  • As the developer does not manipulate all offloading decisions, COMET decides on what needs to be offloaded. This is seen as a drawback as it may choose to send data that may not need heavy computing. This results into wasteful of bandwidth and can make offloading opportunities sparser.
  • The paper focuses on experiments that do not comprise of migrating private data among endpoint. COMET does not ensure accuracy of computed data nor the privacy of provided inputs. This is a potential trade-off in terms of security, as any malicious server can take arbitrary action on behalf of the client process being offloaded.



1 comment:

  1. Good analysis. Is there a way to fine tune the amount of data transmitted to be reduce the amount of unneeded data? Is there a way to deal with inaccuracy or privacy?

    ReplyDelete