Ny CPU-lastbalanserare från MIT

Shenango-systemet är planerat att användas i datacenter.

Ny CPU-lastbalanserare från MIT
/ Foto Marco verch CC BY

Enligt en av leverantörerna, datacenter begagnade endast 20–40 % av tillgänglig datorkraft. Vid hög belastning denna indikator kan nå 60 %. Denna fördelning av resurser leder till uppkomsten av så kallade "zombieservrar". Det här är maskiner som står stilla för det mesta och slösar energi. Idag 30% av servrarna i världen är utan arbete, förbrukar el till ett värde av 30 miljarder dollar per år.

MIT beslutade att bekämpa den ineffektiva användningen av datorresurser.

Ingenjörsteam har utvecklats processor lastbalanseringssystem som kallas Shenango. Dess syfte är att övervaka tillståndet för uppgiftsbufferten och omfördela processer som har fastnat (som inte kan ta emot CPU-tid) till lediga maskiner.

Hur Shenango fungerar

Shenango är ett Linux-bibliotek i C med Rust- och C++-bindningar. Projektkoden och testansökningarna publiceras i förråd på GitHub.

Lösningen är baserad på IOKernel-algoritmen, som körs på en dedikerad kärna i ett multiprocessorsystem. Den hanterar CPU-förfrågningar med hjälp av ett ramverk DPDK, vilket gör att applikationer kan kommunicera direkt med nätverksenheter.

IOKernel bestämmer vilka kärnor som en specifik uppgift ska delegeras till. Algoritmen avgör också hur många kärnor som behövs. För varje process bestäms huvudkärnorna (garanterat) och ytterligare (burstable) - de senare lanseras i händelse av en kraftig ökning av antalet förfrågningar till CPU.

IOKernel-förfrågningskön är organiserad som ringbuffert. Var femte mikrosekund kontrollerar algoritmen om alla uppgifter som tilldelats kärnan har slutförts. För att göra detta jämför den den aktuella platsen för buffertens huvud med den tidigare positionen för dess svans. Om det visar sig att svansen redan var i kön vid tidpunkten för den tidigare kontrollen, noterar systemet buffertöverbelastningen och allokerar en extra kärna för processen.

Vid distribution av belastningen ges prioritet till kärnor där samma process utfördes tidigare och delvis fanns kvar i cachen, eller till eventuella lediga kärnor.

Ny CPU-lastbalanserare från MIT

Shenango tar dessutom tillvägagångssättet arbete med att stjäla. Kärnorna som tilldelats för att köra en applikation övervakar antalet uppgifter som varandra har. Om en kärna avslutar sin lista över uppgifter före de andra, så "avlastar" den en del av belastningen från sina grannar.

Fördelar och nackdelar

enligt ingenjörer från MIT, Shenango kan behandla fem miljoner förfrågningar per sekund och upprätthålla en genomsnittlig svarstid på 37 mikrosekunder. Experter säger att tekniken i vissa fall kan öka utnyttjandegraden av processorer i datacenter till 100 %. Som ett resultat kommer datacenteroperatörer att kunna spara på köp och underhåll av servrar.

Lösningspotential mark och specialister från andra universitet. Enligt en professor från ett koreanskt institut kommer MIT-systemet att bidra till att minska förseningar i webbtjänster. Det kommer till exempel att vara användbart i nätbutiker. På försäljningsdagar finns det till och med en andra fördröjning av sidladdningen приводит till en minskning av antalet webbplatsvisningar med 11 %. Snabb lastfördelning kommer att hjälpa fler kunder.

Tekniken har fortfarande nackdelar - den stöder inte multiprocessor NUMA-system där chips är anslutna till olika minnesmoduler och inte "kommunicerar" med varandra. I det här fallet kan IOKernel reglera driften av en separat grupp av processorer, men inte alla serverchips.

Ny CPU-lastbalanserare från MIT
/ Foto Tim Reckmann CC BY

Liknande tekniker

Andra processorlastbalanseringssystem inkluderar Arachne. Den beräknar hur många kärnor en applikation kommer att behöva när den startar, och distribuerar processer enligt denna indikator. Enligt författarna är den maximala latensen för en applikation i Arachne cirka 10 tusen mikrosekunder.

Tekniken är implementerad som ett C++-bibliotek för Linux, och dess källkod finns tillgänglig på GitHub.

Ett annat balanseringsverktyg är ZygOS. Precis som Shenango använder tekniken arbetsstöldmetoden för att omfördela processer. Enligt författarna till ZygOS är den genomsnittliga applikationslatensen vid användning av verktyget cirka 150 mikrosekunder, och den maximala är cirka 450 mikrosekunder. Projektkoden är också är allmän egendom.

Resultat

Moderna datacenter fortsätter att expandera. Den ökande trenden är särskilt märkbar på marknaden för hyperskaliga datacenter: nu i världen det finns 430 hyperskala datacenter, men under de kommande åren kan deras antal öka med 30 %. Av denna anledning kommer processorbelastningsbalansering att vara efterfrågad. System som Shenango är redan tillgängliga genomföra stora företag, och antalet sådana verktyg kommer bara att växa i framtiden.

Inlägg från den första bloggen om företags IaaS:

Källa: will.com

Lägg en kommentar