performance analysis of cloud computing services considering resources sharing among virtual...

18
J Supercomput DOI 10.1007/s11227-014-1156-3 Performance analysis of cloud computing services considering resources sharing among virtual machines Xiaodong Liu · Weiqin Tong · Xiaoli Zhi · Fu ZhiRen · Liao WenZhao © Springer Science+Business Media New York 2014 Abstract Cloud computing is a novel paradigm for the provision of service on demand. Through the use of virtualization, physical resources are converted into “resources pool” which provides service on demand. Due to the complexity and diver- sity of user requests of the cloud computing system, its performance is difficult to model and analyze. Although there are some researches on cloud service performance, very few of them addressed the issues of resources sharing among VMs and its impact on service performance. This paper presents a model for performance analysis of cloud services. The model considers the resources sharing among VMs. In addition, various types of failures, such as VMs failures, physical servers failures and network fail- ures are also considered. The service requests are also relaxed compared with prior research. A service request is divided into many subtasks and each subtask consists X. Liu (B ) · W. Tong · X. Zhi School of Computer Engineering and Science, Shanghai University, Shanghai 200444, China e-mail: [email protected] W. Tong e-mail: [email protected] X. Zhi e-mail: [email protected] X. Liu Department of Computer Science and Engineering, Henan Institute of Engineering, Zhengzhou 451191, China F. ZhiRen · L. WenZhao China Telecom Corporation Ltd., Shanghai Branch, Shanghai 200085, China e-mail: [email protected] L. WenZhao e-mail: [email protected] 123

Upload: liao

Post on 23-Jan-2017

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Performance analysis of cloud computing services considering resources sharing among virtual machines

J SupercomputDOI 10.1007/s11227-014-1156-3

Performance analysis of cloud computing servicesconsidering resources sharing among virtual machines

Xiaodong Liu · Weiqin Tong · Xiaoli Zhi ·Fu ZhiRen · Liao WenZhao

© Springer Science+Business Media New York 2014

Abstract Cloud computing is a novel paradigm for the provision of service ondemand. Through the use of virtualization, physical resources are converted into“resources pool” which provides service on demand. Due to the complexity and diver-sity of user requests of the cloud computing system, its performance is difficult to modeland analyze. Although there are some researches on cloud service performance, veryfew of them addressed the issues of resources sharing among VMs and its impact onservice performance. This paper presents a model for performance analysis of cloudservices. The model considers the resources sharing among VMs. In addition, varioustypes of failures, such as VMs failures, physical servers failures and network fail-ures are also considered. The service requests are also relaxed compared with priorresearch. A service request is divided into many subtasks and each subtask consists

X. Liu (B) · W. Tong · X. ZhiSchool of Computer Engineering and Science, Shanghai University, Shanghai 200444, Chinae-mail: [email protected]

W. Tonge-mail: [email protected]

X. Zhie-mail: [email protected]

X. LiuDepartment of Computer Science and Engineering, Henan Institute of Engineering,Zhengzhou 451191, China

F. ZhiRen · L. WenZhaoChina Telecom Corporation Ltd., Shanghai Branch, Shanghai 200085, Chinae-mail: [email protected]

L. WenZhaoe-mail: [email protected]

123

Page 2: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

of a series of data processing and transmission. The average service time of servicerequests is obtained. And a numerical example is presented.

Keywords Cloud computing · Performance analysis · Queuing theory ·Service time

List of symbols

λ The arrive rate of service requestsg The number of subtasks of a service requestr j The service rate of the j-th physical serversi j The proportion of the VMi ’s resources to the j-th physical serverRs The service rate vector of the cloud systemSk The k-th subtaskVMi The i-th VMM j The j-th physical serverN j The number of VMs that can be created on the physical server jμi The service rate for the system to stay at state iMtotal The total number of VMs can be created by the cloud centerMmax

j The maximum number of VMs that can be created on server jλv The failure rate of VMsμv The recovery rate of VMsλp The failure rate of physical serversμp The recovery rate of physical serversλc The failure rate of communication linksμc The recovery rate of communication linksN The capacity of the request queueP(e) The probability of event eqn The steady probability for the system to stay at state nPblock The probability for the blocking failureωk The processing time of subtask kwlk The workload of subtask kdk The data size of subtask k needed to be transmittedB j The available bandwidth of the physical server M j

ω̃vk The processing time of suktask k when there is VM failure

˜hck The processing time of suktask k when there is VL failure

˜VRyi The the y-th recovery time of the VMi

T avgi The average waiting time of the i-th resources request

mod The modulus operatorB j The available bandwidth of the physical server M j

m The total number of servers of the cloud centerWi The allocation matrix of the i-th service requestN j The number of VMs that running on the physical server M j

T v f The completion time if VMs failureT s f The completion time if physical server failure

123

