qos-aware virtual machine scheduling for video streaming...

10
TSINGHUA SCIENCE AND TECHNOLOGY ISSNll 1007-0214 ll 10/11 ll pp308-317 Volume 18, Number 3, June 2013 QoS-Aware Virtual Machine Scheduling for Video Streaming Services in Multi-Cloud Wei Chen, Junwei Cao , and Yuxin Wan Abstract: Video streaming services are trending to be deployed on cloud. Cloud computing offers better stability and lower price than traditional IT facilities. Huge storage capacity is essential for video streaming service. More and more cloud providers appear so there are increasing cloud platforms to choose. A better choice is to use more than one data center, which is called multi-cloud. In this paper a closed-loop approach is proposed for optimizing Quality of Service (QoS) and cost. Modules of monitoring and controlling data centers are required as well as the application feedback such as video streaming services. An algorithm is proposed to help choose cloud providers and data centers in a multi-cloud environment as a video service manager. Performance with different video service workloads are evaluated. Compared with using only one cloud provider, dynamically deploying services in multi- cloud is better in aspects of both cost and QoS. If cloud service costs are different among data centers, the algorithm will help make choices to lower the cost and keep a high QoS. Key words: cloud computing; dynamic scheduling; data centers; video streaming; service computing; performance evaluation; Quality of Service (QoS) 1 Introduction Cloud computing is changing more and more services on Internet [1, 2] . Amazon is the most popular public cloud provider, and more providers are entering this area. The number of cloud providers will increase explosively in future. Netflix is a video streaming service provider and based on Amazon EC2. It has been proved that a video service based on cloud computing is feasible. How to choose cloud providers is becoming increasingly important. Different cloud providers may Wei Chen, Junwei Cao, and Yuxin Wan are with the Research Institute of Information Technology, Tsinghua National Laboratory for Information Science and Technology, Tsinghua University, Beijing 100084, China. E-mail: [email protected]; [email protected]; [email protected]. To whom correspondence should be addressed. Manuscript received: 2013-05-16; accepted: 2013-05-16 charge different prices and support different service items. One cloud provider may have several data centers to choose. The position of data center is also important for data-intensive service like streaming video. The Quality of Service (QoS) will decrease if the data center is far from the end users. In such a multi-cloud environment, applications based on cloud should make choices of how to use these resources. Security in cloud computing is also very important. Lots of works [3, 4] have been done to resolve this problem. In multi-cloud, security problem is more important and difficult. With such a standard security management, cooperation in multi-cloud providers can be achieved. For a video service system based on cloud, the cost of renting storage and Virtual Machines (VM) is the main part of the total cost. The cost of VM is dynamically changing with the application requirements. Less VMs than needed leads to a high resource utilization. More VMs than needed will cause a waste of resource. The

Upload: others

Post on 01-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

TSINGHUA SCIENCE AND TECHNOLOGYISSNll1007-0214ll10/11llpp308-317Volume 18, Number 3, June 2013

QoS-Aware Virtual Machine Scheduling for Video Streaming Servicesin Multi-Cloud

Wei Chen, Junwei Cao�, and Yuxin Wan

Abstract: Video streaming services are trending to be deployed on cloud. Cloud computing offers better stability

and lower price than traditional IT facilities. Huge storage capacity is essential for video streaming service. More

and more cloud providers appear so there are increasing cloud platforms to choose. A better choice is to use more

than one data center, which is called multi-cloud. In this paper a closed-loop approach is proposed for optimizing

Quality of Service (QoS) and cost. Modules of monitoring and controlling data centers are required as well as the

application feedback such as video streaming services. An algorithm is proposed to help choose cloud providers

and data centers in a multi-cloud environment as a video service manager. Performance with different video service

workloads are evaluated. Compared with using only one cloud provider, dynamically deploying services in multi-

cloud is better in aspects of both cost and QoS. If cloud service costs are different among data centers, the algorithm

will help make choices to lower the cost and keep a high QoS.

Key words: cloud computing; dynamic scheduling; data centers; video streaming; service computing; performance

evaluation; Quality of Service (QoS)

1 Introduction

