• No se han encontrado resultados

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.

Documento similar