Page 3: Performance analysis of cloud computing services considering resources sharing among virtual machines

Performance analysis of cloud computing services

T cf The completion time if network failure

1 Introduction

Cloud computing is a novel commercial and technical paradigm for the provision ofservice on demand. Its purpose is to eliminate the cost for maintaining expensive com-puting facilities by companies and institutes alike [1]. Cloud computing integrates vastcomputing and/or storage resources together that are unifiedly managed and sched-uled by cloud management systems (CMSs). Applications are delivered as servicesover the Internet and these services are provided by system resources and software[2]. Cloud computing services differ from traditional ones in three principal aspects.First, they are massively scalable; second, the services can be dynamically configuredand delivered on demand [3,4]; and third, virtualization-based cloud platform allowsmultiple VMs to run on the same physical server. Due to the complexity of the cloudcomputing system, its performance is difficult to model and analyze [5]. Performanceanalysis of cloud computing centers has been a research focus recently.

There is some recent work on evaluating the performance of cloud computingservices by benchmarking a wide variety of micro-benchmarks and application kernels[6–14]. Performance overhead of virtualization [6,7], the high performance computing[8–12], many-tasks scientific computing [13,14] are used to evaluate and analyze theperformance of cloud computing centers.

Since cloud computing centers deliver services, the quality of service is a crucialissue. There is also some recent work on analyzing cloud services using queuinganalogy [15,16] to obtain some important performance indicators, such as mean queuelength, blocking probability, waiting and response time. These work assume that eachrequest is serviced by a single server. However, a service request may be servicedby multiple virtual machines (VMs), and communications are occurred among VMs.Feng Tan et al. [17] relaxed this assumption by considering that a service request isdivided into many subtasks, and they also consider data transmission among subtasks.However, they only consider data transmission time that subtasks receive or senddata to CMS. In many cases, data exchanges may occur among subtasks, and thecommunication time may be comparable to the processing time due to the large amountof data transmitted [18]. In addition, the above work as well as existing work onperformance analysis of grid computing systems [19,20] assume that a task or subtaskis assigned to a server, and occupies all the server resources. This is inapplicable forcloud computing services. In the cloud computing system, tasks or subtasks are servedby VMs, and multiple VMs share the same physical server.

In this paper, we conduct detailed research on performance analysis of cloud ser-vices. The distinguished features of our analysis model compared to previous work areas follows: Firstly, resources sharing among VMs are considered. Secondly, the servicerate of the cloud center is modeled according the schedule strategy of CMS, which ismuch closer to the reality of a cloud service system. In the previous analysis models,the service rate of the cloud center was modeled as a fixed value [4,5,7–12]. Thirdly,we assume that a service request is divided into many subtasks, and each subtask isassigned to a VM. Multiple VMs will share and contend the same underlying physical

123

Page 4: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

resources when they are processing subtasks. The failure of communication channelsor computing resources is also considered.

The remainder of this paper is organized as follows. Section 2 introduces relatedwork. Section 3 discusses our analytical model in detail. In Sect. 4, an illustrativeexample is presented. Finally, Sect. 5 gives conclusions and future work.

2 Related work

Performance analysis of cloud computing has been a research focus recently. Therehas been some work on modeling a cloud computing server as a queuing system. In [5],the probability distribution of the request response time and other important perfor-mance indicators were obtained for a cloud center modeled as an M/G/m/m+r queuingmodel. Inter-arrival time of requests was assumed to be exponentially distributed, andservice time was assumed to be independent and identically distributed (i.i.d) randomvariables (r.v.s). Using the distribution of the number of tasks in the system, the rela-tionship between the number of servers and input buffer size was found. In [16], theresponse time distribution was obtained for a cloud center modeled as a queuing net-work model. Service requests arrival to the cloud center follow a Poisson distributionwith a rate λ, and service time rate was μ. Based on the obtained response time, therelationship among the maximal number of customers, the minimal service resourcesand the highest levels of services were found. In [5,16], the authors assume that eachrequest is serviced by a single server, which is unrealistic in the cloud computingsystem.

In [17], the authors assume that a service request is divided into several subtasks.Both service reliability and service performance were evaluated for a cloud centermodeled as a G I x/M/S/N queuing model. It is a multi-server queuing system withgeneral inter-arrival time distribution, exponential service times, finite capacity, andbatch arrival. The distribution of response time was obtained considering fault recov-ery on both processing nodes and communication links. For grid systems, there alsohave been some researches on considering a service request is divided into severalsubtasks [18–20]. However, these works do not consider resources sharing amongprocessing nodes. In contrast to the above previous work, our analysis model consid-ers the resources sharing among VMs and the service rate of cloud center is modeledaccording to the schedule strategy of the CMS, which is much closer to the reality ofa cloud system.

3 The performance analysis model

