Cost-aware Resource Management in Clusters and Clouds

Datum: 12 juni 2014

Locatie: UAntwerpen - Campus Middelheim - Lokaal G0.10 - Middelheimlaan 1 - 2020 Antwerpen

Tijdstip: 14 uur

Organisatie / co-organisatie: Departement Wiskunde-Informatica

Promovendus: Ruben Van Den Bossche

Promotor: Prof. dr. Jan Broeckhove en dr. K. Vanmechelen

Korte beschrijving: Doctoraatsverdediging Ruben Van Den Bossche - Faculteit Wetenschappen, Departement Wiskunde-Informatica



Abstract

Organisaties en bedrijven gebruiken steeds vaker applicaties die ingezet worden om bedrijfskritische taken te vervullen. Vaak worden deze applicaties uitgevoerd op zogenaamde 'clusters', een aantal door een netwerk met elkaar verbonden computers waartoe verschillende gebruikers in de organisatie gelijktijdig toegang hebben. Wanneer meerdere gebruikers hun applicaties gelijktijdig op dezelfde computerbronnen willen uitvoeren, stelt er zich een planningsprobleem en is er een manier nodig om aan die applicaties prioriteiten toe te kennen. De softwarecomponent die instaat voor het plannen van applicaties in een context met meerdere gebruikers heet een scheduler, het planningsproces wordt scheduling genoemd.

De computerinfrastructuur waarop die applicaties uitgevoerd worden, evolueerde de voorbije jaren ook enorm. Daarbij wordt deze infrastructuur steeds vaker beschouwd als een nutsvoorziening, die toelaat om geconsumeerd te worden wan- neer nodig, waarvoor betaald wordt op basis van het gemeten verbruik en waarbij de drempel voor het gebruik erg laag is. Dat is de basis van 'cloud computing', een verzamelnaam voor diensten waarbij toegang tot computerinfrastructuur en -applicaties gehuurd kan worden. Belangrijk aspect daarbij is flexibiliteit: de toe- gang tot een nieuwe server wordt quasi onmiddellijk verschaft, en wordt afgerekend per gebruikt uur. Die flexibiliteit opent deuren voor organisaties: niet langer is de hoeveelheid servers die ze zelf in hun bezit hebben een belemmering voor de uit te voeren applicaties. Dat voegt aan het eerder genoemde planningsprobleem een aspect van kostenefficiëntie toe: aangezien elk uur rekentijd in de cloud verbonden is met een kost, is het belangrijk dat de gebruikers en applicaties in zo’n organisatie daar bewust mee omgaan.

Het onderzoek dat in dit proefwerk gepresenteerd wordt, situeert zich in het domein van gedistribueerde computerinfrastructuur, en probeert een antwoord te bieden op onderzoeksvragen in het kader van het kostenbewust beheren van computerinfrastructuur in clusters en clouds. Dit proefschrift is onderverdeeld in drie delen.

  • Deel 1 beschouwt het plannen van applicaties in cluster-systemen gebaseerd op de waarde die de eigenaars van die applicaties hechten aan de correcte en intijdse uitvoering van hun applicatie. Daarbij wordt gekeken naar gerelateerde wetenschappelijke publicaties in het gebied van waarde-gebaseerd plannen, en wordt de toegevoegde waarde van zo’n waarde-gebaseerd planningsmechanisme vergeleken met een eenvoudiger systeem gebaseerd op een aantal vaste wachtrijen. Uit onze resultaten blijkt dat zo’n wachtrij-gebaseerd systeem met een beperkt aantal wachtrijen de prestaties van een waarde-gebaseerd systeem benadert op vlak van gegenereerde waarde.
     
  • In Deel 2 van dit werk wordt het planningsprobleem onderzocht dat zich stelt wanneer een private cluster in een organisatie uitgebreid wordt met de flexibele infrastructuur van één of meerdere cloud providers. We beperken ons daarbij tot het planningsprobleem met betrekking tot applicaties van het type 'batch jobs' die voor een bepaalde deadline uitgevoerd moeten worden. Het probleem wordt benaderd vanuit het oogpunt van kostenefficiëntie, en er wordt bij de voorgestelde oplos- singsmethodologieën opeenvolgend gebruik gemaakt van lineair programmeren en heuristieken. De aanpak die gebruik maakt van een lineair programmeringsformulering blijkt uit onze resultaten onhaalbaar vanuit computationeel standpunt wanneer private en publieke cloud bronnen gecombineerd worden. De voorgestelde heuristieken lossen die kwestie op en tonen aan dat significantie kostenwinsten geboekt kunnen worden op dat vlak. Bovendien zijn ze robuust ten aanzien van fouten in de afgeschatte duurtijd van de taken van een applicatie.
     
  • Deel 3 van deze thesis neemt het kosten-optimalisatieprobleem verder onder de loep. Door gebruik te maken van goedkopere cloud contracten waarvoor een voorafbetaling nodig is, kunnen cloud gebruikers hun infrastructuurkosten terugdrijven zonder zwaar in te moeten boeten aan flexibiliteit. Om optimaal gebruik te maken van zo’n contracten is echter inzicht nodig in hoe de benodigde hoeveelheid computerbronnen van een gebruiker of organisatie zich in de toekomst zal gedragen. Wanneer er te veel contracten aangekocht worden, kunnen de kosten immers snel oplopen, tot zelfs boven het niveau waarbij er geen gebruik wordt gemaakt van de goedkopere contracten. Onze aanpak in dit proefwerk maakt gebruik van voorspellingstechnieken om de toekomstige belasting te voorspellen, waarna het voorgestelde algoritme automatisch voorstellen genereert omtrent de hoeveelheid contracten en de types ervan die aangekocht moeten worden. Onze resultaten tonen aan dat het algoritme potentieel heeft om de kosten voor cloud infrastructuur met tot 30% terug te drijven, maar dat het gebruik van geavanceerde voorspellingstechnieken slechts een significant kostenvoordeel biedt wanneer de belasting niet-triviale maar wel-voorspelbare seizoenspatronen vertoont.