Cloud computing is changing more and more serviceson Internet[1, 2]. Amazon is the most popular publiccloud provider, and more providers are entering thisarea. The number of cloud providers will increaseexplosively in future. Netflix is a video streamingservice provider and based on Amazon EC2. It has beenproved that a video service based on cloud computingis feasible. How to choose cloud providers is becomingincreasingly important. Different cloud providers may

�Wei Chen, Junwei Cao, and Yuxin Wan are with theResearch Institute of Information Technology, TsinghuaNational Laboratory for Information Science and Technology,Tsinghua University, Beijing 100084, China. E-mail:[email protected]; [email protected];[email protected].�To whom correspondence should be addressed.

Manuscript received: 2013-05-16; accepted: 2013-05-16

charge different prices and support different serviceitems. One cloud provider may have several data centersto choose. The position of data center is also importantfor data-intensive service like streaming video. TheQuality of Service (QoS) will decrease if the datacenter is far from the end users. In such a multi-cloudenvironment, applications based on cloud should makechoices of how to use these resources. Security in cloudcomputing is also very important. Lots of works[3, 4]

have been done to resolve this problem. In multi-cloud,security problem is more important and difficult. Withsuch a standard security management, cooperation inmulti-cloud providers can be achieved.

For a video service system based on cloud, the cost ofrenting storage and Virtual Machines (VM) is the mainpart of the total cost. The cost of VM is dynamicallychanging with the application requirements. Less VMsthan needed leads to a high resource utilization. MoreVMs than needed will cause a waste of resource. The

Page 2: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

Wei Chen et al.: QoS-Aware Virtual Machine Scheduling for Video Streaming Services in Multi-Cloud 309

standard of the needed number is based on QoS. Anappropriate resource utilization of VM can reduce thepacket loss or decoding delay in the video streamingservice, which will help to improve the QoS. In thesimulation, the QoS is calculated by the distancebetween the user and the server as well as the resourceutilization of the server.

2 Related Work

Cloud computing is rapidly developing and becomingmore and more attractive. Low cost, high efficiency, andscalability are very significant in the environment of bigdata, which is becoming a trend. Amazon, Google, andsimilar technique companies are heavily pushing thedevelop of cloud computing. For Small and Medium-sized Enterprises (SMEs), cloud computing is the firstchoice of decreasing the cost of IT[5-7]

In cloud computing, economics are becoming criticalfor both the cloud providers and users. Cao etal.[8] studied the problems of optimal multiserverconfiguration to maximize the profit. A lot of factors aretaken into account such as the amount of a service, theworkload, the configuration of the multiserver system,the service level, the QoS, the cost of renting, thecost of energy consumption, and the profit of a serviceprovider. By modeling this problem as an optimizationproblem, authors solved the problem and made asimulation on it.

Multi-cloud[9, 10], which means building a hybridplatform for one vertical application by more than onecloud services. These cloud services may be providedby different providers and the data centers are usuallybuilt in different locations. By using the location-basedfeature of some application, the system can support theapplication nearby. The cost of the whole network willdecrease and the quality of service will be improved.

Simarro et al.[10] studied how to configure the virtualmachine of users dynamically when there are severalcloud platforms and there are different prices to lowerthe cost of users. It brings a price prediction model ofcloud services. Using the predicted prices, the systemschedules the virtual machine to archive a lower totalcost. As a result, users can save up to 5% per day. Thispaper will also take the prices of each cloud service intoaccount. But the goal is to reach a better QoS and priceat the same time.

Li et al.[11] tried to summarize a new optimizationapproach in clouds. In clouds, QoS guaranteeing is a

significant work. Li et al. built a performance model toinvest the cloud. A closed loop is set to control the QoSof cloud. While the cloud is serving, a sensor is usedto observe the status of cloud. The observation resultis compared with QoS goal. An optimization method isused to analyze and plan the next behaviour. Then theplan is executed by the effector to control an allocationof resources.

In an video streaming system, the QoS guaranteeingis very important. A closed-loop can ensure the QoS inan acceptable scope. The optimization model needs tomake a correct instruction of increasing or decreasingresources. Compared with Li et al.[11], the modeldescribed in our work extends the background to multi-cloud environment.