When a service request is submitted to the cloud platform, the request will be processedby CMS, which maintains a service request queue. The CMS will then analyze therequest and assign the service request to available resources for processing. A servicerequest may compose of many subtasks. Each subtask is allocated to one VM by theCMS. These VMs are created, managed and controlled by the CMS. It is noteworthythat the cloud platform provides resources by the way of VMs which may share

123

Page 5: Performance analysis of cloud computing services considering resources sharing among virtual machines

Performance analysis of cloud computing services

underlying physical resources with others. The parameter of processing speed of VMsdepends on the distribution of the underlying physical resources. For example, supposethe processing speed of physical server R is 4 GHz, and 30 % of resources are allocatedto VM1. Then the processing speed of VM1 is 1.2 GHz.

A service request which has successfully entered the request queue will, possi-bly after some waiting time in the request queue, reach the cloud scheduler whichmay divide the service request into several subtasks and assign each subtask toa VM for processing. During the processing, failures may happen. If one VM isfails, it can be migrated from on physical server to another and the subtask process-ing will continue. If a physical server is fails, it will be recovered after sometime.

During the processing of subtasks, there may be exchange of data through virtuallinks (VLs). A VL is a logical communication channel between two VMs. There is nophysical link between VMs. VMs cannot use the physical I/O device directly. VMsaccess to the physical I/O device through virtual I/O device provided by the virtualmachine monitor. Multiple VMs running on the same physical machine share thesame physical I/O device. Therefore, the bandwidth of VLs cannot just be set at aconstant value such as 30 Mbps. Rather, the bandwidth of VLs is affected by variousconditions such as failure rate, transmitted data, and bandwidth contention amongVMs.

3.1 Assumptions

Based on the considerations presented above, we make the following assumptions:

(a) The service requests arrive according to a Poisson process with rate λ (λ > 0).(b) A service request will be divided into g(g ≥ 1) subtasks. The number of subtasks

of the service request is a positive integer-valued i.i.d random variable with aprobability distribution {gn, n = 1, 2, . . .} with finite mean γ (γ ≥ 1).

(c) The service rate of the j-th physical server follows a exponential distribution withthe parameter r j . If the proportion of the VMi ’s resources to the j-th physicalserver is si j , the service rate of the VMi is exponential distribution with theparameter si j × r j . The service discipline is first come first served.

(d) A subtask is assigned to exact one VM for processing. The maximum number ofVMs which can be created on the j-th physical server is Mmax

j .(e) The failure of VMs is in accordance with a Poisson process with parameter λv .

The migration time of VMs is i.i.d exponential r.v.s with parameter μv .(f) The failure of physical servers is in accordance with a Poisson process with

parameter λp. The recovery time of physical server is i.i.d exponential r.v.s withparameter μp.

(g) The failure of communication link is in accordance with a Poisson process withparameter λc. The recovery time of communication link is i.i.d exponential r.v.swith parameter μc.

(h) The capacity of the request queue is N .

123

Page 6: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

Fig. 1 Markov model for the request queue

3.2 The waiting time of the service request

Please here note that the service requests and resource requests are two differentconcepts [19]: the service request come directly from the users following a Poissonprocess and it may contain a batch of resource requests. The moment of resourcerequests are selected as Markov points. Denote by X the number of resource request.The probability mass function for X to take the value x is defined as

p(x) = P(X = x)(x = 1, 2, 3 . . .) (1)

Thus, such a process can be modeled by a Markov process as depicted in Fig. 1,whose state n(n = 0, 1, . . . , N ) represents the number of resource requests in thesystem.

In the previous research [4,5,17–20], the authors suppose that servers are homoge-nous and a subtask is served by a server, which is needed to be relaxed in the cloudcomputing system. Firstly, cloud computing centers are usually composed of a set ofheterogeneous servers with different structures and parameters of processing speed.Here, we assume m heterogeneous physical servers are simultaneously running toserve service requests. The service rate of a set of m servers can be defined by thefollowing vector.

Definition 1 Suppose that the service rate of the j-th physical server is r j . Theservice rate of servers can be represented by m-dimension vector Rs, where Rs =[r1, r2, . . . , rm].

Secondly, resource sharing is widely used in the virtualization-based cloud com-puting centers. Cloud centers provide service by the way of VMs which may sharethe same underlying physical resources with others. From the above assumption (b),a service request will be divided into a set of subtasks when the service request isprocessed, and each subtask of the request is assigned to a VM for processing. Theallocation policy can be represented by the following matrix.

Definition 2 Suppose that the number of subtasks of a service request is g. The subtaskallocation policy can be represented by g × g matrix M such that Mki = 1 if subtaskk is assigned to VMi and Mki = 0 otherwise.

123

Page 7: Performance analysis of cloud computing services considering resources sharing among virtual machines

Performance analysis of cloud computing services

