Die onvermydelikheid van FPGA-penetrasie in datasentrums

Die onvermydelikheid van FPGA-penetrasie in datasentrums
Jy hoef nie 'n chip-ontwerper te wees om vir FPGA's te programmeer nie, net soos jy nie 'n C++-programmeerder hoef te wees om kode in Java te skryf nie. In beide gevalle sal dit egter waarskynlik nuttig wees.

Die doel van die kommersialisering van beide Java- en FPGA-tegnologie is om laasgenoemde bewering te weerlê. Goeie nuus vir FPGA's - die gebruik van die regte abstraksielae en gereedskapstel, in die afgelope 35 jaar sedert die uitvinding van die programmeerbare logika-toestel, het die skep van algoritmes en datavloei vir FPGA's in plaas van SVE's, DSP's, GPU's of enige ander vorm van pasgemaakte ASIC's geword toenemend algemeen makliker.

Die ongelooflike tydigheid van hul skepping is duidelik in die feit dat net toe SVE's nie meer die enigste rekenaarmodule van datasentrums kon bly om baie take uit te voer nie - om verskeie redes - FPGA's hul doeltreffendheid bereik het, met spoed, lae latensie, netwerkvermoëns en geheue - heterogene rekenaarvermoëns van moderne FPGA SoC's, wat amper volwaardige rekenaarstelsels is. FPGA's word egter ook suksesvol gekombineer met ander toestelle in hibriede stelsels, en na ons mening begin hulle net hul regmatige plek in die rekenaarhiërargie vind.

Dit is hoekom ons op 22 Januarie The Next FPGA Platform-konferensie in San Jose gereël het. Natuurlik is Xilinx een van die belangrikste FPGA-verskaffers in die wêreld en 'n pionier op hierdie gebied. Ivo Bolsens, senior vise-president en hooftegnologiebeampte by Xilinx, het by die konferensie gepraat en ons vandag sy gedagtes gegee oor hoe Xilinx help om veranderlike rekenaarstelsels vir datasentrums te skep.

Dit het stelselargitekte en -programmeerders baie tyd geneem om met 'n heterogene datasentrum vorendag te kom, wat verskeie tipes rekenaarkrag sal bevat wat probleme in rekenaars, berging en netwerke oplos. Dit blyk nodig te wees as gevolg van die feit dat dit al hoe moeiliker word om Moore se wet te volg met behulp van verskeie CMOS-toestelle. Vir nou is ons taal steeds SVE-gesentreerd, en ons praat steeds van "toepassingsversnelling", wat beteken dat programme beter werk as wat op SVE's alleen gedoen kan word. Met verloop van tyd sal datasentrums versamelings van rekenaarkrag, databerging en protokolle word wat alles saambind, en ons sal terugkeer na terme soos "rekenaar" en "toepassings." Hibriede rekenaars sal so normaal word soos vandag se wolkdienste wat op rekenaar- of virtuele masjiene loop, en een of ander tyd sal ons eenvoudig die woord "rekenaars" gebruik om te beskryf hoe hulle werk. Op 'n stadium - en dit is waarskynlik dat FPGA's sal help om hierdie era in te lei - sal ons dit weer dataverwerking noem.

Die aanvaarding van FPGA's in datasentrums sal 'n verandering in ingesteldheid verg. “Wanneer jy dink aan maniere om vandag se toepassings te bespoedig, moet jy by die basiese beginsels uitkom van hoe hulle werk, watter hulpbronne gebruik word, waar tyd spandeer word,” verduidelik Bolsens. – Jy moet die algemene probleem bestudeer wat jy probeer oplos. Baie toepassings wat vandag in datasentrums loop, skaal om groot hoeveelhede hulpbronne te verbruik. Neem byvoorbeeld masjienleer, wat 'n groot aantal rekenaarnodusse gebruik. Maar wanneer ons oor versnelling praat, moet ons nie net daaraan dink om rekenaars te bespoedig nie, maar ook om infrastruktuur te bespoedig.”

Byvoorbeeld, in die soort masjienleerbewerkings wat Bolsens in die praktyk bestudeer het, word ongeveer 50% van die tyd bestee aan die oordrag van data heen en weer tussen verspreide rekenaarkrag, en slegs die oorblywende helfte van die tyd word aan die berekeninge self bestee.

“Dit is waar ek dink FPGA kan help, want ons kan verseker dat beide die rekenaar- en kommunikasie-aspekte van die toepassing geoptimaliseer is. En ons kan dit op die algehele infrastruktuurvlak en op die skyfievlak doen. Dit is een van die groot voordele van FPGA's, wat jou in staat stel om kommunikasienetwerke vir spesifieke toepassingsbehoeftes te skep. Op grond van tipiese patrone van databeweging in KI-werkladings, sien ek nie die behoefte aan 'n komplekse skakelaar-gebaseerde argitektuur nie. Jy kan 'n netwerk bou met 'n groot datavloei. Dieselfde geld vir neurale netwerkopleidingstake - jy kan 'n maasnetwerk bou met pakkiegroottes wat by 'n spesifieke taak aanpas. Deur 'n FPGA te gebruik, kan data-oordragprotokolle en stroombaantopologieë baie presies afgeskaal en aangepas word vir 'n spesifieke toepassing. En in die geval van masjienleer, is dit ook duidelik dat ons nie dubbel-presisie swaaipuntgetalle nodig het nie, en ons kan dit ook aanpas.”

Die verskil tussen 'n FPGA en 'n SVE of pasgemaakte ASIC is dat laasgenoemde by die fabriek geprogrammeer word, en daarna kan jy nie meer van plan verander oor die tipe data wat bereken word of elemente wat bereken word nie, of oor die aard van die data vloei deur die toestel. FPGA's laat jou toe om van plan te verander as bedryfstoestande verander.

In die verlede het hierdie voordeel teen 'n prys gekom, toe FPGA-programmering nie vir die flou van hart was nie. Die behoefte is om FPGA-samestellers oop te maak om beter te integreer met die gereedskap wat programmeerders gebruik om SVE-parallelle toepassings in C, C++ of Python te skryf, en om van die werk uit te kontrakteer aan biblioteke wat prosedures op FPGA's bespoedig. Dit is wat die Vitis-masjienleerstapel doen, wat ML-platforms soos Caffe en TensorFlow aandryf, met biblioteke om konvensionele AI-modelle te laat loop of FPGA-vermoëns by te voeg tot take soos video-transkodering, video-objekherkenning en data-analise. , finansiële risikobestuur en enige derde -party biblioteke.

Hierdie konsep verskil nie veel van Nvidia se CUDA-projek, wat 'n dekade gelede van stapel gestuur is, wat parallelle rekenaars na GPU-versnellers aflaai nie, of van AMD se ROCm-gereedskapstel, of van die belofte van Intel se OneAPI-projek, wat op verskillende SVE's, GPU's en FPGA moet loop.

Die enigste vraag is hoe al hierdie gereedskap aan mekaar verbind sal word sodat enige persoon 'n stel rekenaarkragte na goeddunke kan programmeer. Dit is belangrik omdat FPGA's meer kompleks geword het, baie meer kompleks as enige van die beskikbare SVE's. Hulle word vervaardig met behulp van die mees gevorderde vervaardigingsprosesse en die mees moderne skyfieverpakkingstegnologie. En hulle sal hul nis vind, aangesien ons nie meer tyd, geld, energie en intelligensie kan mors nie - dit is alles te duur hulpbronne.

"FPGA's bied tegnologiese voordele," sê Bolsens. – En dit is nie net die gewone advertensies oor aanpasbaarheid en herkonfigureerbaarheid nie. In alle belangrike toepassings - masjienleer, grafiekanalise, hoëspoedhandel, ens. - hulle het die vermoë om by 'n spesifieke taak aan te pas, nie net die dataverspreidingspad nie, maar ook die geheue-argitektuur - hoe data binne die skyfie beweeg. FPGA's het ook baie meer geheue ingebou as ander toestelle. Dit moet ook in ag geneem word dat as 'n taak nie in een FPGA pas nie, jy dit oor verskeie skyfies kan skaal sonder om die nadele te ondervind wat op jou wag wanneer take oor veelvuldige SVE's of GPU's skaal.

Bron: will.com

Voeg 'n opmerking