Video streaming technique has been developed forseveral years and can resolve lots of problems forthe online video demand. But on a large scalesituation, more targeted development and optimizationare required. In Ref. [12], authors introduced keyissues on video streaming. Application-layer QoS isspecially discussed because it is very important in videoapplication. Content Delivery Network (CDN) is alsoa very important way to improve the quality of videoservice. It is a buffer-like service which can supportcontent delivery need. By using CDN only, lots ofproblems can not be solved very well, so some relatedtechniques based on CDN are developed.

In Refs. [13,14], authors studied the QoS for voiceand video streaming on Internet. The QoS is affectedby the transition delay and packet lost rate. Authorsestimated the “goodness” of a video transition fromthe perspective of the video stream, instead of thetraditional way of relying on raw network performancedetections. The estimates are used to make decisions ofwhich path should be chosen.

In Ref. [15], authors studied the method ofsupport video stream and decreased the cost forthe video-on-demand application. They used anovel queue network model to describe the usersviewing behaviors. The equilibrium demand of uploadbandwidth was derived to satisfy the demand of smoothplayback. Then, practical cloud parameters were takeninto account. Two optimization problems related toVM provisioning and storage rental were formulatedand some efficient solutions were proposed. In cloudcomputing, users need to optimize the time andnumbers of VM and storage to lower the cost. Wuet al.[15] also designed a practical dynamic cloud

Page 3: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

310 Tsinghua Science and Technology, June 2013, 18(3): 308-317

provisioning algorithm. A video-on-demand providercan easily configure the cloud services to meetits demands based on the solutions. To test theperformance of the algorithm, an evaluation based onreal system implementations was taken. Practical userdynamics observed in real-world video-on-demandsystem. The results confirmed the adaptability andeffectiveness of their system in varying demands andguaranteeing smooth playback at any time.

Netflix is a good example of providing video servicesvia cloud platform. They used the Amazon Web Serviceto start their business. When the number of users areincreasing rapidly, the resources can be ready for themvery soon and when the users decrease, the cost candecrease at the same time.

3 Algorithm Design

3.1 Background

In this paper, the background is multi-cloud. Thereare several data centers in several places. In each datacenter, elastic computing resources can be used.

In cloud computing, VM is the unit of serviceprovided for the users. When the service needs morecomputing ability, users can ask for more VMs. Inone data center, the network bandwidth is wide enoughso the data transaction between VMs is very fast andcheap. For video services, the system will store a copyof video data in each data center and all the VMs in thisdata center will share this copy to provide service.

The internet out of data center is morecomplex. When the user is far from the serverin data center, the quality of video service willdecrease, because the delay time and packet lossrate will increase. At the same time, because of theretransmission and artificial refresh operation, the presson the service will also increase. But storing data innew data centers to providing a nearby service willcause lots of cost for storage. How to make the decisionis one of the target in this paper.

To be simple, the locations of users and serversare put on a 2-dimensional map. Normally, in abig city, the population density is high and in otherlocations, the population density is low. We simulateda users’ distribution map and designed several citieson the map. The population distribution was generatedrandomly and all experiments were based on this map.

In the map, data centers are located somewhere. Partsof them are in big cities, which means they are near to

a large number of users. Parts of them are far from bigcities, which means the cost of the data center will below so the price should be low. The service system ofour video stream has the condition of use resource ofall these data centers. If a service from one data centerstarts, the system will use the storage service on thisdata center first. Then the system will decide the numberof VMs in this data center.

To decrease the cost of the system is one of the targetsin this algorithm. The system cost is composed of theVM cost and the storage cost. When one cluster in adata center is used, the storage cost will occur. The VMcost is proportional to the number of used VM.

Assume that the distance between one user and theserver for him is x, the consumption of the serverresources is f .x/. Normally, f .x/ is an increasingfunction, but the increasing amplitude is not big. Inone data center, the system can ask for any number ofVMs. When the resource of the existing VM is nearlyused out, the QoS will decrease. The system will askfor one more VM to serve the new customers when theexisting resource is not enough. The QoS is related tothe distance too. If x is bigger than one threshold, theQoS of this user will decrease. The QoS is between 0and 1.

Based on all these assumption, authors designed aload balancing algorithm for multi-cloud model. Thisalgorithm will lower the total cost with keeping theaverage QoS. When the number of users changed, thealgorithm will make correct decision to reach this goal.

3.2 Model description

