Wednesday, February 11, 2015

CloneCloud: Elastic Execution between Mobile Device and Cloud

Motivation:

Mobile cloud computing will play an important role. Smart phones have opportunity to access abundance of cloud resources. There lacks a flexible architecture to augment mobile device applications on the cloud side seamlessly and automaticly, which also makes programs fast and energy-efficient. 

Main Points:

  • The paper explores the design of CloneCloud’s partitioning components and its distributed execution mechanism. The partitioning framework include static analyzer, dynamic profiler and optimization solver. The distributed execution has three components: a per-process migrator thread, a per-node node manager and a simple partition database
  • The Static Analyzer identifies legal partitions of the application executable. This part decide whether part of code can be run on cloud side. Methods which require local resources, share native state and has recursive methods must run remotely. 
  • Dynamic profiler collects the data that will be used to construct a cost model. The profiler produces a set S of executions and for each executions a profile tree T and T'. For energy consumption, the paper uses CPU activity, display state and network state. 
  • Based on the results from Static Analyzer and Dynamic profiler,  Optimization Solver can get computation time and migration time, the sum of which is the total time the program costs. The goal of this modal is to minimize the total cost, which can be solved by integer linear programming(ILP) solver. 
  • In the distributed execution, the function of migrator is to manipulate internal state of application-layer virtual machine. The manager is a per-node component shared by multiple applications. The datebase is for user to manually pick up a partition.
  • During the distributed process, smart phone should suspend threads and capture state of the threads. Then, the smart phone transfer the state to the cloud. Finally the cloud resume thread and merge state by using an object mapping table. 

Trade-offs:

  • This paper gives us an automatic way to schedule code running on cloud. 
  • This paper gives us an optimal solution to minimize the total cost. However, the paper ignores the time and energy cost that caused by task schedule, such as Static Analyzer, Dynamic Profiler and Optimization Solver. Also, the energy express is too simple. I think this can be refined in the future work. 
  • This paper does not give us the running time of integer linear programming (ILP) solver. When the number of methods becomes larger, the solver itself can cost more time than the program. 

1 comment:

  1. Good analysis. I believe the paper does mention at one point that the execution time to run the partitioner is 23 secs (if I remember), but it does not provide any detailed separate results for overhead nor the energy cost involved.

    ReplyDelete