Hem Framåt tänkande Kan fpgas eller omkonfigurerbara processorer gå mainstream?

Kan fpgas eller omkonfigurerbara processorer gå mainstream?

Video: Intel Core i7 Laptop vs AMD Ryzen 7 Laptops Real World Test (September 2024)

Video: Intel Core i7 Laptop vs AMD Ryzen 7 Laptops Real World Test (September 2024)
Anonim

En av de mest intressanta trenderna som jag har sett i serverberäkning är flytten från standard-CPU: er och mot att göra mer bearbetning på grafikchips (GPU) och omkonfigurerbara processorer kända som fältprogrammerbara gate-arrays (FPGA). Detta fenomen kallas ofta heterogen databehandling.

Konceptet här är inte nytt - GPUer och andra acceleratorer har varit allt vanligare i högpresterande datoranläggningar (HPC) eller superdatorer i flera år. Men på senare tid har vi hört mer om hur Intel har anpassat vissa serverchip-paket för att inkludera FPGA-enheter utöver den traditionella CPU, främst inriktad på stora leverantörer av molnberäkningsleverantörer som har specifika algoritmer som de kan köra som maskinvaruinstruktioner på FPGA: er. Detta borde vara mycket snabbare än att köra dem som programvara i de mer allmänna CPU-instruktionerna.

Detta var en viktig drivkraft för Intels senaste plan för att förvärva FPGA-tillverkaren Altera. Intels VD Brian Krzanich sa att han förväntar sig att upp till 30 procent av molnens arbetsbelastning kommer att ha någon slags FPGA-acceleration i slutet av decenniet. Microsoft använder redan Altera FPGA för att driva många av sina molntjänster, till exempel Bing-sökning.

Det har varit ett stort hinder för de flesta företag som använder FPGA: er - eller för den delen GPU: er - i mer typiska företags datorfall: att göra programvaran fungera samtidigt på dessa chips vid sidan av CPU är bara svårt. (För företagens arbetsbelastning och till och med HPC behöver du alltid vissa CPU: er; i andra typer av applikationer, t.ex. nätverk, kan hårdvaruföretag bara använda en FPGA.) För GPU-dator har vi sett saker som Nvidias CUDA och Khronos Gruppens OpenCL-standard, som underlättar och vi har verkligen sett många HPC- och maskininlärningsalgoritmer använda GPU: er. Nu stöder FPGA-tillverkare som Altera OpenCL också, men i det mer allmänna företagets datorfall har det visat sig vara för svårt.

På det senaste har jag pratat med ett par företag som hoppas göra det lättare.

Bitfusion är en start som jag först såg på TechCrunch Disrupt; dess teknik syftar till att låta dig flytta en applikation från CPU till en GPU eller FPGA utan att skriva om den för varje plattform. Som CEO Subbu Rama förklarade fungerar paketet nu genom att leta efter vanliga open-source-bibliotek som används av programvaruutvecklare och ersätta funktionerna inom dem med funktioner som kan dra fördel av GPU eller FPGA. Som han förklarade kan stora företag kanske skriva om sin kod, men mellanmarknadsföretag kan inte. Tillämpningar inkluderar vetenskaplig beräkning, ekonomiska applikationer som riskanalys och högfrekvent handel och dataanalys såsom arbete med olje- och gassensordata.

Så småningom sa han att detta kan fungera med alla språk som kallar sådana bibliotek. Han noterade att byte av bibliotek kanske inte är lika effektivt som att skriva anpassad kod för FPGA eller GPU, men det är mycket lättare.

Bitfusion planerar att erbjuda sina produkter i tre olika modeller - som ren programvara för företag som redan har sina egna acceleratorer; förinstallerade på apparater; eller för applikationer distribuerade i molnet genom ett partnerskap med Rackspace. Ursprungligen kommer detta att använda Altera FPGA: er, även om företaget säger att det också kan fungera med andra processorer. Rama säger att initialkunderna använder detta nu, med allmänhetens tillgänglighet planerad de närmaste månaderna.

SRC tar en något annorlunda inställning. Det har skapat "omkonfigurerbara servrar" för myndigheter sedan 1999 och skapar nu en lösning som riktar sig till överdrivna datacenter och webboperationer. Kallas Saturn 1-servern, det är en patron som ansluts till HP: s Moonshot-chassi, och SRC hävdar att den kan ge datorprestanda som vanligtvis är 100 gånger snabbare än för traditionella mikroprocessorutformningar. (Företaget säljer också större rackmonterade och fullstora system, vanligtvis för sina större kunder.)

Det som gör detta annorlunda är en speciell kompilator som kallas Carte, som konverterar koden till en kiseldesign som kan köras på FPGA-arkitekturen, enligt VD Jon Huppenthal. Han berättade för mig att SRC har tillbringat flera år på att skapa kompilatorn, initialt för företagskunder, sedan företaget grundades av superdatorns pionjär Seymour Cray och Jim Guzy på 90-talet. En skillnad i SRC: s strategi, sade han, är att Carte inte är avsett för generiska system, utan snarare är bundet specifikt till SRC: s arkitektur, vilket ger den mer prestanda och konsistens. Saturn 1 använder två Altera FPGA: er som använder användarkod; den andra som håller systemet igång snabbt, tillsammans med en Intel-processor. För närvarande, tillade han, är företaget på sin 12: e generation av omkonfigurerbara processorer.

Detta är en dyrare lösning, främst inriktad på ganska stora datorcentra, men den är fortfarande mer tillgänglig än tidigare metoder.

Idén att använda FPGA: er eller omkonfigurerbara processorer för mer vanliga uppgifter är inte en ny. Det har dock tagit lång tid för detta att bli till och med en möjlighet för mer traditionella kunder utanför hårdvarugesigner eller militära applikationer. Dessa nya tillvägagångssätt kanske förutsätter att denna teknik börjar bli vanligare - men bara om pris- / prestandaförbättringarna verkligen matchar leverantörens påståenden och tekniken blir lättare att använda. De nya tillvägagångssätten är ett steg i den riktningen.

Kan fpgas eller omkonfigurerbara processorer gå mainstream?