Figure 1 shows the architecture of this system. Ineach available data center, there is a monitor andan executor. The monitor can collect the resourceutilization of all the VM in this data center. There isa local load balancing mechanism. When some VMshave high utilization and others do not, the monitor willsend message to the executor to redirect the connectionsof some users. So the utilization can keep relativelybalanced. The global optimizer only need to collectthe average resource occupancy of VMs in one datacenter. The user’s location is collected by the optimizerand the location is the most important reference todecide which data center should be used. When theoptimizer finds that the number of VMs should increaseor decrease, it will send an instruction to the executor.

By the loop in Fig. 1, the optimizer will has fullcontrol of this system. Cooperated with the algorithm

Page 4: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

Wei Chen et al.: QoS-Aware Virtual Machine Scheduling for Video Streaming Services in Multi-Cloud 311

Fig. 1 Dynamic scheduling model for video servicedeployment in multi-cloud.

in Section 3.3, the QoS can keep an acceptable valueand the cost will be as low as possible.

3.3 Algorithm implementation

The variables of this question are:(1) Do or do not start a service in which data center;(2) How many VMs should be used in each data

center;(3) Which VM will be distributed for each user.By making decision of these problems in the

algorithm, the system need to reach two goals:(1) The total cost is low.(2) The average QoS is high.Normally, the QoS floats from 0 to 1. Deciding

two goals at the same time is complex and hard, sowe make an evaluation indicator according to the realdemand. When QoS is very low, the system will beuseless so the weight of QoS should be increased. Whenthe QoS is bigger than one threshold, the promotionof QoS makes little sense. So the weight of QoS will

be decreased. For the others, these two aspects will beconsidered at the same time.

So the indicator is

f .cost; QoS/ D

8̂̂̂̂ˆ̂̂<̂ˆ̂̂̂̂̂:

0:7costQoS2

; QoS 2 .0; 0:7/I

costQoS

; QoS 2 Œ0:7; 0:9�I

p0:9costp

QoS; QoS 2 .0:9; 1�

(1)This algorithm needs to keep optimizing and making

decision when the number of users changes. Figure 2is the process flow diagram. The algorithm can bedescribed as below:

Fig. 2 Process of the algorithm.

Page 5: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

312 Tsinghua Science and Technology, June 2013, 18(3): 308-317

(1) In current status, check if the QoS is too low or toohigh.

(2) If the QoS is too low, add VM in the data centerwhich has the highest resource utilization. If theQoS is too high, try to decrease VM number inthe data center which has the lowest resourceutilization.

(3) Wait until the number of users changes. Whenthe number of users decreases, check the datacenter which owns the server of the leavinguser. Decrease the VM number if possible.

(4) When a new user comes, find a best data centerfor this user. If the existing VMs have enoughresources to serve this user, the cost can keepthe same. So the new user will connect to thisdata center. The best data center is chosen byconsidering both the price and the distance.

(5) If the existing VM does not have enough resources,try to calculate the new average QoS and total costafter adding a VM in this data center.

(6) Searching for the available data centers which hasnot been used, try to start using one. Once onedata center is started, the existing users will bereevaluated which data center is the best. After therescheduling, calculate the new average QoS andtotal cost. Choose a best candidate and comparewith the result of last step.

(7) Choose a better one from the result of (5) and (6).

4 Performance Evaluation

4.1 Experiment data set

First, we can check the simulated map. We designed9 cities and most users appear around the cities. Themap size is 10 000�10 000 and each point stands forone user appearing in that location. The locations arerandomly generated but it does not impact the result ofthe algorithm. In the real system, the manager can inputthe real data of users location to the algorithm.

When the number of users is 100, 1000, or 10 000,the population distribution is shown in Fig. 3. In thesimulation environment, we set 18 cloud platforms inthe map. Nine of them are in the 9 cities, the other 9randomly on the map.

At the beginning, there were no users in our system,the system randomly chose a data center in the map andbegan to service. The number of users increased from0 to 10 000, the average QoS and the total cost of thesystem are monitored.

Fig. 3 Users’ distribution on generated map of the numberof users’ 100, 1000, 10 000.

4.2 Experimental results without price difference

Firstly, we set the prices of all the data centers as thesame value. So the system will surely lead the userto the nearest opened data center. Besides, we set thestorage cost of each data center 10 times of the costof one VM in the same data center. In this situation,the QoS changing curve with the users’ increasing isshown in Fig. 4. The inflection points appear severaltimes in the figure. Each inflection point stands for arescheduling of all the links after a new data center isused.

