Hjem Fremover tenking Kan fpgas eller konfigurerbare prosessorer gå til mainstream?

Kan fpgas eller konfigurerbare prosessorer gå til mainstream?

Video: The i7 4770 Vs i7 10700F - Old $300 CPU Vs New $300 CPU (Oktober 2024)

Video: The i7 4770 Vs i7 10700F - Old $300 CPU Vs New $300 CPU (Oktober 2024)
Anonim

En av de mest interessante trendene jeg har sett i databehandling av servere, er å gå bort fra standard CPUer og mot å gjøre mer prosessering på grafikkbrikker (GPUer) og omkonfigurerbare prosessorer kjent som feltprogrammerbare gate-arrays (FPGAs). Dette fenomenet blir ofte referert til som heterogen databehandling.

Konseptet her er ikke nytt - GPUer og andre akseleratorer har blitt stadig mer vanlige innen HPC (high performance computing) eller superdatamaskiner i årevis. I det siste har vi hørt mer om hvordan Intel har tilpasset noen serverchip-pakker for å inkludere FPGA-er i tillegg til den tradisjonelle CPU-en, hovedsakelig rettet mot store leverandører av cloud computing-leverandører som har spesifikke algoritmer de kan kjøre som maskinvareinstruksjoner på FPGA-ene. Dette bør være mye raskere enn å utføre dem som programvare i de mer generelle CPU-instruksjonene.

Dette var en viktig driver for Intels nylige plan om å anskaffe FPGA-produsenten Altera. Intels administrerende direktør Brian Krzanich sa at han forventer at opptil 30 prosent av arbeidsmengden i skyen vil ha en slags FPGA-akselerasjon innen slutten av tiåret. Microsoft bruker allerede Altera FPGAer for å drive mange av sine skytjenester, for eksempel Bing-søk.

Det har vært en stor hindring for de fleste selskaper som bruker FPGA-er - eller for den saks skyld GPU-er - i mer typiske datamaskinsaker: Det er bare vanskelig å få programvaren til å fungere samtidig på disse brikkene ved siden av CPU. (For arbeidsmengder og til og med HPC trenger du alltid noen CPUer; i andre typer applikasjoner, for eksempel nettverk, kan maskinvarefirmaer bare bruke en FPGA.) For GPU-databehandling har vi sett ting som Nvidias CUDA og Khronos Gruppens OpenCL-standard, som gjør ting enklere, og vi har absolutt sett mange HPC- og maskinlæringsalgoritmer som bruker GPUer. Nå støtter FPGA-produsenter som Altera OpenCL også, men i den mer generelle databehandlingssaken er det vist seg å være for vanskelig.

I det siste har jeg snakket med et par selskaper som håper å gjøre dette enklere.

Bitfusion er en oppstart jeg først så på TechCrunch Disrupt; teknologien er rettet mot å la deg flytte en applikasjon fra CPU til en GPU eller FPGA uten å skrive den om for hver plattform. Som administrerende direktør Subbu Rama forklarte, fungerer pakken nå ved å lete etter vanlige åpen kildekodebiblioteker som brukes av programvareutviklere og erstatte funksjonene i dem med funksjoner som kan dra nytte av GPU eller FPGA. Som han forklarte, kan store selskaper kanskje være i stand til å skrive om koden sin, men selskaper i mellommarkedene kan ikke. Bruksområder inkluderer vitenskapelig databehandling, økonomiske applikasjoner som risikoanalyse og høyfrekvent handel, og dataanalyse som å jobbe med olje- og gasssensordata.

Etter hvert sa han at dette kan fungere med alle språk som kaller slike biblioteker. Han bemerket at det kanskje ikke er så effektivt å erstatte bibliotekene som å skrive tilpasset kode for FPGAer eller GPUer, men det er mye enklere.

Bitfusion planlegger å tilby sine produkter i tre forskjellige modeller - som ren programvare for selskaper som allerede har egne akseleratorer; forhåndsinstallert på apparater; eller for applikasjoner distribuert i skyen, gjennom et partnerskap med Rackspace. Til å begynne med vil dette bruke Altera FPGA-er, selv om selskapet sier at det også kan fungere med andre prosessorer. Rama sier at innledende kunder bruker dette nå, med offentlig tilgjengelighet planlagt i løpet av de neste månedene.

SRC tar en noe annen tilnærming. Den har laget "omkonfigurerbare servere" for offentlige etater siden 1999, og lager nå en løsning rettet mot overmålt datasentre og nettoperasjoner. Kalt Saturn 1-serveren, det er en patron som kobles til HPs Moonshot-chassis, og SRC hevder den kan gi datamaskinytelse som vanligvis er 100 ganger raskere enn den for tradisjonelle mikroprosessorutforminger. (Selskapet selger også større rackmonterte systemer i full størrelse, typisk for større kunder.)

Det som gjør dette annerledes er en spesiell kompilator kjent som Carte, som konverterer koden til en silisiumdesign som kan kjøres på FPGA-arkitektur, ifølge administrerende direktør Jon Huppenthal. Han fortalte meg at SRC har brukt år på å lage kompilatoren, opprinnelig for bedriftskunder, siden firmaet ble grunnlagt av superdatapioneren Seymour Cray og Jim Guzy på 90-tallet. En forskjell i SRCs tilnærming, sa han, er at Carte ikke er ment for generiske systemer, men snarere er knyttet spesielt til SRCs arkitektur, noe som gir den mer ytelse og konsistens. Saturn 1 bruker to Altera FPGA-er - en som kjører brukerkode; den andre som holder systemet i gang raskt, sammen med en Intel-prosessor. Foreløpig, la han til, er selskapet på sin 12. generasjon med konfigurerbare prosessorer.

Dette er en dyrere løsning, hovedsakelig rettet mot ganske store datasentre, men den er fremdeles mer tilgjengelig enn tidligere tilnærminger.

Ideen om å bruke FPGAer eller rekonfigurerbare prosessorer for mer mainstream-oppgaver er ikke en ny. Det har imidlertid tatt lang tid før dette har blitt enda en mulighet for mer tradisjonelle kunder utenom maskinvaredesignere eller militære applikasjoner. Disse nye tilnærmingene kan forutse at starten på at denne teknologien blir mer brukt - men bare hvis pris- / ytelsesforbedringene virkelig samsvarer med leverandørkrav og teknologien blir enklere å bruke. De nye tilnærmingene er et skritt i den retningen.

Kan fpgas eller konfigurerbare prosessorer gå til mainstream?