• Keine Ergebnisse gefunden

3.4 Formal Definition

3.4.1 Terminology and Declarations

The terms, functions, and variables shortly introduced in the following are consistently used throughout the whole thesis.

VMs and Servers

All VMs in a data center considered for resource management are indexed by ani. Variables and functions that describe properties of VMs (e.g. the resource demand) are indexed by ani as well to relate them to the respective VM. Servers, in contrast, to which these VMs can be assigned, are indexed by an k as well as functions and variables that belong to properties of the respective servers.

Mapping of VMs onto Servers

The mapping of VMs onto servers is expressed by a functionB(i) :i7→kthat associates one serverkto each VMi. This function is time independent in case of static resource management.

It turns intoB(i, t) :i7→k(t) for dynamic resource management.

Restrictions of the Mapping

The administrator must be able to restrict the mapping of VMs onto servers to take care of the network concept as discussed in Section 3.3.2. First, the administrator must be able to define, if two VMs must, can, or must not be placed together at the same servers. Second, it can be required to forbid the placement of VMs on certain servers at all.

A functionVM VM allow(i1, i2) is introduced to realize the first of these restriction. This function returnstrue, if two VMsi1 andi2 are allowed being placed on the same server. The administrator can use this function to prevent that two VMs are placed together at the same servers. No additional function is needed to force that VMs are always placed together. These VMs can be simply treated like one single VM by the resource management. The resource management can decide where to place them based on the joint resource demand of both.

The second restriction can be realized by implementing a function VM server allow(i, k).

This function returns true, if a VMiis allowed being placed on serverk.

Resource Demand of VMs

The limiting resources that directly must be considered by the resource management are CPU time and memory according to the outcomes of Section 3.3.2. The CPU time demand is time

3 Problem Statement

dependent in any case. The memory demand can be either a fixed value or varying over time depending on the underlying virtualization environment.

Thus, the resource demand of a VM i can be expressed by a two dimensional vector~ri(t) that depends on timet. The elements of this vector are functionsRi(t) that describe the CPU time and memory the VM takes at timetif available. Both resources types are handled nearly the same way within this thesis. Hence, it is not required denoting the functions by different names. Both resources types are meant, when it is talked about Ri(t) without an additional note.

The function Ri(t) is limited by a maximal resource demand Rmaxi , which occurs in case of the maximally expected workload specified in the SLOs. It is assumed that Ri(t) never exceedsRmaxi . A vector~rimax describes the maximal resource demand of VMi with respect to both resource types.

The amount of resources demanded by a VM is mainly defined by interactions between the clients and the service implemented in the VM. Client interactions occur randomly from the system’s perspective. Hence, the resource demand Ri(t) is not deterministic as well. A discret-time stochastic process called Yi(t) is used within this thesis to model Ri(t). This process is not necessarily stationary due to possible time dependent trends and a varying noise performance.

Different VMs placed on the same server cause joint resource demand, which is simply the sum of their individual resource demands. Hence, the joint resource demand is described by a two dimensional vector as well. This vector is called #»

jrk(t) and is formally defined by following equation:

jr#»k(t) = X

∀i:B(i)=k

~

ri(t). (3.1)

Required Resource Capacity for VMs

~ai(t) is introduced in addition to the resource demand. This vector describes the amount of resources needed to be reserved for a VM at timetto meet the SLOs the resource management is responsible for. The elementsAi(t) of~ai(t) are functions comparable to~ri(t). But they are deterministic and overestimate the trend and random noise of Ri(t) with respect to the SLOs in contrast to Ri(t). In other words: The respective SLO of the service implemented in the VM will be never violated, if the resource capacity~ai(t) is provided to VM iat each timet.

An upper limit of resources a VM can take from a server can be specified in common virtualization environments. No additional resources are provided even if the demand Ri(t) exceeds this limit. Furthermore, a fixed amount of resources can be individually reserved for each VM. Such reserved resources can not be provided to other VMs no matter if they are

34

3.4 Formal Definition

actually used or not. Both limits can be regarded as upper and lower bound of Ai(t). They are denoted by Amini andAmaxi or~aiminand~aimax respectively within this thesis.

Furthermore, the server capacity required to satisfy all SLOs of the VMs placed on the same serverkis introduced and will be denoted byja#»k(t). The relation between~ai(t) andja#»k(t) can be expressed by following equation:

ja#»k(t)≤ X

∀i:B(i)=k

~ai(t). (3.2)

It will be shown later in this thesis that the required resources for a couple of VMs can be lower than the sum of the resources individually required by them.

Resource Demand and Required Capacity Purged by a Long Term Trend

The model that will be presented in this thesis is split into two parts. One part models possible seasonal trends and the noise while the other one adds the influence of possible long term trends. The functions Ri(t), Ai(t), and Yi(t) refer to resource demand and required capacity including the long term trend. These functions but purged by the long term trend are needed from time to time to describe the concept. They will be marked by a star as follows:

Ri(t),Ai(t), andYi(t), to distinguish them from the initial ones.

Provided Resource Capacity of Servers

Servers provide resource capacity to the demand of the VMs. The resource capacity of a server is time independent but different servers can have different resource capacities. The capacity of serverkis described by a two dimensional vector~ckin this thesis comparable to the resource demand. This vector contains individual resource capacities Ck each for one resource type.

Server and Migration Delays

The control mechanisms used by the LPM component consume time as discussed in Section 3.3.3. This time needs to be considered by the optimization algorithms. These delays will be denoted by ∆tmigi (time for migrating VMibetween two servers) , ∆tupk , and ∆tdownk (time for powering up or down server k) within this thesis. In addition, servers need to stay switched off for a while after they have been powered down to at least save some energy at all. This so called break even time is denoted by ∆tbek . And finally, ∆tB(i,t1)→B(i,t2)is introduced as the time needed to redistribute the mapping at time t1 to a new mapping at timet2.

3 Problem Statement

Starting Time and Duration of the Three Phases of the Concept

All three phases presented in the concept description in Section 3.2 are performed subsequently.

The starting times of the phases are denoted by tp1, tp2, andtp3. Their respective durations are described by ∆tp1, ∆tp2, and ∆tp3. The duration of the first phase (pessimistic resource management) is only listed for completeness and has no relevance to the resource management concept. ∆tp2 defines the duration of the trainings phase. The data center performs normal work during the third phase (dynamic resource management). Hence, this phase should last for ever in best case. But in practice, possible long term trends prevent that the static distribution of VMs to servers determined in phase two remains valid for unlimited time. Hence, the duration of phase three is limited to ∆tp3 as well.