Ny CPU load balancer fra MIT

Shenango-systemet er planlagt til at blive brugt i datacentre.

Ny CPU load balancer fra MIT
/ Foto Marco verch CC BY

Ifølge en af ​​udbyderne, datacentre brug kun 20-40 % af tilgængelig computerkraft. Ved høj belastning denne indikator kan nå 60 %. Denne fordeling af ressourcer fører til fremkomsten af ​​såkaldte "zombie-servere". Det er maskiner, der står stille det meste af tiden og spilder energi. I dag 30% af serverne i verden er uden arbejde, der bruger elektricitet for 30 milliarder dollars om året.

MIT besluttede at bekæmpe den ineffektive brug af computerressourcer.

Ingeniørteam har udviklet processorbelastningsbalanceringssystem kaldet Shenango. Dens formål er at overvåge tilstanden af ​​opgavebufferen og omfordele fastlåste processer (som ikke kan modtage CPU-tid) til at frigøre maskiner.

Hvordan Shenango virker

Shenango er et Linux-bibliotek i C med Rust- og C++-bindinger. Projektkoden og testansøgningerne udgives i depoter på GitHub.

Løsningen er baseret på IOKernel-algoritmen, som kører på en dedikeret kerne i et multiprocessorsystem. Det administrerer CPU-anmodninger ved hjælp af en ramme DPDK, som tillader applikationer at kommunikere direkte med netværksenheder.

IOKernelen bestemmer hvilke kerner der skal uddelegere en specifik opgave til. Algoritmen bestemmer også, hvor mange kerner der skal bruges. For hver proces bestemmes hovedkernerne (garanteret) og yderligere (burstable) - sidstnævnte lanceres i tilfælde af en kraftig stigning i antallet af anmodninger til CPU'en.

IOKernel-anmodningskøen er organiseret som ringbuffer. Hvert femte mikrosekund kontrollerer algoritmen, om alle opgaver, der er tildelt kernen, er fuldført. For at gøre dette sammenligner den den aktuelle placering af bufferens hoved med den tidligere position af dens hale. Hvis det viser sig, at halen allerede var i køen på tidspunktet for den forrige kontrol, noterer systemet bufferoverbelastningen og tildeler en ekstra kerne til processen.

Ved fordeling af belastningen gives prioritet til kerner, hvor den samme proces blev udført tidligere og delvist forblev i cachen, eller til eventuelle inaktive kerner.

Ny CPU load balancer fra MIT

Shenango tager desuden tilgangen arbejde stjæle. Kernerne, der er allokeret til at køre én applikation, overvåger antallet af opgaver, som hinanden har. Hvis en kerne afslutter sin liste over opgaver før de andre, så "aflaster" den en del af belastningen fra sine naboer.

Fordele og ulemper

On ifølge ingeniører fra MIT, Shenango er i stand til at behandle fem millioner anmodninger i sekundet og opretholde en gennemsnitlig responstid på 37 mikrosekunder. Eksperter siger, at teknologien i nogle tilfælde kan øge udnyttelsesgraden af ​​processorer i datacentre til 100 %. Som følge heraf vil datacenteroperatører kunne spare på indkøb og vedligeholdelse af servere.

Løsningspotentiale mark og specialister fra andre universiteter. Ifølge en professor fra et koreansk institut vil MIT-systemet hjælpe med at reducere forsinkelser i webtjenester. For eksempel vil det være nyttigt i netbutikker. På salgsdage er der endda endnu en forsinkelse i sideindlæsningen приводит til et fald i antallet af sidevisninger med 11 %. Hurtig belastningsfordeling vil hjælpe med at betjene flere kunder.

Teknologien har stadig ulemper - den understøtter ikke multiprocessor I-systemer, hvor chips er forbundet til forskellige hukommelsesmoduler og ikke "kommunikerer" med hinanden. I dette tilfælde kan IOKernel regulere driften af ​​en separat gruppe af processorer, men ikke alle serverchips.

Ny CPU load balancer fra MIT
/ Foto Tim Reckmann CC BY

Lignende teknologier

Andre processorbelastningsbalanceringssystemer inkluderer Arachne. Den beregner, hvor mange kerner en applikation skal bruge, når den starter, og distribuerer processer i henhold til denne indikator. Ifølge forfatterne er den maksimale latenstid for en applikation i Arachne omkring 10 tusinde mikrosekunder.

Teknologien er implementeret som et C++-bibliotek til Linux, og dets kildekode er tilgængelig på GitHub.

Et andet balanceringsværktøj er ZygOS. Ligesom Shenango bruger teknologien metoden til at stjæle arbejde til at omfordele processer. Ifølge forfatterne af ZygOS er den gennemsnitlige applikationsforsinkelse ved brug af værktøjet omkring 150 mikrosekunder, og maksimum er omkring 450 mikrosekunder. Projektkoden er også er i det offentlige domæne.

Fund

Moderne datacentre fortsætter med at udvide. Den stigende tendens er især mærkbar på markedet for hyperskala datacentre: nu i verden der er 430 hyperskala datacentre, men i de kommende år kan deres antal stige med 30 %. Af denne grund vil processorbelastningsbalanceringsteknologier være meget efterspurgte. Systemer som Shenango er allerede tilgængelige gennemføre store virksomheder, og antallet af sådanne værktøjer vil kun vokse i fremtiden.

Indlæg fra den første blog om virksomhedens IaaS:

Kilde: www.habr.com

Tilføj en kommentar