science >> Wetenschap >  >> Elektronica

AI-systeem verdeelt workloads optimaal over duizenden servers om kosten te besparen, energie besparen

Een nieuw systeem van MIT-onderzoekers "leert" automatisch hoe gegevensverwerkingsactiviteiten over duizenden servers moeten worden verdeeld.

Een nieuw systeem ontwikkeld door MIT-onderzoekers "leert" automatisch hoe gegevensverwerkingsactiviteiten op duizenden servers moeten worden gepland - een taak die traditioneel was voorbehouden aan onnauwkeurige, door mensen ontworpen algoritmen. Als u dit wel doet, kunnen de huidige energieverslindende datacenters veel efficiënter werken.

Datacenters kunnen tienduizenden servers bevatten, die voortdurend gegevensverwerkingstaken uitvoeren van ontwikkelaars en gebruikers. Clusterplanningsalgoritmen verdelen de inkomende taken over de servers, live, om alle beschikbare computerbronnen efficiënt te gebruiken en taken snel te klaren.

traditioneel, echter, mensen verfijnen die planningsalgoritmen, gebaseerd op enkele basisrichtlijnen ("beleid") en verschillende afwegingen. Zij mogen, bijvoorbeeld, codeer het algoritme om bepaalde taken snel uit te voeren of verdeel de middelen gelijkelijk over taken. Maar workloads, oftewel groepen gecombineerde taken, zijn er in alle soorten en maten. Daarom, het is vrijwel onmogelijk voor mensen om hun planningsalgoritmen te optimaliseren voor specifieke workloads en, als resultaat, ze schieten vaak tekort in hun werkelijke efficiëntiepotentieel.

De MIT-onderzoekers hebben in plaats daarvan alle handmatige codering overgeheveld naar machines. In een paper die wordt gepresenteerd op SIGCOMM, ze beschrijven een systeem dat gebruikmaakt van "reinforcement learning" (RL), een trial-and-error machine-learning techniek, om planningsbeslissingen af ​​te stemmen op specifieke workloads in specifieke serverclusters.

Om dit te doen, ze bouwden nieuwe RL-technieken die konden trainen op complexe werklasten. In opleiding, het systeem probeert vele mogelijke manieren om inkomende workloads over de servers te verdelen, uiteindelijk het vinden van een optimale afweging in het gebruik van rekenmiddelen en snelle verwerkingssnelheden. Er is geen menselijke tussenkomst vereist behalve een eenvoudige instructie, zoals, "minimaliseer de voltooiingstijden van de taak."

Vergeleken met de beste handgeschreven planningsalgoritmen, het systeem van de onderzoekers voltooit taken ongeveer 20 tot 30 procent sneller, en twee keer zo snel tijdens drukke tijden. Grotendeels, echter, het systeem leert hoe de werklasten efficiënt kunnen worden gecomprimeerd om weinig afval achter te laten. Resultaten geven aan dat het systeem datacenters in staat zou kunnen stellen om dezelfde werklast bij hogere snelheden af ​​te handelen, minder middelen gebruiken.

"Als je een manier hebt om met vallen en opstaan ​​​​met machines te werken, ze kunnen verschillende manieren uitproberen om taken in te plannen en automatisch uitzoeken welke strategie beter is dan andere, " zegt Hongzi Mao, een doctoraat student aan de afdeling Elektrotechniek en Informatica (EECS). "Dat kan de systeemprestaties automatisch verbeteren. En elke kleine verbetering in het gebruik, zelfs 1 procent, kan miljoenen dollars en veel energie besparen in datacenters."

"Er is geen one-size-fits-all voor het nemen van planningsbeslissingen, " voegt co-auteur Mohammad Alizadeh toe, een EECS-professor en onderzoeker in het Computer Science and Artificial Intelligence Laboratory (CSAIL). "In bestaande systemen dit zijn hardgecodeerde parameters die u vooraf moet beslissen. In plaats daarvan leert ons systeem de kenmerken van het planningsbeleid af te stemmen, afhankelijk van het datacenter en de werkdruk."

Naast Mao en Alizadeh op het papier zijn:postdocs Malte Schwarzkopf en Shaileshh Bojja Venkatakrishnan, en afgestudeerd onderzoeksassistent Zili Meng, allemaal van CSAIL.

RL voor planning

Typisch, gegevensverwerkingstaken komen in datacenters die worden weergegeven als grafieken van "knooppunten" en "randen". Elk knooppunt vertegenwoordigt een rekentaak die moet worden uitgevoerd, waar hoe groter de knoop, hoe meer rekenkracht nodig is. De randen die de knooppunten verbinden, verbinden verbonden taken met elkaar. Planningsalgoritmen wijzen knooppunten toe aan servers, op basis van verschillende polissen.

Maar traditionele RL-systemen zijn niet gewend aan het verwerken van dergelijke dynamische grafieken. Deze systemen maken gebruik van een software-"agent" die beslissingen neemt en als beloning een feedbacksignaal ontvangt. Eigenlijk, het probeert zijn beloningen voor een bepaalde actie te maximaliseren om een ​​ideaal gedrag in een bepaalde context te leren. Ze kunnen, bijvoorbeeld, robots helpen een taak uit te voeren, zoals het oppakken van een object door interactie met de omgeving, maar dat omvat het verwerken van video of afbeeldingen via een eenvoudiger ingesteld raster van pixels.

