3.5 Performance Evaluation on the Bing Workflow
4.1.2 Bandwidth Provision for VMs
From the CIO model, we can derive the amount of data that are communicated by each service. In this section, our objective is to translate this quantity into actual bandwidth provision for individual VMs hosting a service. In a cloud system, each service is hosted by a collection of VMs. We assume that the service is the only service hosted in each of the VMs. This assumption is reasonable since it is a typical setting in clouds to host different cloud services in different VMs so as to provide the isolated service environments.
4. Bandwidth Provision for Cloud Services
Table 4.1: Notations for bandwidth provision Notation Definition
The Communication IO Model
si,sj,S Services indexediandj from service universe S
di Average size of data produced by an invoca-
tion ofsi
pij The probability that one invocation of si
causes one invocation of sj
cij The amount of VMs produced by serviceithat
have to be consumed by service j in order for servicej to produce one VM
xout
i Size of data produced bysi in a unit of time xini Size of data consumed bysi in a unit of time
xij Size of data transmitted fromsi tosj
Bandwidth Provision for VMs
V Mi A virtual machine hostings i
P Mk A physical machine indexed kin the cloud
M VM to PM allocation scheme
Vi The number ofV Mi in the cloud vik The number ofV Mi inP Mk
be transmitted locally and thus does not consume the VMs’ physical bandwidth. However, in order to take advantage of this local data transmission channel, the local ratio between the numbers of VMs of two service needs to match their global ratio. This is explained in detail below.
Given a pair of servicessiandsjfromS,ViandVjdenote the total number of
VMs in the cloud for hosting these two services, respectively. Since most clouds, such as AWS, are equipped with Elastic Load Balancing [98] or the fairness scheduler [113] to distribute the load traffic for services, we can assume that the workload ofsi is evenly distributed across all VMs that hostsi. Consequently,
the amount of data sent from a V Mi (V Mi denotes a VM that hosts service si) to servicejcan be calculated by
xout ij
Vi , wherex
out
ij is the data sent by service
i to j in a time unit, which is calculated by Eq. 4.3. Given a PM P Mk, vik
and vjk denote the number of V Mi and V Mj in P Mk, respectively. Then
in P Mk, the amount of data that are communicated by V Mis to service j is vik
xij
Vi. If
vik
vjk (i.e., the local ratio of the number ofV M
4. Bandwidth Provision for Cloud Services
in P Mk) is no greater than VVji (i.e., the global ratio of the number of V Mi to
the number of V Mj in the cloud), all data sent by V Mis in P M
k (the VMs
that host service i in P Mk) to service j can be handled by V Mjs in P Mk.
Therefore, there is no need to consume the bandwidth of V Mi (or V Mj) for
sending (or receiving) these data. For example, assume Vi and Vj are 20 and
50, respectively. If inP Mk,vik is 2 andvjk is 6, then there are more than fair
share ofV Mj (which is 5) inP Mk to handle the data sent byV Miin the same
machine (since 2/6<20/50).
On the contrary, if the local ratio is greater than the global ratio, which means that there are not adequate V Mj in P M
k to handle the data sent by V Mi in P M
k. The portion of data that cannot be handled byV Mj in P Mk,
denoted by yijk, have to be sent by V Mito V Mj in another PM, P Ml, and
therefore consume the uplink bandwidth ofV Mi and the downlink bandwidth
ofV Mj. y
ijkcan be calculated by Eq. 4.6. Eq. 4.6 essentially compares whether
the local ratio is no greater than the global ratio. If so, yijk is 0. Otherwise,
Eq. 4.6 calculates the data thatsi has to send out after deducting the portion
of data that can be handled by V Mj in the same machine.
Since yijk is the data communicated in a time unit, yijk is essentially the
bandwidth that has to be allocated to the V Mis in P M
k for sending data to
service sj. Therefore, yijk
vik is the uplink bandwidth that has to be allocated
to each V Mi in P M
k for sending the data to sj, while yijk
vjl is the downlink
bandwidth allocated to each V Mj in P M
l for receivingyijk. The total uplink
bandwidth that needs to be allocated to V Mi in P M
k can be calculated by P sj∈P Mkyijk. yijk= max{vik xij Vi (1−vjk(Vi/Vj) vik ),0} (4.6)
Given a VM-to-PM mapping, denoted byM, the total uplink communica- tion bandwidth generated byMcan be calculated by Eq. 4.7, whereyijkis the
amount of data that are sent fromV Mi(hosting servicei) inP M
4. Bandwidth Provision for Cloud Services
the uplink bandwidth ofP Mk) toV Mj (hosting servicej) in other PMs. The
total downlink bandwidth generated by a VM-to-PM mapping can be calculated in a similar way. C(M) =X k X j X i yijk (4.7)
We summarise some notations used in this section in the second half of Table 4.1.