Optimizing application placement in private cloud environment under capacity constraints

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Mcode

Language

en

Pages

64

Series

Abstract

Modern cloud-based data centers depend on systematic capacity management methods to enable efficient utilization of computational resources. The continuing surge in demand for computational power is driving the data-intensive software industry toward building massive centralized data centers, which require sophisticated resource allocation algorithms to allow coherent consolidation of those resources. Improving the utilization of data center hardware allows the server fleet size to be decreased, reducing the costs and the environmental footprint of the data center operations. In this thesis, we investigate a private cloud environment, in which customer applications are allocated to the self-managed server fleet of the organization. We model the allocation system as a vector bin packing problem with two separate resources: static RAM usage, and periodically varying CPU utilization. The objective of our model is to minimize the number of utilized servers, while providing the required resources for each application. Due to the computational complexity of the optimization problem, we develop five heuristic algorithms for solving the problem. The performance of these heuristics is rigorously evaluated in several scenarios simulating real-life occurrences. Further, we apply the most suitable heuristic to the data of a real data center of the organization, and investigate whether the current allocation process could be improved utilizing the algorithm. The evaluations show that the most suitable heuristic for the system based on the combination of solution quality and computational efficiency is the first-fit-decreasing algorithm. Applying this algorithm to real data, the results show that the data center server fleet size can be reduced by almost a third compared to the current allocation, given our simplifying assumptions regarding the CPU utilization of the applications. Furthermore, we show that in case of disturbances disabling parts of the server fleet, we can utilize the heuristic to reallocate on average over 90% of the hostless applications back to the remaining fleet, if up to 40% of the fleet becomes unavailable. Generally, the thesis suggests that the resource utilization of the private cloud system can be improved with simple, systematic allocation procedures.

Nykyaikaiset pilvilaskentaan nojaavat datakeskukset hyödyntävät järjestelmällistä kapasiteetinhallintaa laskentaresurssien tehokkaan käytön mahdollistamiseksi. Laskentatehon kasvava kysyntä on johtanut keskitettyjen datakeskusten rakentamiseen tietointensiivisellä ohjelmistoalalla. Näissä datakeskuksissa tarvitaan kehittyneitä algoritmejä resurssien allokointiin, jotta resurssitarpeet voidaan yhteensovittaa tehokkaasti. Datakeskusten laitteiston käyttöastetta parantamalla keskusten palvelinverkoston kokoa voidaan pienentää, mikä vastaavasti vähentää operaatioiden kustannuksia sekä ekologista jalanjälkeä. Tässä diplomityössä käsitellään yksityistä pilvilaskentaympäristöä, jossa asiakassovellukset on allokoitu organisaation omalle palvelinverkostolle. Allokaatiosysteemi mallinnetaan työssä vektoripakkausongelmana (vector bin packing problem), jossa on kaksi resurssirajoitetta: staattinen hajasaantimuisti (RAM) sekä säännöllisesti vaihteleva suorittimen (CPU) käyttö. Mallin tavoitteena on tarvittavien palvelimien määrän minimointi. Koska ongelma on laskennallisesti hyvin raskas, sen ratkaisemiseksi esitellään viisi heuristiikkaa. Heuristiikkojen suorituskykyä arvioidaan tosielämää mukailevissa tilanteissa, joiden perusteella valitaan systeemiin sopivin algoritmi. Valittua algoritmia sovelletaan organisaation datakeskukseen, ja tutkitaan, voiko nykyistä allokaatioprosessia tehostaa heuristiikan avulla. Arvioinnit osoittavat, että tulosten laadun sekä laskennallisen tehokkuuden kannalta sopivin heuristiikka on first-fit-decreasing -algoritmi. Kun algoritmia sovelletaan oikeaan datakeskukseen, palvelinverkoston kokoa voidaan pienentää lähes kolmanneksella, ottaen huomioon sovellusten suoritinkäytöstä tehdyt yksinkertaistavat oletukset. Tämän lisäksi työssä arvioidaan sovellusten takaisinsijoittamista palvelimille, kun osa verkostosta poistuu käytöstä häiriön vuoksi. Tulokset osoittavat, että heuristiikalla keskimäärin yli 90% kodittomista sovelluksista voidaan sijoittaa takaisin palvelimille, kun jopa 40% verkostosta poistuu käytöstä. Kokonaisuudessaan diplomityön pohjalta voidaan todeta, että kyseisen pilvi-infrastruktuurin resurssien käyttöä voidaan parantaa järjestelmällisten menetelmien avulla.

Description

Supervisor

Salo, Ahti

Thesis advisor

Lampi, Onni

Other note

Citation