Om hun op RL gebaseerde planner te bouwen, genaamd Decima, moesten de onderzoekers een model ontwikkelen dat grafisch gestructureerde banen kon verwerken, en schaal naar een groot aantal taken en servers. De 'agent' van hun systeem is een planningsalgoritme dat gebruikmaakt van een neuraal netwerk, vaak gebruikt om grafisch gestructureerde gegevens te verwerken. Om een ​​graaf neuraal netwerk te bedenken dat geschikt is voor planning, ze implementeerden een aangepaste component die informatie over paden in de grafiek verzamelt, zoals snel inschatten hoeveel berekening nodig is om een ​​bepaald deel van de grafiek te voltooien. Dat is belangrijk voor het plannen van taken, omdat "kind" (onderste) knooppunten niet kunnen beginnen met uitvoeren totdat hun "bovenliggende" (bovenste) knooppunten zijn voltooid, dus anticiperen op toekomstig werk langs verschillende paden in de grafiek staat centraal bij het nemen van goede planningsbeslissingen.

Om hun RL-systeem te trainen, de onderzoekers simuleerden veel verschillende grafiekreeksen die de workloads nabootsen die datacenters binnenkomen. De agent neemt vervolgens beslissingen over hoe elk knooppunt langs de grafiek aan elke server moet worden toegewezen. Voor elke beslissing een component berekent een beloning op basis van hoe goed het een bepaalde taak heeft uitgevoerd, zoals het minimaliseren van de gemiddelde tijd die nodig was om een ​​enkele taak te verwerken. De agent gaat door, haar beslissingen verbeteren, totdat het de hoogst mogelijke beloning krijgt.

Werkbelastingen baseren

een zorg, echter, is dat sommige werklastsequenties moeilijker te verwerken zijn dan andere, omdat ze grotere taken of ingewikkelder structuren hebben. Die zullen altijd langer duren om te verwerken - en, daarom, het beloningssignaal zal altijd lager zijn dan de eenvoudigere. Maar dat betekent niet noodzakelijk dat het systeem slecht heeft gepresteerd:het kan tijd maken bij een uitdagende werklast, maar nog steeds langzamer zijn dan een eenvoudigere werklast. Die variabiliteit in moeilijkheidsgraad maakt het een uitdaging voor het model om te beslissen welke acties goed zijn of niet.

Om dat aan te pakken, de onderzoekers pasten in deze context een techniek toe die 'baselining' wordt genoemd. Deze techniek neemt gemiddelden van scenario's met een groot aantal variabelen en gebruikt die gemiddelden als basis om toekomstige resultaten te vergelijken. Tijdens de training, ze berekenden een basislijn voor elke invoerreeks. Vervolgens, ze laten de planner meerdere keren trainen op elke werkbelastingreeks. Volgende, het systeem nam de gemiddelde prestaties voor alle beslissingen die werden genomen voor dezelfde invoerwerkbelasting. Dat gemiddelde is de basis waartegen het model zijn toekomstige beslissingen kan vergelijken om te bepalen of zijn beslissingen goed of slecht zijn. Ze noemen deze nieuwe techniek 'input-dependent baselining'.

Die innovatie, zeggen de onderzoekers, is toepasbaar op veel verschillende computersystemen. "Dit is een algemene manier om versterkend leren te doen in omgevingen waar een invoerproces is dat de omgeving beïnvloedt, en je wilt dat elk trainingsevenement een voorbeeld van dat invoerproces in overweging neemt, " zegt hij. "Bijna alle computersystemen hebben te maken met omgevingen waar dingen voortdurend veranderen."

Aditya Akella, een professor in computerwetenschappen aan de Universiteit van Wisconsin in Madison, wiens groep verschillende krachtige planners heeft ontworpen, ontdekten dat het MIT-systeem hun eigen beleid verder zou kunnen verbeteren. "Decima kan een stap verder gaan en mogelijkheden vinden voor [planning] optimalisatie die simpelweg te lastig zijn om te realiseren via handmatige ontwerp-/afstemmingsprocessen, " zegt Akella. "De planners die we hebben ontworpen, hebben aanzienlijke verbeteringen bereikt ten opzichte van technieken die in de productie worden gebruikt in termen van applicatieprestaties en clusterefficiëntie, maar er was nog een kloof met de ideale verbeteringen die we mogelijk zouden kunnen bereiken. Decima laat zien dat een op RL gebaseerde aanpak [beleid] kan ontdekken dat de kloof verder kan overbruggen. Decima verbeterde onze technieken met [ongeveer] 30 procent, wat als een grote verrassing kwam."

Direct, hun model is getraind op simulaties die in realtime inkomend online verkeer proberen te recreëren. Volgende, de onderzoekers hopen het model te trainen op realtime verkeer, die de servers mogelijk kunnen laten crashen. Dus, ze ontwikkelen momenteel een "vangnet" dat hun systeem zal stoppen wanneer het op het punt staat een crash te veroorzaken. "We zien het als zijwieltjes, " zegt Alizadeh. "We willen dat dit systeem continu traint, maar het heeft bepaalde zijwieltjes dat als het te ver gaat, we ervoor kunnen zorgen dat het niet omvalt."

Dit verhaal is opnieuw gepubliceerd met dank aan MIT News (web.mit.edu/newsoffice/), een populaire site met nieuws over MIT-onderzoek, innovatie en onderwijs.