Wednesday 1 March 2017

mClouds/Stratus



Vision: mClouds – Computing on Clouds of Mobile Devices


We have seen a lot of applications that require high computation and storage like the machine learning algorithms require high processing power and storage. The paper is based on the paradigm “Do it locally if you can”.

The paper is based on vision that with the current rate of growth in the mobile computational hardware in future the mobiles will have sufficient capabilities to run these algorithms. MCloud focuses on running resource intensive applications on collection of mobile devices that are ready to cooperate.

A single mobile device running complete resource intensive application is difficult, so the authors would like to build a cluster of mobile devices that would help with the processing.

Design:
The design of mCloud is pretty simple.
  • The master node that wants to run the application recognize the slaves that are willing to take up computation by broadcasting solicitation messages.
  • Once the slaves are identified, independent tasks are offloaded to the slaves for computation. 
  • Since the network is very dynamic (devices can enter and leave the network) periodic check on the availability of devices should be performed.

If there are any tasks that are not completed because of scarcity of resources or device moving out of network can be executed in the cloud by the master device. The decision of the device before accepting the invitation to run the tasks is based on certain incentives like battery performance of device, the wireless bandwidth usage etc.. The paper states that in future the carriers may provide incentives to the slave mDev for using the wireless bandwidth usage. But for this paper they considered the assumption that the master would pay slaves for their support (not sure how?)

Strength

  •  Most of the processing is pushed towards the edges i.e. onto mobile devices
  • The additional data that is required for applications can be obtained from the cloud at non-peak hours mostly when the device is charging. 
  • Incentives takes care of the utility, time taken to complete the service and battery drain costs.

Weakness
  • Being a vision paper it is mostly focused on stating on what the device cloud might look like and very simple way of making decisions. 
  • While deciding upon the incentives, the paper doesn’t provide clear understanding of how the parameters are defined. Are they static parameters for a specific mobile? Is there any method by which we could decide those parameters dynamically? 
  •  The independent tasks are offloaded by a master to other dev mobiles, but there is no clear understanding of how the independent tasks are defined. Are they specified by the developers or is there any automatic mechanism to decide upon that? 
  •  While offloading the computation to their devices, security is a primary concern. Are the other mobile devices secure to perform the computation? This is not discussed in detail in the paper. 
  • The paper doesn’t discuss about multiple application running within a single device.

Discussion points
  • What are the other potential devices that could take some load of computation?\
  • Will there not be overhead of network within the same devices if we run the discovery protocol periodically 
  •  If more than one device wanted to perform the tasks at the same point of time. Will the current procedure of calculating incentives be helpful?  Is this approach scalable in terms of multiple applications from multiple devices? 
  •  Network formed by mobile devices is dynamic. The paper states that if the cluster of devices are unable to perform the computation for reasons of nodes joining and leaving the network it would fall back to the cloud. But what is the effect on latency if such thing happens.


STRATUS: Assembling Virtual Platforms from Device Clouds


In edge computing we have seen mechanisms to offload the computation to a variety of edge devices i.e. other mobiles, Wi-Fi AP (Paradrop) etc. Most of the mechanisms focus on finding a single machine where the computation can be performed. Stratus on the other hand is a framework that dynamically constructs, synthesizes virtual platform from sets of network enabled devices, device clouds present in the end user environment. Stratus focuses on combining resources in different devices and provide a complete platform for computation i.e. processing can be on a device but memory of another device can be used. Combining the resources from different devices a device cloud is formed.

The issues that can arise with this kind of approach are heterogeneity of the devices, the communication between the devices and coordination between them to perform certain tasks. Since the processing is happening within the devices present in home, some part of security concern can be handled.

Design:
1    When an application is running the location based stratus service allows the application to join the device cloud.
2     The application sends its resource requirement to the stratus master
3    The stratus master with the list of the resources it has, checks with the devices for the availability of those resources
4     The stratus master then creates a virtual platform out of the existing resources and migrate the application running on single device to the virtual platform created.
5     Once the application is finished the virtual platform is terminated.

Strengths

  •  Computation happening within the home. 
  •  Power efficient policy is taking care of the device battery usage.

Weakness
  •  Since it is a vision paper there are no much details about implementation and numbers to support the idea. 
  •  Doesn’t mention much about the master node, how is the master selected and the criteria for a node to be master. 
  •  Master node being Single point of failure, no mechanism is mentioned about this. 
  •  User has to be familiar with the policies that are to be needed for every device. Not so user friendly. 
  •  Fall back mechanism when there are no sufficient resources within the device cloud is not discussed in detail. 
  •  All of the devices must have the Xen hypervisor. How scalable is the solution with this requirement? 
  •  How frequently is the performance index calculated and how is this decision going to affect the location of the resources?


Discussion
  •  What do you think about scalability of such a platform? With increase in the number of devices will the maintenance of the VM’s create any overhead on the master? 
  •  If suppose the resource for constructing a VM are taken from mobile devices, how will VM be handled when the devices are not in reach? Should there be a parameter in performance index to include mobility of the device? 
  •  Is having same file system for all devices feasible?





1 comment:

  1. Excellent points for both papers. Not clear they have identified the key insight/driver for using device clouds. A compelling use case remains elusive.

    ReplyDelete

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