VMs will be allocated to physical servers by CMS. Denote by si j the proportion ofthe VMi ’s resources to the physical server M j . Then, the VMs allocation policy canbe represented by the following matrix.

Definition 3 Suppose that the number of VMs used by a service request is g. TheVMs allocation policy can be represented by g ×m matrix W such that Wi j = si j ×r j

if VM i is assigned to M j and Wi j = 0 otherwise.

Denote qn as the steady probability for the system to stay at state n (n =0, 1, . . . , N ). The transition probabilities pi j can be defined as:

pi j = P[qn+1 = j |qn = i] (2)

In the Markov process as depicted in Fig. 1, the transition probability pi j can bedivided into the following three different conditions:

• For i − 1 > j or i = j, pi j = 0.• For i < j, pi j = P( j − i) × λ

• For i − 1 = j, pi j = μn, where μn is the serve rate for the system to stay atstate n.

After finding the transition probability pi j , it is easy to derive qn by solving thefollowing equations [19]:

q1 × p10 =N

j=1

(q0 × p0 j ) (3)

qi+1 × p(i+1)i +i−1∑

j=0

(q j × p ji )

=N

j=i+1

(qi × pi j )(i = 1, 2, . . . , N − 1) (4)

qN × pN (N−1) =N−1∑

i=0

(qi × pi j ) (5)

N∑

i=0

(qn) = 1 (6)

Note we have N+2 equations, but only have N+1 variables q0, q1, . . . , qN . To obtainthe unique solution, we need to dispose of one of the equations. The best choice is toignore the Eq. 4 since it carries less information about the system than the other ones[5].

In the cloud computing environment, the physical resources, such as CPU, memory,disk and I/O, are converted into resource pool. Cloud centers provide resources forservice requests according to their requirements. So, the above service rate μn in the

123

Page 8: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

state n is not a fixed value. It is associated with the resources schedule strategy. Thus,a novel technique for deriving the serve rate μn is required. In the next, we will givean algorithm for determining the service rate in each state.

Definition 4 Suppose there are m physical servers to serve the physical requests, theservice rate of the system in the state n can be represented by m-dimension vectorA(n) = [a1, a2, . . . , am].Proposition 1 Suppose there are S service requests, the m-dimension vector A(n) andthe allocation matrix Wi (i = 1, 2, . . . , S) satisfy the following relation:

a j =s

k=1

gi∑

i=1

W (k)i j (7)

Proof By the Definition 2, for all service request k, the actual service rate of thephysical server j ( j = 1, 2, . . . , m) can be represented by a j = ∑gi

i=1 W (k)i j . When

there are S service requests in the system, the actual service rate of the physicalserver j ( j = 1, 2, . . . , m) can be calculated by a j = ∑s

k=1∑gi

i=1 W (k)i j . Then this

proposition holds.After finding the m-dimension vector A(n)(n = 1, 2, . . . , N ), the service rate μn

can be calculated by the following equation

μn =m

j=1

A(n)[ j] (8)

where A(n)[ j] is the j-th element of A(n). ��The service rate of cloud centers can be determined by the following three steps.Step1. Each element of the service rate vector A(0) is initialized to 0.Step2. If the CMS assigns the service request to available resources for processing,

then the resources allocation matrix W can be calculated according to the Definition 2.Step3. The service rate in each state can be calculated by Eqs. 7 and 8.Suppose that the service request under consideration needs to use g VMs in total.

If the request queue is longer than N − g, not all of the g resources request can beput into the queue, which causes the blocking failure. Hence, the probability for theblocking failure to occur is:

Pblock =N−g∑

n=0

qn (9)

Let Mmaxj be the maximum number of VMs which can be created on the j-th

physical server. The total number of VMs that can be created on the cloud center is:

Mtotal =m

j=1

Mmaxj (10)

123

Page 9: Performance analysis of cloud computing services considering resources sharing among virtual machines

Performance analysis of cloud computing services

If g ≤ N − n and n + g ≤ Mtotal, then the service request is served immediately.Otherwise, it has to wait for service. Denote by Tw the waiting time of the servicerequest under consideration, which is the time elapsed from the g requests that areput into the request queue until all of them are served. Then, the time Tw is a randomvariable. Its cumulative distribution function FTw(t) can be expressed as follows:

FTw(t) = P(Tw ≤ t) (11)

If g ≤ N − n and n + g ≤ Mtotal, FTw(t) = 0.If g ≤ N − n and n + g > Mtotal, then the service request has to wait for n + g −

Mtotal subtasks service completion, thus Tw follows a Gamma distribution with thecumulative distribution function [17,19] with parameter μn , i.e.,

FTw(t) = P(Tw ≤ t) =⎧

0 t ≤ 0�(n + g − Mtotal, μnt)

