Accelerometer-estimeret hastighed for vigtige omkostninger identificeret af forskerne. Kredit:University of Michigan
Store softwaretjenester kæmper effektivitetskampen på to fronter-effektiv software, der er fleksibel til skiftende forbrugerkrav, og effektiv hardware, der kan holde disse massive tjenester i gang hurtigt selv i lyset af faldende afkast fra CPU'er. Sammen, disse faktorer bestemmer både kvaliteten af brugeroplevelsen og ydelsen, koste, og energieffektivitet i moderne datacentre.
En ændring på den ene front kræver justeringer på den anden, og en ny softwarearkitektur, der vokser i popularitet, har udgjort en udfordring for de hardwareløsninger, der er aktuelle i de fleste datacentre. Kaldes mikrotjenester, denne modulære tilgang til design af store virksomhedssoftware har efterladt noget at ønske om i sine interaktioner med en anden stor stigende kraft i datacenter effektivitet, hardware acceleratorer.
For at bringe disse to lovende teknologier mere effektivt sammen, CSE Ph.D. studerende Akshitha Sriraman, arbejder med forskere fra Facebook, har designet en måde at måle præcis, hvor meget en hardware -accelerator ville fremskynde et datacenter. Passende navn Accelerometer, den analytiske model kan anvendes i de tidlige stadier af en accelerators design for at forudsige dens effektivitet, før den nogensinde bliver installeret.
Stadig en noget ny teknologi inden for generel databrug, effektiviteten af hardware acceleratorer er ikke så let at forudsige som CPU'er, som har årtiers erfaring bag sig. Investering i denne slags forskelligartet brugerdefineret hardware udgør en stor risiko, da det måske ikke lever op til sine forventninger.
Men potentialet for en stor indflydelse er der. Designet til at udføre en type funktion ekstremt hurtigt, acceleratorer kunne teoretisk påkaldes for alt det overflødige, gentagne opgaver, der bruges til fælles af større applikationer.
Det inkluderer mikroservices. Denne softwarearkitektur tilgang opfatter en større applikation som en samling af modulære, opgavespecifikke tjenester, der hver især kan forbedres isoleret set. Dette gør det muligt at foretage ændringer i den større applikation uden at skulle ændre en enorm, central kodebase. Det giver også mulighed for lettere at tilføje flere tjenester.
Sriraman demonstrerede, at så få som 18% af de fleste mikroservices 'CPU -cykler bruges på at udføre instruktioner, der er kernen i deres funktionalitet. De resterende 82% bruges på fælles operationer, der er modne til at accelerere.
"At fremskynde disse omkostninger, vi identificerede, kan faktisk forbedre hastigheden i et betydeligt omfang, "Siger Sriraman. Ud over hastighed, det ville gøre alle datacenterets funktioner billigere og mere energieffektive. "Acceleration giver os mulighed for at pakke mere arbejde med de samme strømbegrænsninger og forbedre ressourceudnyttelsen i stor skala, så datacenters energi- og omkostningsbesparelser vil blive stærkt forbedret. "
Problemet med mikroservices er, at deres designs kan vise sig at være ganske forskellige, især med hensyn til, hvordan de interagerer med hardware. For eksempel, en mikroservice kan kommunikere med en accelerator, mens den fortsætter med at køre andre instruktioner på en CPU, eller det kunne standse alle dets funktioner, mens det læsses af til speederen. Begge disse sager står over for forskellige "offload -omkostninger" (den tid, det tager at sende en opgave fra en processor til en anden), som går tabt tid for datacenteret, hvis det ikke er redegjort for.
"Hver af disse valg af softwaredesign kan resultere i forskellige omkostninger, der påvirker den samlede hastighed fra acceleration, "siger Sriraman. Denne overhead er udeladt af billedet i tidligere arbejde, hun fortsætter, ligesom virkningen af de forskellige mikroservicedesign på ydelsen.
Derudover acceleratorer selv skal bruges fornuftigt for at have en netto positiv effekt.
"At kaste en accelerator på hvert problem er latterligt, fordi det tager meget tid, koste, og indsats for at bygge, prøve, og implementere hver enkelt, "slutter hun." Der er et reelt behov for præcist at forstå, hvad og hvordan man kan accelerere. "
Accelerometer er en analytisk model, der måler præcis, hvor meget ydelse der ville blive forbedret ved at installere en given processor, hvis overhovedet med alle disse nuancer taget i betragtning. Det betyder, at den måler accelerationens positive effekt samt den negative effekt af at bruge tid på at blande instruktioner rundt mellem computerkomponenter. Og dens muligheder er ikke begrænset til nye acceleratorer - modellen kan anvendes på enhver form for hardware, lige fra en simpel CPU -optimering til en ekstremt specialiseret fjern -ASIC.
Værktøjet blev valideret i Facebooks produktionsmiljø ved hjælp af tre retrospektive casestudier, viser, at dens reelle hastighedsestimater har mindre end 3,7% fejl.
Modellen er tilstrækkelig præcis til allerede at blive taget i brug af Facebook, med tidlig interesse fra andre virksomheder.
"Vi har fået besked om, at flere af de store cloud -spillere er begyndt at bruge Accelerometer til hurtigt at kassere dårlige acceleratorvalg og identificere de gode, at foretage velinformerede hardwareinvesteringer, "Siger Sriraman. Facebook bruger modellen til at udforske nye acceleratorer, indarbejde det som et første skridt til hurtigt at sortere gode og dårlige hardware valg.
Dette projekt, med titlen "Accelerometer:Forståelse af accelerationsmuligheder for datacenteroverheads i hyperscale, "blev accepteret af 2020 Architectural Support for Programming Languages and Operating Systems (ASPLOS) Conference og præsenteret praktisk talt.
Sidste artikelKina bliver verdens bedste patentfiler:FN
Næste artikelIntel præsenterer en 10-core 5,3 GHz processor