Page 6: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

Wei Chen et al.: QoS-Aware Virtual Machine Scheduling for Video Streaming Services in Multi-Cloud 313

Fig. 4 QoS changes with increasing of the number of users.

Each time the rescheduling occurs, the QoS will beimproved. It is reasonable because when one more datacenter is used, some nearby users will be able to connectto this data center and the QoS of these users will beimproved. After the rescheduling, the QoS is decreasingslowly along with the increasing of the number ofusers’. It is because while more users connect, theheavier the loads of data centers increase.

The lowest point of QoS appears on the first inflectionpoint and the value is 0.9. Since then, the QoS is alwaysbigger than 0.9. When the number of users reach 10 000,the QoS is about 0.963.

The total cost will surely increase along with thenumber of users. So we inspect the average cost ofeach user. When the number of users is very small,the storage cost will appear too large. So the averagecost when the number of users is less than 200 is notcounted. The curve is shown as Fig. 5. The basic trendof the cost per user is to decrease, because the storagecost per user is lower. When the number of the usersreaches 10 000, the cost per user is 0.69 which we willuse to compare with later. The curve has lots of small

Fig. 5 Cost-per-user decreases with increasing of thenumber of users.

waves, which are caused by the cost increase of newVM and new data center. According to the simulationresults, 4 data centers are used. Then the numbers ofVM for these 4 data centers are 73,66,68,98. The 4 datacenters on map are shown in Fig. 6. As a comparison,we simulate the algorithm of using only one of the datacenters and only add VM when the resource occupancyrate is larger than the threshold. The curve of the QoSis shown in Fig. 7. It is reasonable that the QoS iscontinuously decreasing because many users are toofar from this data center and have no other choice butbearing the bad QoS.

From Fig. 8, we can find that, the cost per user isalso continuously decreasing along with the number ofthe users. But when the number reaches 10 000, thecost per user is 0.7241, which is bigger than that ofour algorithm. Although the cost of storage in a newdata center is large, the cost per user is lower by ouralgorithm. And the QoS is much better than only usingone data center.

Fig. 6 The location of data centers which are used.

Fig. 7 QoS comparison between using one cloud anddynamically choosing in multi-cloud.

Page 7: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

314 Tsinghua Science and Technology, June 2013, 18(3): 308-317

Fig. 8 Cost per user comparison between using one cloudand dynamically choosing in multi-cloud.

4.3 Experimental results with price difference

In real system, the prices of each data center arenot the same. Some data centers are built in placeswhere the electricity is cheaper than others. Now aprice coefficient is brought in for each data center. Thecoefficient changes from 0.85 to 2. In our settings,the price in big cities is normally higher than that ofothers, but there are exceptions. The price coefficientsof data centers in cities change from 1 to 2, andthose of the others change from 0.85 to 1.8. Basedon this assumption, the price coefficients are randomlygenerated. When price difference is brought intoaccount, the decision of which data center shouldone user connect to is not an obvious thing. In thisalgorithm, the system will choose a cheaper one if thedistances do not differ too big to heavily influence theQoS. In this situation, the changing curve of QoS isshown in Fig. 9.

The QoS changing curve do not differ too much withthat of Fig. 4. The cost per user changing curve is

Fig. 9 QoS changes along with the increasing of users. Theprice coefficient does not make great changes comparing withFig. 4.

shown in Fig. 10. When the number of user reaches10 000, the cost per user is 0.6181. It is lower thanthat of no price difference. Although most data centershave price coefficients larger than 1, which means theprices of most data centers are higher than the firstsimulation environment, the cost decreases at the end. Itconfirms that, in our algorithm, the system will choosethe cheaper data centers under the premise of keepingthe QoS. According to the simulation results, 4 datacenters are used. The locations of these 4 data centersare shown in Fig. 11.

4.4 Experimental results with different storageprices

The price of storage is 10 times of the price of VM inabove experiment. The ratio is decided by the storagesize. If the whole size of videos is bigger, the ratio willbe higher.

(1) we set the price of storage in each data centeras 25 times of VM price. And all the prices ofdata center are the same. The performance of QoS is

