Monday, February 2, 2015

Tactics-Based Remote Execution for Mobile Computing

Motivation:
With the growing need of the resource intensive applications to be able to run on mobile phones or other handheld devices, it is necessary that the applications are partitioned and remotely executed. These applications have high memory, power and processor requirements and, it makes sense to use the external compute servers rather than the resource constrained mobile phones. However, a system can achieve a performance that is close enough to the ideal run-time system only if the application is partitioned optimally otherwise it can result in a sluggish response which fails the purpose of remote execution.

Main Points:
  •  This paper focuses on the optimal partitioning of resource intensive applications for remote execution to match their performance with ideal run-time environment.
  •    The authors propose the design of a remote execution system, Chroma, that makes decisions on partitioning based on tactics which is defined as a compact declarative form that contains the application-specific knowledge relevant to remote execution.
  • The description of an application's tactics is very small compared to the number of lines of codes of the application.
  • To effectively select a tactic, Chroma needs to predict the resources for the tactic plan, measure the current resource availability and perform trade-off based on relative importance of resources.
  • Chroma tries to select the tactic-plan that maximizes the latency-fidelity utility function metric which is mathematically given as fidelity/ latency.
  • The overhead of selecting a tactic plan increases as the number of tactics for an application is increased.
  • In over-provisioned  environments, Chroma exploits the idle resources to improve user-experience by making multiple remote execution calls or splitting the work among multiple servers or perform same operation with different fidelity.
Trade-Offs:
  • Chroma iterates through every possible tactic plan to find the best one. The overhead cost can significantly increase when the number of tactics become large so there must be another better algorithm to choose the best tactic-plan. However, the authors claim that the number of tactics is low enough to carry out the brute-force method. That constrains the flexibility.
  • In over-provisioned environments, Chroma makes multiple remote execution calls and chooses the fastest result. Though this improves the user-experience for the application, I feel making multiple executions, calls for unnecessary computations.
  • Using a fixed utility function i.e. latency-fidelity metric doesn't fit to the applications for which other metrics are more important than fidelity.
  • The system presented ignores battery life-times while selecting the tactic-plan. This must be one of the priorities for the future work.

Note: Figure 4 of the paper shows us the data obtained after comparison between Ideal runtime and Chroma for Pangloss-Lite application. In the fast client table they have assigned the metric of gloss_dict_ebmt tactic-plan as 0.70 which I was unable to comprehend because according to their definition when multiple engines are used we should add their iundividual fidelities that is equal to 1.


t

1 comment: