Vídeo: What is an FPGA (Field Programmable Gate Array)? | FPGA Concepts (De novembre 2024)
Una de les tendències més interessants que he vist en informàtica del servidor és allunyar-se de les CPU standard i dirigir-se a processar més en xips gràfics (GPU) i processadors reconfigurables coneguts com a matrius de porta programables de camp (FPGAs). Aquest fenomen es coneix sovint com a informàtica heterogènia.
El concepte aquí no és nou: les GPU i altres acceleradors han estat cada cop més habituals en informàtica d’alt rendiment (HPC) o en supercomputadors des de fa anys. Però darrerament, hem estat escoltant més detalls sobre com Intel ha personalitzat alguns paquets de xip de servidor per incloure FPGA a més de la CPU tradicional, dirigits principalment a grans proveïdors de computació en núvol hippersonalitzada que disposen d'algorismes específics que poden executar com a instruccions de maquinari dels FPGA. Això ha de ser molt més ràpid que executar-los com a programari segons les instruccions de la CPU més generals.
Aquest va ser un dels motors clau del recent pla d'Intel per adquirir el fabricant FPGA Altera. El director general d'Intel, Brian Krzanich, va dir que espera que fins a un 30 per cent de les càrregues de treball en núvol tinguin algun tipus d'acceleració de FPGA a finals de la dècada. Microsoft ja utilitza FPGA Altera per alimentar molts dels seus serveis al núvol, com ara la cerca de Bing.
Hi ha hagut un gran obstacle per a la majoria de les empreses que utilitzen FPGA, o bé, les GPU, en casos informàtics corporatius més habituals: fer que el programari funcioni simultàniament en aquests xips al costat de la CPU. (Per a càrregues de treball corporatives i fins i tot HPC, sempre necessitareu algunes CPU; en altres tipus d’aplicacions, com ara xarxes, les companyies de maquinari només poden utilitzar un FPGA.) Per a la computació de GPU, hem vist coses com el CUDA de Nvidia i els Khronos. L’estàndard OpenCL del grup, que facilita les coses, i certament hem vist que molts algorismes d’HPC i d’aprenentatge automàtic utilitzen GPU. Ara, fabricants de FPGA, com Altera, també donen suport a OpenCL, però en el cas de la computació corporativa més general, és massa difícil.
Darrerament he parlat amb un parell d’empreses que esperen facilitar-ho.
Bitfusion és una startup que vaig veure per primera vegada a TechCrunch Disrupt; la seva tecnologia té com a objectiu permetre moure una aplicació de la CPU a una GPU o FPGA sense reescriure-la per a cada plataforma. Tal com va explicar el conseller delegat Subbu Rama, el paquet ara funciona buscant biblioteques comunes de codi obert utilitzades pels desenvolupadors de programari i substituint les funcions dins d’elles per funcions que puguin aprofitar la GPU o FPGA. Segons va explicar, les grans empreses podrien fer una reescriptura del seu codi, però les empreses de mercat mitjà no ho poden fer. Les aplicacions inclouen informàtica científica, aplicacions financeres com ara anàlisi de riscos i el comerç d’alta freqüència i analítica de dades, com ara treballar amb dades de sensors de petroli i gas.
Finalment, va dir que això podria funcionar amb qualsevol idioma que truqui a aquestes biblioteques. Va assenyalar que la substitució de les biblioteques pot no ser tan eficient com escriure codi personalitzat per a FPGA o GPU, però és molt més fàcil.
Bitfusion té previst oferir els seus productes en tres models diferents, com a programari pur per a empreses que ja tenen els seus propis acceleradors; preinstal·lat en electrodomèstics; o per a aplicacions desplegades al núvol, mitjançant una associació amb Rackspace. Inicialment, s'utilitzaran els FPGA d'Altera, tot i que la companyia diu que també podria treballar amb altres processadors. Rama diu que els clients inicials ho utilitzen ara, amb la disponibilitat pública prevista en els propers dos mesos.
SRC està adoptant un enfoc diferent. Des de 1999 està creant "servidors reconfigurables" per a agències governamentals, i ara està fent una solució dirigida als centres de dades d'hipercala i a les operacions web. Anomenat servidor Saturn 1, és un cartutx que es connecta al xassís d'HP de Moonshot i SRC afirma que pot proporcionar un rendiment informàtic típicament 100 vegades més ràpid que el dels dissenys tradicionals de microprocessador. (La companyia també ven sistemes de mida completa i muntats en cremallera, normalment per als seus clients més grans.)
El que fa que això sigui diferent és un compilador especial conegut com a Carte, que converteix el codi en un disseny de silici que pot funcionar en arquitectura FPGA, segons el CEO de Jon Huppenthal. Em va dir que SRC porta anys creant el compilador, inicialment per a clients empresarials, ja que la firma va ser fundada pel pioner del supercomputador Seymour Cray i Jim Guzy als anys 90. Una de les diferències en l'enfocament de SRC, segons ell, és que Carte no està destinada a sistemes genèrics, sinó que està lligada específicament a l'arquitectura de SRC, que li proporciona més rendiment i coherència. El Saturn 1 utilitza dos FPGA Altera: un que fa servir codi d'usuari; l'altre que manté el sistema en marxa ràpidament, juntament amb un processador Intel. Actualment, ha afegit, la companyia és a la seva 12a generació de processadors reconfigurables.
Es tracta d’una solució més cara, dirigida principalment a centres informàtics més aviat grans, però encara és més accessible que els enfocaments anteriors.
La idea d’utilitzar FPGA o processadors reconfigurables per a tasques més corrents no és cap de nova. Tot i això, ha trigat molt en esdevenir fins i tot una possibilitat per a clients més tradicionals fora de dissenyadors de maquinari o d’aplicacions militars. Aquests nous enfocaments poden presagiar l’ús que aquesta tecnologia s’utilitza amb més freqüència, però només si les millores de preu / rendiment coincideixen realment amb les reclamacions dels venedors i la tecnologia es fa més fàcil d’utilitzar. Els nous enfocaments són un pas en aquesta direcció.