• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  • Systemet fördelar bättre tidskänslig databehandling över kärnor för att upprätthålla snabba svarstider från användare

    Ett nytt system från MIT-forskare förbättrar effektiviteten i höghastighetsoperationer i datacenter genom att bättre tilldela tidskänslig databehandling över CPU-kärnor och säkerställa att hårdvaran går produktivt. Kredit:Massachusetts Institute of Technology

    Dagens datacenter äter upp och slösar en hel del energi på att svara på användarförfrågningar så snabbt som möjligt, med bara några mikrosekunders fördröjning. Ett nytt system från MIT-forskare förbättrar effektiviteten i höghastighetsoperationer genom att bättre tilldela tidskänslig databehandling över centrala processenheter (CPU) kärnor och säkerställa att hårdvaran körs produktivt.

    Datacenter fungerar som distribuerade nätverk, med många webb- och mobilapplikationer implementerade på en enda server. När användare skickar förfrågningar till en app, bitar av lagrad data hämtas från hundratals eller tusentals tjänster över lika många servrar. Innan du skickar ett svar, appen måste vänta på den långsammaste tjänsten för att behandla data. Denna fördröjningstid är känd som svanslatens.

    Nuvarande metoder för att minska svansfördröjningar lämnar massor av CPU-kärnor i en server öppna för att snabbt hantera inkommande förfrågningar. Men detta betyder att kärnor sitter stilla under en stor del av tiden, medan servrar fortsätter att använda energi bara för att vara påslagen. Datacenter kan innehålla hundratusentals servrar, så även små förbättringar av varje servers effektivitet kan spara miljontals dollar.

    Alternativt vissa system omfördelar kärnor mellan appar baserat på arbetsbelastning. Men detta sker under millisekunder – runt en tusendel av önskad hastighet för dagens snabba förfrågningar. Att vänta för länge kan också försämra en apps prestanda, eftersom all information som inte behandlas före en viss tid inte skickas till användaren.

    I ett dokument som presenteras på USENIX Networked Systems Design and Implementation-konferens nästa vecka, forskarna utvecklade ett snabbare kärnallokeringssystem, kallas Shenango, som minskar svansfördröjningar, samtidigt som man uppnår hög effektivitet. Först, en ny algoritm upptäcker vilka appar som kämpar för att bearbeta data. Sedan, en mjukvarukomponent allokerar lediga kärnor för att hantera appens arbetsbelastning.

    "I datacenter, det finns en avvägning mellan effektivitet och latens, och du behöver verkligen omfördela kärnor med mycket finare granularitet än varje millisekund, " säger första författaren Amy Ousterhout, en Ph.D. student vid datavetenskap och artificiell intelligens Laboratory (CSAIL). Shenango låter servrar "hantera operationer som sker på riktigt korta tidsskalor och göra det effektivt."

    Energi- och kostnadsbesparingar varierar beroende på datacenter, beroende på storlek och arbetsbelastning. Men det övergripande målet är att förbättra datacentrets CPU-användning, så att varje kärna kommer till nytta. Den bästa CPU-användningshastigheten idag ligger på cirka 60 procent, men forskarna säger att deras system potentiellt kan öka den siffran till 100 procent.

    "Användningen av datacenter idag är ganska låg, " säger medförfattaren Adam Belay, en biträdande professor i elektroteknik och datavetenskap och en CSAIL-forskare. "Det här är ett mycket allvarligt problem [som inte kan] lösas på ett enda ställe i datacentret. Men det här systemet är en viktig del för att öka utnyttjandet."

    Med Ousterhout och Belay på tidningen är Hari Balakrishnan, Fujitsu ordförande professor vid institutionen för elektroteknik och datavetenskap, och CSAIL Ph.D. eleverna Jonathan Behrens och Joshua Fried.

    Effektiv trängseldetektering

    I ett verkligt datacenter, Shenango – algoritm och programvara – skulle köras på varje server i ett datacenter. Alla servrar skulle kunna kommunicera med varandra.

    Systemets första innovation är en ny algoritm för att upptäcka trafikstockningar. Var femte mikrosekund kontrollerar algoritmen datapaket som står i kö för bearbetning för varje app. Om ett paket fortfarande väntar från den senaste observationen, Algoritmen noterar att det finns en fördröjning på minst 5 mikrosekunder. Den kontrollerar också om några beräkningsprocesser, kallas trådar, väntar på att avrättas. Om så är fallet, systemet anser att en "överbelastad" app.

    Det verkar enkelt nog. Men köns struktur är viktig för att uppnå detektering av trängsel i mikrosekund. Traditionellt tänkande innebar att programvaran skulle kontrollera tidsstämpeln för varje datapaket i kö, vilket skulle ta för mycket tid.

    Forskarna implementerar köerna i effektiva strukturer som kallas "ringbuffertar". Dessa strukturer kan visualiseras som olika slitsar runt en ring. Det första inmatade datapaketet går in i en startlucka. När nya uppgifter kommer, de släpps i efterföljande spår runt ringen. Vanligtvis, dessa strukturer används för först-in-först-ut databehandling, dra data från startfacket och arbeta mot slutfacket.

    Forskarnas system, dock, lagrar endast datapaket kort i strukturerna, tills en app kan bearbeta dem. Sålänge, de lagrade paketen kan användas för överbelastningskontroller. Algoritmen behöver bara jämföra två punkter i kön – platsen för det första paketet och var det sista paketet var för fem mikrosekunder sedan – för att avgöra om paketen stöter på en fördröjning.

    "Du kan titta på dessa två punkter, och spåra deras framsteg var femte mikrosekund, för att se hur mycket data som har behandlats, " säger Fried. Eftersom strukturerna är enkla, "du behöver bara göra detta en gång per kärna. Om du tittar på 24 kärnor, du gör 24 kontroller på fem mikrosekunder, som skalar fint."

    Smart fördelning

    Den andra innovationen kallas IOKernel, den centrala mjukvaruhubben som styr datapaket till lämpliga appar. IOKernel använder också trängseldetekteringsalgoritmen för att snabbt allokera kärnor till överbelastade appar i storleksordningar snabbare än traditionella metoder.

    Till exempel, IOKernel kan se ett inkommande datapaket för en viss app som kräver mikrosekunders bearbetningshastigheter. Om appen är överbelastad på grund av brist på kärnor, IOKernel ägnar omedelbart en ledig kärna åt appen. Om den också ser en annan app som kör kärnor med mindre tidskänslig data, det kommer att ta tag i några av dessa kärnor och omfördela dem till den överbelastade appen. Apparna själva hjälper också till:Om en app inte bearbetar data, den varnar IOKernel om att dess kärnor kan omfördelas. Bearbetade data går tillbaka till IOKernel för att skicka svaret.

    "IOKernel koncentrerar sig på vilka appar som behöver kärnor som inte har dem, " säger Behrens. "Den försöker ta reda på vem som är överbelastad och behöver fler kärnor, och ger dem kärnor så snabbt som möjligt, så att de inte hamnar på efterkälken och har enorma latenser."

    Den täta kommunikationen mellan IOKernel, algoritm, appar, och serverhårdvara är "unik i datacenter" och låter Shenango fungera sömlöst, Belay säger:"Systemet har global insyn i vad som händer på varje server. Det ser hårdvaran som tillhandahåller paketen, vad körs var i varje kärna, och hur upptagen var och en av apparna är. Och det gör det på mikrosekundsskala."

    Nästa, forskarna förfinar Shenango för real-world datacenter implementering. Att göra så, de säkerställer att programvaran kan hantera en mycket hög datagenomströmning och har lämpliga säkerhetsfunktioner.


    © Vetenskap https://sv.scienceaq.com