• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  • Sätter hårdvaruacceleratorer att fungera med automatisk kodöversättning

    Företag som Google, Amazon, och Intel har i stort sett anammat olika typer av hårdvaruacceleratorer i sina molnberäkningspipelines, men många program kan fortfarande inte dra full nytta av dem. Kredit:University of Michigan

    En ny teknik som utvecklats av forskare vid University of Michigan kan möjliggöra bredare användning av post-Moores lagberäkningskomponenter genom automatisk kodöversättning. Systemet, kallas AutomataSynth, låter mjukvaruingenjörer utnyttja kraften hos hårdvaruacceleratorer som FPGA:er utan specialkunskaper om programmering eller att behöva skriva om gamla, CPU-centrerad kod.

    Med Moores lag närmar sig sitt slut, företag och designers förlitar sig på ett antal hårdvarutekniker för att kringgå den minskande avkastningen från nya CPU:er. Bland de mest livskraftiga kortsiktiga kandidaterna har varit hårdvaruacceleratorer som fältprogrammerbara gate arrays (FPGAs), som kan ägnas åt att snabbt utföra särskilda vanliga funktioner och eliminera flaskhalsar i större applikationer.

    Medan deras antagande av företag som Microsoft och Amazon Web Services redan är på god väg, FPGA:er begränsas i sin användning av programmeringskrav som är främmande för många mjukvaruutvecklare. Dessa krav begränsar också deras användning på redan existerande äldre programvara, som vanligtvis skrevs för att fungera specifikt med processorer.

    De flesta program som används idag måste skrivas om helt på en mycket låg nivå för att skörda fördelarna med hårdvaruacceleration. På grund av detta, komponenterna installeras snabbare än de faktiskt används.

    "Företag vidtar åtgärder för att försöka göra [FPGA] mer lättillgängliga för människor, säger Kevin Angstadt, en doktorsexamen kandidat som leder projektet, "men när det gäller att skriva nya program, processen är fortfarande mycket primitiv."

    Laget, som inkluderar proffs. Westley Weimer och Jean-Baptiste Jeannin, försökte bryta igenom dessa adoptionshinder genom att automatiskt skriva om vissa funktioner på låg nivå som används av många större applikationer. Implementerad i stor skala, detta skulle innebära att utvecklare kan utnyttja FPGA fullt ut genom att helt enkelt lägga till några rader i sin befintliga kod - ingen omskrivning krävs.

    Angstadt jämför processen med anpassningen av grafikbearbetningsenheter (GPU) till datoranvändning för allmänna ändamål, ursprungligen aktiverad av NVIDIAs CUDA-plattform. CUDA försåg utvecklare med ett gränssnitt genom vilket de kunde utnyttja en GPU:s processorkraft för icke-grafiska uppgifter.

    Kredit:University of Michigan

    "Målet med detta arbete var att göra något liknande med FPGA, "Säger Angstadt." Du kan inte bara skriva på samma språk när du använder dem, men vi kan ge dig en illusion av att skriva på samma språk. "

    För att uppnå detta, forskarna använde sig av en teknik som kallas bounded automata learning. Tekniken använder en kombination av olika programanalyser för att producera en tillståndsmaskin som både är likvärdig i funktion med den ursprungliga koden och mottaglig för acceleration med FPGA. Väsentligen, deras system läser den givna koden, lär sig kodens funktionalitet, och skriver en hårdvarubeskrivning av detta beteende för att skicka till acceleratorn.

    I en artikel som presenterades om arbetet, de visade sin teknik på en klass av funktioner, strängkärnor, som hanterar sök- och jämförelseoperationer utförda på text.

    "Varje gång du söker igenom ett textdokument, du använder en av de mest primitiva formerna av dessa strängkärnor, " säger Angstadt. Men de kan vara mycket mer komplexa – funktionerna är grundläggande för så olika applikationer som skräppostavkänning, genetisk analys, produktrekommendationer, och partikelfysik.

    Kör AutomataSynth på en riktmärke med verkliga strängfunktioner som är skrivna för att fungera med processorer, laget fann att det kunde lära sig helt ekvivalenta hårdvarudesigner i 72% av fallen och närma sig approximationer i ytterligare 11%.

    Tillämpning av denna teknik på andra klasser av funktioner förblir ett öppet problem för vidare arbete, men Angstadt är övertygad om att det kan användas brett.

    "Vår forskning tyder på att även om det finns många andra funktioner än de vi stöder, det finns fler applikationer än vi inser som kan skrivas om som strängkärnor, " säger Angstadt. "Så vi kanske fortfarande kan tillämpa liknande tekniker för att stödja ytterligare typer av kod."

    Om det lyckas, vi kunde se FPGA:er bli en standardkomponent för allmänt bruk.

    Forskarna presenterade sina resultat i artikeln "Accelerating Legacy String Kernels via Bounded Automata Learning, " accepterat av 2020 års arkitektoniskt stöd för programmeringsspråk och operativsystem (ASPLOS)-konferensen.


    © Vetenskap https://sv.scienceaq.com