Fig. 10 Cost per user decreases along with the increasing ofthe users and lower than that without price coefficient.

Fig. 11 The location of data centers which are used withprice coefficient.

Page 8: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

Wei Chen et al.: QoS-Aware Virtual Machine Scheduling for Video Streaming Services in Multi-Cloud 315

shown in Fig. 12. As we can see, when the price ofstorage increases, the number of opened data centerdecreases. It is easy to understand that the moreexpensive the fixed cost per data center is, the less datacenters will be used. The used data centers on map areshown in Fig. 13.

(2) The price coefficient is are the same with these in(1). The QoS is shown in Fig. 14.

Fig. 12 QoS changes without price coefficient when theprice of storage is 25 time s of the price of VM.

Fig. 13 The location of data centers which are used whenthe price of storage is 25 times of the VM price.

Fig. 14 QoS changes with price coefficient when the price ofstorage is 25 times of the VM price.

(3) No price coefficient used. The price of storageis 2 times of the price of VM. The QoS is shown inFig. 15. The used data centers on map are shown inFig. 16.

(4) The price coefficient is used. The price of storageis 2 times of the price of VM. The QoS is shown inFig. 17. The explain is the same as above. Almost alldata centers are used.

Fig. 15 QoS changes without price coefficient when theprice of storage is 2 times of the price of VM.

Fig. 16 Locations of used data centers when the price ofstorage is 2 times of the VM price.

Fig. 17 QoS changes with price coefficient when the price ofstorage is 2 times of the VM price.

Page 9: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

316 Tsinghua Science and Technology, June 2013, 18(3): 308-317

(5) No price coefficient used. The storage is free. TheQoS is shown in Fig. 18.

(6) The price coefficient is used. The storage isfree. The QoS is shown in Fig. 19. This is an extremesituation. When the storage is free, there is no fixed costfor each data center. All the data center will be usedsoon, and the QoS is much better than before.

5 Conclusions

In this paper, an algorithm of configure resources fora video stream service in the multi-cloud environmentis proposed. This algorithm is used to configurestorage and VM resources when the number of userschanges. According to the experimental results, thealgorithm can help the system keep a high QoS and lowcost. Both two aspects are better than those of usingonly one cloud. When the ratio between the storageprice and the VM price changes, the system showsdifferent performances. When the price of storage ishigher, the system will use less data centers. Whenthe price of storage is lower, the system will use more

Fig. 18 QoS changs without price coefficient when the priceof storage is zero.

Fig. 19 QoS changes with price coefficient when the price ofstorage is zero.

data centers. Price differences between data centerswill influence QoS and cost-per-user performance indifferent ways according to the ratio between thestorage price and VM price.

Acknowledgements

This work was supported in part by National Key BasicResearch and Development (973) Program of China(Nos. 2011CB302805 and 2013CB228206), the NationalHigh-Tech Research and Development (863) Program ofChina (No. 2013BAH19F01), and the National NaturalScience Foundation of China (No. 61233016).

References

[1] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz,A. Konwinski, and M. Zaharia, A view of cloud computing,Communications of the ACM, vol. 53, no. 4, pp. 50-58,2010.

[2] I. Foster, Y. Zhao, I. Raicu, and S. Lu, Cloud computingand grid computing 360-degree compared, presented atGrid Computing Environments Workshop, Austin, TX,USA, 2008.

[3] M. A. AlZain, E. Pardede, B. Soh, and J. A. Thom,Cloud computing security: From single to multi-clouds,presented at System Science (HICSS), 2012 45th HawaiiInternational Conference on. IEEE, Maui, HI, USA, 2012.

[4] Z. Chen, F. Han, J. Cao, and S. Chen, Cloud computing-based forensic analysis for collaborative network securitymanagement system, Tsinghua Science and Technology,vol. 18, no. 1, pp. 40-50, 2013.

[5] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, andI. Brandic, Cloud computing and emerging IT platforms:Vision, hype, and reality for delivering computing as the5th utility, Future Generation Computer Systems, vol. 25,no. 6, pp. 599-616, 2009.

[6] D. Kondo, B. Javadi, P. Malecot, F. Cappello, andD. P. Anderson, Cost-benefit analysis of cloud computingversus desktop grids, presented at Parallel & DistributedProcessing IPDPS 2009, Rome, Italy, 2009.

