Heterogeneous and Elastic Computation Framework for Mobile Cloud Computing
The number and variety of applications for mobile devices continue to grow. However, the resources on mobile devices including computation and storage do not keep pace with the growth. How to incorporate the computation capacity on cloud servers into mobile computing has been desired and challenge issues to resolve. In this work, we design an elastic computation framework to take advantage the heterogeneous computation capacity on cloud servers, which consist of CPUs and GPGPUs, to meet the computation demands of ever growing mobile applications. The computation framework extends OpenCL framework to link remote processors with local mobile applications. The framework is flexible in the sense that the computation can be stopped at any time and gains results, which is called imprecise computation in real-time computing literature. The framework has been evaluated against OpenCL benchmark and physical computation engine for gaming. The results show that the framework supports OpenCL benchmark, RODINIA, without modifying the codes with few exceptions. The elastic computation framework allows the cloud servers to support more mobile clients without sacrificing their QoS requirements. The experiment results also show that IO intensive applications do not perform well when the network capacity is insufficient or unreliable.