(n + g − M(total−1)!t > 0 (12)

According to the property of the Gamma distribution, the mean of Tw is :

E[Tw] = n + g − Mtotal

μn(13)

Thus, the average waiting time of the gi resources request can be calculated asfollows:

T avgi =

Mtotal−gi∑

n=0

0 +N−g∑

n=Mtotal−gi +1

(

qn × n + g − Mtotal

μn

)

. (14)

3.3 The completion time of the service request

From the above assumption (b), a service request is divided into g subtasks. Thecompletion time of each subtask is a random variable denoted by Tk(k = 1, 2, . . . , g).Thus, the completion time of the entire service request T can be calculated as follows.

T = max(T1, T2, . . . , Tg) (15)

After we have got the completion time of the subtasks, the completion time of theentire service request can also be obtained. In the next, we will discuss the completiontime of subtasks.

In [18–20], the completion times of subtasks are divided into two phase: subtasksprocessing time and data transmission time. However, some assumptions need to bereviewed in the cloud computing system. Firstly, in previous research [17–20], theauthors only considered the failure of processing nodes and communication links andrecovery time when these failures occur. In the cloud computing environment, cloudcenters provide service by the way of VMs. The VMs can enhance the ability offault tolerance by migration. Secondly, multiple VMs run on the same physical server,

123

Page 10: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

and these VMs will share and contend the underlying physical resources. Thirdly, in[18,19], they only consider the time of subtasks sending or receiving data from RMS.In many cases, data exchange occurs among subtasks, and a subtask may exchangedata with others, which is much closer to the reality of task execution in the cloudcomputing environment.

Let Tk represents the completion time of the k-th subtask. It can be divided intoprocessing time and data transmission time.

Subtask processing time: Let ωk be the processing time of the k-th subtask. Supposethe k-th subtask is assigned to the VMi and the VMi is running on the physical serverM j . Denote the workload of subtask k by wlk , and then ωk can be calculated as follows:

ωk = wlksi j×r j

(16)

if resources do not fail when the subtask is processed. However, the failure is inevitable.During the processing, failure may happen on the VM or the physical server. Supposethe failure of VMs and physical servers are mutually independent. When a VM fails, itcan be migrated to another idle physical server. When a physical server fails, the failurecan be recoverable after some time [17]. If a failure occurs simultaneously both on theVM and on the physical server, it can be considered as the failure of the physical server.In fact, when a physical server is recoverable and can work normally, all VMs runningon it can be recoverable. This hierarchical failure model is also used in the paper [19].

Let ω̃vk represent the time that the failure of the VM and its recovery time. When

the VMi fails, it can be migrated to another physical server if subtasks in the systemless than Mtotal. Otherwise, it has to wait for one subtasks service completion tomigrate. According to assumption (e), failures of VMs follows a Poisson process withparameter λv . Denote by pv(l) the probability that l failures occur on VMs during thetime interval [0, t], then

pv(l) = (λvt)l

l! × e−λv t l = 0, 1, 2, . . . (17)

Denote by VRyi the y-th (y = 1, 2, . . .) migration time of the VMi , and denote by

˜VRyi the y-th (y = 1, 2, . . .) recovery time of the VMi , which includes the time of

waiting for one task completion. According to assumption (e), VRyi s are i.i.d expo-

nential r.v.s with parameter μv . So, the average failure of the VM and its recoverytime can be calculated as follows:

E[ω̃vk ] =

∞∑

l=0

(pv(l) ×l

y=0

˜VRyi ) (18)

˜VRyi =

Mtotal∑

j=0

q j × VRyi +

N∑

j=Mtotal+1

q j × (W ( j)1 + VRy

i ) (19)

where W ( j)1 is the time waiting for one subtask to be completed.

123

Page 11: Performance analysis of cloud computing services considering resources sharing among virtual machines

Performance analysis of cloud computing services

Substitute (19) into (18) and do some manipulation, we have

E[ω̃vk ] = λvt

μv

+ (1 + λv) +N

j=Mtotal+1

(q j × W ( j)1 ) (20)

Let ω̃pi represent the failure time of the physical server and its recovery time.

According to assumption (f), failures of physical server are in accordance with aPoisson process with parameter λp. Denote by ps(l) the probability that l failuresoccur on a physical server during the time interval [0, t], it can be calculated asfollows.

ps(l) = (λpt)l

l! × e−λpt l = 0, 1, 2, . . . (21)

Denote by PRyi the y-th (y = 1, 2, . . .) recovery time of physical server. According

to assumption (f), PRyi s are i.i.d exponential r.v.s with parameter μp. So, the average

recovery time of the physical server can be calculated as follows:

E[ω̃pi ] =

∞∑

l=0

⎝ps(l) ×l

y=0

PRyi

⎠ (22)

It can be seen that ω̃pi is a compound Poisson process, whose mean is

E[ω̃pi ] = λpt

μp(23)

Data transmission time: Usually, data exchange time among subtasks is not verysmall in the cloud centers. Data transmission time depends on transmission delay, andother delay, such as propagation delay can be neglected [21]. Let B j be the availablebandwidth of the physical server M j . The bandwidth will be shared by multiple VMsin the virtualization-based cloud computing environment [21]. Suppose the networkis shared by VMs evenly. That is to say, if there is c VMs using network, each VMsnetwork bandwidth will be

B jc .

Let dk be the data size of subtask k needed to be transmitted and let h(c)k represents

the data transmission time if there are c VMs using the network simultaneously whensubtask k exchange data with others, then h(c)

k can be calculated as follows:

h(c)k = dk

c × B j(24)

if the commutation link doesn’t fail.Let ˜h(c)

k represent the data transmission time, which includes the failure of thecommunication link and its recovery time. Its cumulative distribution function is

˜Hk(t) = P(h(c)k ≤ t), t ≥ 0, k = 1, 2, . . . , g (25)

123

Page 12: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

Definition 5 Let Xi (t) = 1(i = 1, 2, . . . , N j ) represent that VMi uses network inthe time interval [0, t] and let Xi (t) = 0(i = 1, 2, . . . , N j ) represent that VMi doesnot use network in the time interval [0, t].

By Definition 4, c can be expressed by

c =N j∑

i=1

Xi (26)

where N j is the number of VMs that running on the physical server M j .Suppose Xi (t) = 1(i = 1, 2, . . . , N j ) are i.i.d, and the probability of the Xi can

be expressed as follows:

P(Xi (t)) ={

pt Xi (t) = 11 − pt Xi (t) = 0

(27)

where pt is the probability of VMs using the network in the time interval [0, t].According to assumption (g), failures of communication link occur are in accor-

dance with a Poisson process with parameter λc. Denote by pc(l) the probabilitythat l failures occur on communication links during the time interval [0, t], it can becalculated as follows.

pc(l) = (λct)l

l! × e−λct l = 0, 1, 2, . . . (28)

Denote by μyc the y-th (y = 1, 2, . . .) recovery time, then the average recovery time

of network link can be calculated as follows:

E[˜hck] =

N j∑

c=1

(p(c) × h(c)k ) +

∞∑

l=0

⎝pc(l) ×l

y=0

μyc

⎠ (29)

After some manipulation, we have

E[˜hck] =

N j∑

c=1

(p(c) × h(c)k ) + λct

μc(30)

where p(c) is

p(c) =(

N j

c

)

(pt )c(1 − pt )

N j −c. (31)

3.4 The completion time of the service request

Under our performance model, the completion time of the subtask k can be calculatedby

Tk = ωk + ω̃vk + ω̃

pi +˜hc

k (32)

123

Page 13: Performance analysis of cloud computing services considering resources sharing among virtual machines

Performance analysis of cloud computing services

Let T be the completion time of a service request composed of g subtasks, it canbe calculated as follows:

T = max(T1, T2, . . . , Tg) + Tw (33)

In summary, the overall outline for the completion time of the service request isconcluded using the following steps:

Step1. Use the service rate determination algorithm to obtain the service rate ineach state.

Step2. Solve (3–6) to obtain the qn(n = 1, 2, . . . , N ).Step3. Calculate the waiting time by the Eqs. (13), (14).Step4. Calculate the completion time of subtask k by the Eqs. (16–31).Step5. Calculate the completion of the service request by the Eqs. (32), (33).

4 Numerical results

4.1 Analytical example

Suppose the capacity of the resources request queue is 20, and there are four hetero-geneous physical servers. Table 1 gives the attribution of physical servers. The failurerate of VMs λv and network links λc are both 0.002 s. The migration rate of VMsand the recovery rate of network links are μv = 0.04 s and μc = 0.05 s respectively.The service requests arrive are in accordance with a Poisson process with rate λ = 1 s.The number of subtasks of service requests has a uniform distribution by (x = 1, 2,…,20) [17,19]. The attribution of the service request under consideration is given byTable 2.

Table 1 Attribution of physicalservers

Server 1 2 3 4

Mmaxj 2 2 3 4

Service rate (s−1) 0.4 0.5 0.6 0.8

Failure rate (s−1) 0.002 0.002 0.003 0.003

Recovery rate (s−1) 0.05 0.06 0.06 0.07

B j (Mbps) 100 100 100 100

r j MIPS 200 200 300 400

Table 2 Attribution of subtasksSubtask 1 2 3

Workload (million instructions) 40,000 50,000 60,000

Exchange data (Mb) 20,000 30,000 40,000

Physical server assigned to 1 2 4

si j 0.5 0.5 0.25

123

Page 14: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 200

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

system state n

prob

abili

ty

SL scheduleHF schedule

Fig. 2 The probability distribution of the system state

4.2 The average time of service requests

We consider two schedule strategies. One is server least (SL) strategy, which only whenVMs on a server is full, VMs can be created on the next server. The other strategyuse a hash function (HF): h(x) = x mod m if h(x) �= 0 and otherwise h(x) = m,where x is the number of VMs. The probability distribution of the system state isshown in Fig. 2. As we can see from the Fig. 2, the schedule strategy has influence onthe probability distribution of the system state. This will influence the performance ofthe cloud center. Figure 3 shows the waiting time under the two schedule strategies.The X-axis is the number of subtasks of service request and the Y-axis is the waitingtime of the service request. The average waiting time of service requests under theSL schedule increases more rapidly when the number of subtasks of service requestsincrease. This is because the SL schedule strategy tries to use fewer servers. So, thecloud centers service rate in each state under the SL schedule is more than or equalto the state under the HF schedule, which leads to a bigger average waiting time ofservice requests under SL schedule.

4.3 The completion time of the service request

According to the Table 2, the service request under consideration has three subtasks.By the Eq. (14), its average waiting time is 1.04 under the SL schedule. Suppose thefailure rate of VMs and communication are both 0.002, and the recovery rate of theVMs and communication links are 0.04 and 0.05, respectively. The probability of otherVMs using the network is 0.25 during the subtasks transmitting data. The processingtime, transmission time, various types of failures and recovery time of each subtask

123

Page 15: Performance analysis of cloud computing services considering resources sharing among virtual machines

Performance analysis of cloud computing services

1 2 3 4 5 6 7 8 9 10

0.8

1

1.2

1.4

1.6

1.8

2

2.2

the number of subtasks

the

aver

age

wai

ting

time(

s)

SL scheduleHF schedule

Fig. 3 The average waiting time of service requests

Table 3 Running time ofsubtasks in each phase

Subtask 1 2 3

Processing time (s) 400 500 600

Transmission time (s) 250 375 531

VMs failure and recovery time (s) 20.68 25.68 30.68

Server failure and recovery time (s) 16 16.67 25.71

Network failure and recovery time (s) 10 15 21

are shown in the Table 3. The completion time of each subtask can be calculated asfollows:

T 1 = 400 + 250 + 20.68 + 16 + 10 = 696.68T 2 = 500 + 375 + 25.68 + 16.67 + 15 = 932.35T 3 = 600 + 531 + 30.68 + 25.71 + 21 = 1208.39Thus, the completion time of the service request under consideration isT = max(T1, T2, T3) + Tw = 1,208.39 + 1.04 = 1,209.43.

4.4 The effect of failure rate and recovery rate

In this subsection, we investigate the impact on the cloud service performance whenthe failure rate and recover rate of various resources change. Firstly, let the recoveryrate of each resource be 0.07. Table 4 gives the mean completion time of the servicerequest when the failure rate changes. Secondly, let the failure rate of each resourcebe 0.001. Table 5 gives the mean completion time of the service request when thefailure recovery changes. From the Tables 4 and 5, we can see the completion time of

123

Page 16: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

Table 4 The mean completiontime when the failure ratechanges

Failure rate T v f (s) T s f (s) T cf (s)

0.001 1,188 1,192.29 1,196.02

0.002 1,196.57 1,200.86 1,203.6

0.003 1,205.14 1,209.43 1,211.19

0.004 1,213.72 1,218.01 1,218.77

0.005 1,222.56 1,226.58 1,226.36

0.006 1,230.86 1,235.15 1,233.94

Table 5 The mean completiontime when the recovery ratechanges

Recovery rate T v f (s) T s f (s) T cf (s)

0.01 1,239.43 1,243.72 1,241.53

0.02 1,209.43 1,213.72 1,214.98

0.03 1,199.43 1,208.72 1,206.13

0.04 1,194.43 1,198.72 1,201.71

0.05 1,191.43 1,193.72 1,199.05

0.06 1,189.43 1,192.29 1,197.28

the service request will tend to be longer with a higher failure rate or lower recoverrate in each resource, what could be explained by reasons aforementioned. In Tables 4and 5, the completion time of the service request changes less than 5 %. To explainthis phenomenon, let us take in Table 4 as an example, and others can be explainedsimilarly. The completion time of the service request is influence by processing time,failure rate and recovery rate of physical servers. In our example, if the failure rateincreases by 0.001, the increased value by only 8.57 which can be calculated by theEq. (23). So the completion time of the service request changes little.

5 Conclusions and future work

In this paper, we have analyzed the performance of a cloud computing center consider-ing resources sharing among virtual machines. Various types of failures, such as VMsfailure, physical servers failure and network failure are also considered. A numericalexample has been illustrated to show the effectiveness for modeling and analyzing thecloud service performance.

In our analysis model, the service rate of cloud center is not a fixed value. It isassociated with the schedule strategy. The numerical example has shown that resourcesscheduling strategy of cloud center have great influence on performance. Resourcessharing among VMs and its impact on service performance are also considered. In thenext, we will study the relationship between the schedule strategy and the performanceof cloud center.

Acknowledgments This work is supported by Innovation Action Plan supported by Science and Tech-nology Commission of Shanghai Municipality (No. 11511500200).

123

Page 17: Performance analysis of cloud computing services considering resources sharing among virtual machines

Performance analysis of cloud computing services

References

1. Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging ITplatforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener ComputSyst 25(6):599–616

2. Fox A, Griffith R, Joseph A, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I (2009)Above the clouds: a Berkeley view of cloud computing, electrical engineering and computer sciences,University of California, Berkeley

3. Foster I, Zhao Y, Raicu I, Lu S (2008) Cloud computing and grid computing 360-degree compared.In: Grid computing environments workshop, pp 60–69

4. Khazaei H (2012) Performance analysis of cloud computing centers. In: Quality, reliability, securityand robustness in heterogeneous networks, pp 251–264. Springer, Berlin

5. Khazaei H (2012) Performance analysis of cloud computing centers using M/G/m/m+ r queuing system.IEEE Trans Parallel Distrib Syst 23:936–943

6. Menon A, Santos JR, Turner Y, Janakiraman GJ, Zwaenepoel W (2005) Diagnosing performanceoverheads in the xen virtual machine environment. In: ACM first international conference on virtualexecution environments (VEE), ROC, pp 13–23

7. Sotomayor N, Keahey K, Foster I (2006) Overhead matters: a model for virtual resource management.In: Proceedings of IEEE first international workshop virtualization technology in distributed technology(VTDC), pp 4–11

8. Deelman E, Singh G, Livny M, Berriman JB, Good J (2008) The cost of doing science on the cloud:the montage example. In: Proceedings of the 2008 IEEE/ACM conference on supercomputing (SC),vol 50, pp 638–649

9. Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L, Zagorodnov D (2008) Theeucalyptus open-source cloud-computing system. UCSD Technical Report 2008–10. http://eucalyptus.cs.ucsb.edu/

10. Dong F, Luo J, Jin J, Wang Y, Zhu Y (2012) Performance evaluation and analysis of SEU cloudcomputing platform. In: 2012 IEEE international conference on systems, man, and cybernetics, pp1455–1460

11. Ostermann S, Iosup A, Yigitbasi N, Prodan R, Fahringer T, Epema D (2010) A performance analysis ofEC2 cloud computing services for scientific computing. In: Cloud computing, pp 115–131. Springer,Berlin

12. Jackson KR, Ramakrishnan L, Muriki K, Canon S, Cholia S, Shalf J, Wasserman HJ, Wright NJ (2010)Performance analysis of high performance computing applications on the amazon web services cloud.In: 2nd IEEE international conference on cloud computing technology and science, pp 159–168

13. Losup A, Ostermann S, Yigitbasi MN, Prodan R, Fahringer T, Epema DHJ (2011) Performance analysisof cloud computing services for many-tasks scientific computing. IEEE Trans Parallel Distrib Syst22:931–945

14. Nagarajan AB, Mueller F, Engelmann C, Scott SL (2007) Proactive fault tolerance for HPC with xenvirtualization. In: Proceedings of 21st annual international conference on supercomputing (ICS), pp23–32

15. Suresh Varma P, Satyanarayana A, Sundari R (2012) Performance analysis of cloud computing usingqueuing models. In: 2012 international conference on cloud computing, teclmologies, applications andmanagement, pp 12–15

16. Xiong K, Perros H (2009) Service performance and analysis in cloud computing. In: World conferenceon services, pp 693–700

17. Yang B, Tan F, Dai YS (2013) Performance evaluation of cloud service considering fault recovery. JSupercomput 65:426C444

18. Dai YS, Levitin G (2006) Reliability and performance of tree-structured grid services. IEEE TransReliab 55:337–349

19. Dai Y-H, Pan Y, Zou X (2007) A hierarchical modeling and analysis for grid service reliability. IEEETrans Comput 56:681–691

20. Levitin G, Dai YS, Ben-Haim H (2006) Reliability and performance of star topology grid service withprecedence constraints on subtask execution. IEEE Trans Reliab 55:507–515

21. Tanenbaum AS, Wetherall DJ (2011) Computer networks. Prentice Hall, New Jersey

123

Page 18: Performance analysis of cloud computing services considering resources sharing among virtual machines

X. Liu et al.

22. Liu X, Tong W, Shen C (2013) QoS-aware I/O schedule for virtual machines in cloud computingenvironment. In: The seventh international conference on innovative mobile and internet services inubiquitous computing, pp 276–282

123