Abstract
Compared to traditional distributed computing like grid system, it is non-trivial to optimize cloud task's execution performance due to its more constraints like user payment budget and divisible resource demand. In this paper, we analyze in-depth our proposed optimal algorithm minimizing task execution length with divisible resources and payment budget: 1) We derive the upper bound of cloud task length, by taking into account both workload prediction errors and hostload prediction errors. With such state-of-the-art bounds, the worst-case task execution performance is predictable, which can improve the quality of service in turn. 2) We design a dynamic version for the algorithm to adapt to the load dynamics over task execution progress, further improving the resource utilization. 3) We rigorously build a cloud prototype over a real cluster environment with 56 virtual machines, and evaluate our algorith with different levels of resource contention. Cloud users in our cloud system are able to compose various tasks based on off-the-shelf web services. Experiments show that task execution lengths under our algorithm are always close to their theoretical optimal values, even in a competitive situation with limited available resources. We also observe a high level of fair treatment on the resource allocation among all tasks.
Original language | English (US) |
---|---|
Article number | 6671596 |
Pages (from-to) | 194-207 |
Number of pages | 14 |
Journal | IEEE Transactions on Cloud Computing |
Volume | 2 |
Issue number | 2 |
DOIs | |
State | Published - 2014 |
Externally published | Yes |
Keywords
- Algorithm
- cloud computing
- convex optimization
- divisible-resource allocation
- upper bound analysis
ASJC Scopus subject areas
- Software
- Information Systems
- Hardware and Architecture
- Computer Science Applications
- Computer Networks and Communications