[7] D. Yuan, Y. Yang, X. Liu, and J. Chen, A cost-effectivestrategy for intermediate data storage in scientific cloudworkflow systems, presented at Parallel & DistributedProcessing (IPDPS), 2010 IEEE International Symposiumon, Atlanta, GA, USA, 2010.

[8] J. Cao, K. Hwang, K. Li, and A. Y. Zomaya, Optimalmultiserver configuration for profit maximization in cloudcomputing, IEEE Trans. Parallel and Distributed Systems,vol. 24, no. 6, pp. 1087-1096, 2013.

[9] A. Sampaio and N. Mendonca, Uni4Cloud: An approachbased on open standards for deployment and managementof multi-cloud applications, in Processdings of the 2ndInternational Workshop on Software Engineering forCloud Computing, New York, NY, USA, 2011.

[10] J. L. L. Simarro, R. Moreno-Vozmediano, R. S. Montero,and I. M. Llorente, Dynamic placement of virtual machinesfor cost optimization in multi-cloud environments, in 2011

Page 10: QoS-Aware Virtual Machine Scheduling for Video Streaming …caoj/pub/doc/jcao_j_multicloud_tup.pdf · 2013. 5. 30. · To test the performance of the algorithm, an evaluation based

Wei Chen et al.: QoS-Aware Virtual Machine Scheduling for Video Streaming Services in Multi-Cloud 317

International Conference on High Performance Computingand Simulation (HPCS), Istanbul, Turkey, 2011.

[11] J. Li, J. Chinneck, M. Woodside, M. Litoiu, G. Iszlai,Performance model driven QoS guarantees andoptimization in clouds, presented at Software EngineeringChallenges of Cloud Computing, ICSE Workshop on,Vancouver, BC, Canada, 2009.

[12] D. Wu, Y. T. Hou, W. Zhu, Y. Q. Zhang, and J. M. Peha,Streaming video over the Internet: Approaches anddirections, Circuits and Systems for Video Technology,IEEE Transactions on, vol. 11, no. 3, pp. 282-300, 2001.

[13] S. Tao and R. Gurin, Application-specific path switching:A case study for streaming video, in Proceedings

of the 12th Annual ACM International Conference onMultimedia, New York, NY, USA, 2004.

[14] S. Tao, K. Xu, A. Estepa, T. F. L. Gao, R. O. C. H. Guerin,J. Kurose, and Z. L. Zhang, Improving VoIP qualitythrough path switching, presented at 24th Annual JointConference of the IEEE Computer and CommunicationsSocieties, Philadelphia, PA, USA, 2005.

[15] Y. Wu, C. Wu, B. Li, X. Qiu, and F. C. Lau, Cloudmedia:When cloud on demand meets video on demand, presentedat Distributed Computing Systems (ICDCS), 2011 31stInternational Conference on, Minneapolis, MN, USA,2011.

Wei Chen is now a master studentof Research Institute of InformationTechnology, Tsinghua University, China.He received his BEng degree in controltheories and engineering from TsinghuaUniversity in 2010. His research interestsinclude cloud computing, mobile internet,and online education.

Junwei Cao received his PhD incomputer science from the University ofWarwick, Coventry, UK, in 2001. Hereceived his BEng and MEng degreesin control theories and engineeringin 1996 and 1998, respectively, bothfrom Tsinghua University, China. He iscurrently a professor of Research Institute

of Information Technology, Tsinghua University, China. Heis also a director of Open Platform and Technology Division,Tsinghua National Laboratory for Information Science and

Technology. Before joining Tsinghua University in 2006, hewas a research scientist at MIT LIGO Laboratory and NECLaboratories Europe for about 5 years. He has publishedover 150 papers and cited by international scholars for over4000 times. He is the book editor of CyberinfrastructureTechnologies and Applications, published by Nova Science in2009. His research interests include distributed computing andapplications. He is a senior member of the IEEE ComputerSociety and a member of the ACM and CCF.

Yuxin Wan received his BEng degreefrom Department of Automation, TsinghuaUniversity, China. He is currentlya PhD candidate of Department ofAutomation, Tsinghua University, China.His research interests include cyber-physicalsystems, cloud computing, andsmart grid applications.