Please use this identifier to cite or link to this item:
Title: Computation partitioning in mobile cloud applications : modeling, optimization and evaluations
Authors: Yang, Lei
Degree: Ph.D.
Issue Date: 2014
Abstract: The proliferation of sensors on mobile devices and ubiquitous network access to clouds enable many mobile cloud applications such as augmented reality (e.g., Google Glass), voice recognition (e.g., iPhone Siri), real time translation and so on. Computation partitioning between the mobile device and the cloud for these applications is an important and challenging research topic. Although there are works done on some aspects of this study, how to provide a systematic approach to support the partitioning for various models of applications and systems is yet to be addressed. In this thesis, we classify computation partitioning into different models by considering two dimensional properties: application dimension and system dimension. On application dimension, we do partitioning for two types of applications: computation dependent application and computation independent application. On system dimension, we do the partitioning for two types of systems: single user system and multiple users system. In this thesis, we focus on the study of three models: 1) computation independent application and single user system, named as computation offloading, 2) computation dependent application and single user system, named as single user computation partitioning, 3) computation dependent application and multiple user system, named as multiple user computation partitioning. The thesis contains three parts, which tackle the most urgent and significant issues in terms of the thee models. The details are as follows. First, we study the simplest model of computation partitioning, where the application is composed of independent computations and the partitioning decision is done for one single user. We take the RFID tracking as a case study, and demonstrate that computation partitioning can significantly improve the application performance. In particular, we consider the RFID system that attaches the RFID reader on the moving object, and deploys passive RFID tags in the environment. The moving object collects the noisy RFID readings, and perform continuous estimation of its position in real time. Traditional approaches such as Particle Filter (PF) can achieve high accuracy, but require a large amount of computations on the device. The approaches are hard to be implemented on some mobile devices that are constrained by the computing capabilities and battery. Other existing approaches such as Weighted Centroid Localization (WCL) are cheap in computational cost, but yield bad accuracy especially when the object's speed is high. Thus, we propose an adaptive approach to achieve accuracy and energy efficiency. Our approach can adaptively choose costly PF and cheap WCL according to the estimated speed of the object, and adaptively partition the computations between the mobile device and infrastructure servers or clouds based on the quality of network connections. We evaluate our solution through real world experiments, and show that our proposed approach with computation partitioning outperforms other approaches in terms of both accuracy and efficiency.
Second, we study the model of single user computation partitioning, where the application is composed of dependent computations and the partitioning decision is done for one single user. We found that most existing works on computation partitioning pertains to this model. We tackle two issues that are important but not solved in existing works. One issue is partitioning of data streaming application. In this work, we aim at optimizing the partition of a data stream application between mobile and cloud so that the application has maximum speed/throughput in processing the streaming data. To the best of our knowledge, ours is the first work to study the partitioning problem for mobile data stream applications, where the optimization is placed on achieving high throughput of processing the streaming data rather than minimizing the makespan of executions in other applications. We propose a framework to provide runtime support for the dynamic partitioning and execution of the application. Different from existing works, the framework not only allows the dynamic partitioning for a single user but also supports the multiple tenancy service invocation in the cloud to achieve efficient utilization of the underlying cloud resources. The framework is designed on the elastic cloud fabrics for better scalability. The optimization of the partitioning for each single user is by using genetic algorithm. Through both extensive simulations and experiments on real world applications, we show that our method can achieve more than 2X better performance over the execution without partitioning. The other issue is computation partitioning under dynamic mobile cloud environments. Existing works assume that the computational and data transmission cost of each part of the application remains the same as the application is running. This assumption does not hold in dynamic mobile cloud environments, where the device and network connection status may fluctuate, and thus affects the computational and transmission cost. In this case, the one time partitioning of the application may yield significant performance degradations. Therefore, we consider updating the partition periodically during the course of application execution, which is named as computation repartitioning in our thesis. We propose a framework for run time computation repartitioning in dynamic mobile cloud environments. Based on this framework, we take the dynamic network connection to clouds as a case study, and design an online solution, Foreseer, to solve the mobile cloud application repartitioning problem. We evaluate our solution based on real world data traces that are collected in a campus WiFi hotspot testbed. The result shows that our method can achieve significantly shorter completion time over previous approaches. Third, we study the most complex model of computation partitioning, where the application is composed of dependent computations, and the partitioning decision is made for multiple users. In this model, the multiple users compete for the computing resources shared by the users on the cloud. The users' partitioning decisions are dependent with each other. To achieve high system performance, the users' partitioning decisions should be considered jointly with the scheduling of computations on the shared cloud resources. To the best of our knowledge, we are the first to study the Multiple user Computation Partitioning Problem (MCPP). We show that MCPP is different from and more difficult than the classical job scheduling problems. In classical job scheduling problems, the computations are allowed to schedule onto arbitrary resources including the mobile devices and cloud resources, while in MCPP the users computations can not be scheduled to other usersdevices. We design an offline heuristic algorithm, namely SearchAdjust, to solve MCPP. We demonstrate through benchmarks that SearchAdjust outperforms the classical job scheduling approaches by 10% on average in terms of application delay. Based on SearchAdjust, we also design an online algorithm for MCPP that can be easily deployed in practical systems. We validate the effectiveness of our online algorithm using real world load traces.
Subjects: Cloud computing.
Mobile computing.
Hong Kong Polytechnic University -- Dissertations
Pages: xx, 180 p. : ill. ; 30 cm.
Appears in Collections:Thesis

Show full item record

Page views

Citations as of May 15, 2022

Google ScholarTM


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.