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.
Good job!
ReplyDelete