• Keine Ergebnisse gefunden

4.3 Static Scheduling

4.3.2 Vector Bin Packing and Resource Management

A multidimensional bin packing solver will be required for the pessimistic as well as for the statistical static resource management concept presented in this thesis. This solver must determine the mapping B(i) of VMs onto servers as initially discussed. In principal, any of the known ones can be used by the concept since these algorithms typically need only little information about the underlying system.

The easiest solver(that applies afirst-fit heuristic) must only be able to decide whether or not a certain combination of VMs will fits together on a certain servers. This can be done by simply evaluating the three constraints worked out at the beginning of this chapter. It can assign the VMs one by one to servers on which already VMs have been placed based on this information. A new one is taken, if not enough resource capacity is left on any of these servers to host the next VM. This method is repeated until all VMs are assigned to servers.

VMs can be sorted by their size first, before the first-fit strategy is applied to improve the results. The largest VMs are assigned to servers first. The smaller ones can then fill up remaining resource capacity. This strategy is known as first-fit decreasing and requires the definition of a quasi order of the VMs with respect to required resource capacity. This order is not unique, since two different resource types are involved (CPU time and memory). Different ways to deal with such multidimensional sizes have been presented in [69, 102].

A further improvement promises thebest-fitstrategy. A VM is not placed on the first server it would fit on but on the best one. This requires to rate the placement of a VM to a certain

4 Pessimistic Static Resource Management

server. Conventionally, the resource capacity is taken into account that would remain on a server, if a VM is placed on it. The more capacity remains at a server, the more balanced will be the resulting distribution of VMs to servers. All servers will have left more or less the same amount of unused resource capacity that can serve as a buffer. This buffer accommodates resource demand of VMs that slightly exceed their expected maximum and hence prevents SLO violations in some cases. Again, additional heuristics are needed in case of multidimensional resource demand. Different of them have been presented in [102] as well.

No further information about the VMs or services are required to support different capacity configurations of servers using for instance the approaches presented in [31, 65]. Only costs must be assigned to servers so that the approach can find the most efficient solution with respect to these costs.

This thesis does not focus very much on improving the efficiency of bin packing approaches.

Much work has already been investigated in this area. The best-fit heuristic was applied during the evaluation of the concept. One of the heuristics presented in [102] was used to deal with multidimensional resource demand. The authors showed in an exhaustive analysis that this heuristic already works very well with resource demand of typical services in data centers. Furthermore, only servers with identical capacity configurations were used during the evaluation.

44

5 Statistical Static Resource Management

Phase two of the concepts starts with the pessimistic distribution of VMs to servers derived using the algorithm presented in Chapter 4. The runtime behavior of the resource demand of the VMs is observed. Models are characterized and used to determine an improved distribution that leads to less servers required compared to the pessimistic approach.

In principal, using observed demand behavior of the VMs can help to save required server hardware in two ways. First, there can exist VMs that will never demand their maximally required resources at the same time due to negatively correlated workload processed by them.

Less than the sum of their maximally required resources needs to be reserved for both, when they are placed together at the same server. A second way is to trade off granted resources against service performance. Service performance can be adjusted by CPU time provided to a VM as pointed out in Section 3.3.2. Resources can be saved depending on the SLOs when this opportunity is exploited.

Once the resource demand models of the VMs are characterized, a scheduling approach heuristically assigns VMs to servers. The algorithm is similar to the one used to find the pessimistic distribution. The differences are the models and the SLOs that are used to decide whether a certain combination of VMs will fit together at the same server or not.

The main challenges addressed in this chapter are the SLOs for specifying the resource performance trade-offs and the models that describe the demand behavior. Furthermore, a way must be worked out to find an optimal distribution of VMs to servers based on the models and the SLOs.

5.1 Mathematical Background

Different mathematical background mainly concerning random variables and stochastic pro-cesses is required to understand the concepts that will be presented in this chapter. Such background is provided in this section. Those who are familiar with the concept of random variables, operations on random variables, and the concept of stochastic processes can easily skip this section.

5 Statistical Static Resource Management