Wednesday 25 January 2017

CloneCloud: Elastic Execution between Mobile Device and Cloud


Motivation:
The intuition behind the CLoneCloud comes from the probable cost optimization if the cost for sending and receiving the relevant data and code in addition to the execution cost on the cloud, is significantly faster than that on the mobile device. Similar approaches were proposed earlier but they did not have fine-grained decision taking capability based on the current resource availability with the device.

Main Points:
- In the design proposed by the paper, the programmer does not have to predefine the partitions of the services between mobile and cloud. This is done automatically and seamlessly by the CloneCloud.

- Partitioning of services is carried out on the basis of the expected workload and execution environment (CPU speeds, network performance and energy consumption).

- CloneCloud migrator operates at thread granularity which is a new approach in comparison to the traditional suspend-migrate-resume mechanisms for app migration. For offloaded execution, the design supports the migration of particular threads with relevant execution state on demand and merging of migrated state back to original process.

- Using the proposed design, CloneCloud achieved upto 20x speed increase and 20x less energy consumption of smartphone.

Tradeoffs/Shortcomings:
- Static analyzer restricts the migration and reintegration points to routine entry and exit points only (to deal with optimization problem easily). Dynamic profiler uses random inputs for the cost modelling, and this might not give us the best cost model as some executions paths might not get covered.

- The system does not support the distributed shared memory (DSM) model i.e. worker threads sharing the same state cannot be offloaded at the same time.

- The design only supports the migration at execution points where no native state need to be collected and migrated. This is done as the migrator would then have to collect the native context for transfer which increases the complexity of the system due to the processor architectural differences, file descriptor differences etc.

- To control the complexity further, the pre-existing state on the mobile device remains unaltered until the migrant thread returns.


- For optimization the paper considers networks characteristics, CPU speeds and energy consumption. There is no mention about the overhead in case of faulty clone.

1 comment:

Note: only a member of this blog may post a comment.