Shenango-systemet är planerat att användas i datacenter.
/ Foto
Enligt en av leverantörerna, datacenter endast 20–40 % av tillgänglig datorkraft. Vid hög belastning denna indikator . 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 , 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 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 Linux- ett C-bibliotek med Rust- och C++-bindningar. Projektkoden och testapplikationerna publiceras i 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 , 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 . 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.

Shenango tar dessutom tillvägagångssättet . 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
På 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 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 -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.

/ Foto
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 implementeras som ett C++-bibliotek för Linux, och dess källkod finns tillgänglig på .
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å .
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 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 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
