La neeviteblo de FPGA-penetro en datencentrojn

La neeviteblo de FPGA-penetro en datencentrojn
Vi ne bezonas esti blato-programisto por programi por FPGA-oj, same kiel vi ne bezonas esti C++-programisto por skribi kodon en Java. Tamen, en ambaŭ kazoj ĝi verŝajne estos utila.

La celo de komercigado de kaj Java kaj FPGA-teknologioj estas kontraŭpruvi ĉi-lastan aserton. Bona novaĵo por FPGA-oj - uzado de la ĝustaj abstraktaj tavoloj kaj ilaro, en la lastaj 35 jaroj ekde la invento de la programebla logika aparato, kreado de algoritmoj kaj datumfluoj por FPGA-oj anstataŭ CPU-oj, DSP-oj, GPU-oj aŭ ajna alia formo de kutimaj ASIC-oj fariĝis. ĉiam pli ofta.pli facila.

La mirinda ĝustatempeco de ilia kreado evidentiĝas en la fakto, ke ĝuste kiam CPUoj ne plu povis resti la nura komputika modulo de datumcentroj por plenumi multajn taskojn - pro diversaj kialoj - FPGA-oj atingis sian efikecon, proponante rapidecon, malaltan latentecon, retkapablojn. kaj memoro - heterogenaj komputikkapabloj de modernaj FPGA SoCs, kiuj estas preskaŭ plenrajtaj komputiksistemoj. Tamen, FPGA-oj ankaŭ estas sukcese kombinitaj kun aliaj aparatoj en hibridaj sistemoj, kaj, laŭ nia opinio, ili ĵus komencas trovi sian ĝustan lokon en la komputika hierarkio.

Tial ni organizis The Next FPGA Platform-konferencon en San Jose la 22-an de januaro. Nature, unu el la ĉefaj FPGA-provizantoj en la mondo kaj pioniro en ĉi tiu areo estas Xilinx. Ivo Bolsens, altranga vicprezidanto kaj ĉefteknika oficisto ĉe Xilinx, parolis en la konferenco kaj donis al ni siajn pensojn hodiaŭ pri kiel Xilinx helpas krei ŝanĝeblajn komputilajn sistemojn por datumcentroj.

Necesis multe da tempo al sistemaj arkitektoj kaj programistoj por elpensi heterogenan datumcentron, kiu havos diversajn specojn de komputila potenco, kiuj solvas problemojn en komputado, stokado kaj retoj. Ĉi tio ŝajnas necesa pro la fakto, ke ĉiam pli malfacilas sekvi la Leĝon de Moore uzante diversajn CMOS-aparatojn. Nuntempe, nia lingvo daŭre estas CPU-centra, kaj ni ankoraŭ parolas pri "aplika akcelo", tio signifas, ke programoj funkcias pli bone ol tio, kion oni povas fari nur per CPUoj. Kun la tempo, datumcentroj fariĝos kolektoj de komputika potenco, datumstokado kaj protokoloj, kiuj kunligas ĉion, kaj ni revenos al terminoj kiel "komputado" kaj "aplikoj". Hibrida komputado fariĝos same normala kiel la hodiaŭaj nubaj servoj kurantaj sur labortablo aŭ virtualaj maŝinoj, kaj iam ni simple uzos la vorton "komputado" por priskribi kiel ili funkcias. Iam - kaj verŝajne, ke FPGA-oj helpos enkonduki ĉi tiun epokon - ni nomos ĝin denove prilaborado de datumoj.

Adopti FPGA-ojn en datumcentroj postulos ŝanĝon en pensmaniero. "Pensante pri manieroj akceli la hodiaŭajn aplikaĵojn, vi devas atingi la bazojn pri kiel ili funkcias, kiaj rimedoj estas uzataj, kie tempo estas elspezita," klarigas Bolsens. – Vi devas studi la ĝeneralan problemon, kiun vi provas solvi. Multaj aplikoj kurantaj en datumcentroj hodiaŭ skalas por konsumi grandajn kvantojn da resursoj. Prenu maŝinlernadon, ekzemple, kiu uzas grandegan nombron da komputiknodoj. Sed kiam ni parolas pri akcelo, ni devas pensi ne nur pri akcelo de komputado, sed ankaŭ pri akcelo de infrastrukturo."

Ekzemple, en la speco de maŝinlernado operacioj kiujn Bolsens studis praktike, proksimume 50% de la tempo estas elspezitaj transdonante datumojn tien kaj reen inter disigita komputika potenco, kaj nur la restanta duono de la tempo estas elspezita por la kalkuloj mem.

"Ĉi tie mi pensas, ke FPGA povas helpi, ĉar ni povas certigi, ke ambaŭ la komputilaj kaj komunikaj aspektoj de la aplikaĵo estas optimumigitaj. Kaj ni povas fari tion ĉe la totala infrastruktura nivelo, kaj ĉe la blatnivelo. Ĉi tio estas unu el la grandaj avantaĝoj de FPGA-oj, permesante al vi krei komunikajn retojn por specifaj aplikaj bezonoj. Surbaze de tipaj ŝablonoj de datummovado en AI-laborkvantoj, mi ne vidas la bezonon de kompleksa ŝaltila arkitekturo. Vi povas konstrui reton kun granda datumfluo. La sama validas por trejnaj taskoj por neŭralaj retoj - vi povas konstrui reton kun pakaj grandecoj kiuj adaptiĝas al specifa tasko. Uzante FPGA, datumtransigoprotokoloj kaj cirkvittopologioj povas esti tre precize skalitaj kaj adaptitaj al specifa aplikaĵo. Kaj en la kazo de maŝina lernado, estas ankaŭ klare, ke ni ne bezonas duoble-precizajn glitkomajn nombrojn, kaj ni ankaŭ povas ĝustigi tion."

La diferenco inter FPGA kaj CPU aŭ kutima ASIC estas, ke ĉi tiuj lastaj estas programitaj en la fabriko, kaj post tio vi ne plu povas ŝanĝi vian opinion pri la specoj de datumoj kalkulitaj aŭ la elementoj kalkulitaj, aŭ pri la naturo de la datumfluo tra la aparato. FPGAs permesas vin ŝanĝi vian opinion se operaciaj kondiĉoj ŝanĝiĝas.

En la pasinteco, ĉi tiu avantaĝo venis je kosto, kiam FPGA-programado ne estis por malfortuloj. La bezono estas malfermi FPGA-kompililojn por pli bone integriĝi kun la iloj, kiujn programistoj uzas por skribi CPU-paralelaj aplikoj en C, C++ aŭ Python, kaj subkontrakti iujn el la laboroj al bibliotekoj, kiuj akcelas procedurojn pri FPGA-oj. Jen kion faras la stako de maŝinlernado de Vitis, funkciigante ML-platformojn kiel Caffe kaj TensorFlow, kun bibliotekoj por funkcii konvenciajn AI-modelojn aŭ aldoni FPGA-kapablojn al taskoj kiel video-transkodigo, video-objekta rekono kaj datuma analizo. , financa risko-administrado kaj ajna triono. -partiaj bibliotekoj.

Ĉi tiu koncepto ne multe diferencas de la projekto CUDA de Nvidia, lanĉita antaŭ jardeko, kiu malŝarĝas paralelan komputadon al GPU-akceliloj, aŭ de la ilaro ROCm de AMD, aŭ de la promeso de la projekto OneAPI de Intel, kiu devus funkcii per malsamaj CPUoj, GPUoj kaj FPGA.

La nura demando estas kiel ĉiuj ĉi tiuj iloj estos kunligitaj kune por ke ĉiu persono povu programi aron da komputikaj potencoj laŭ sia bontrovo. Tio estas grava ĉar FPGAoj fariĝis pli kompleksaj, multe pli kompleksaj ol iuj el la disponeblaj CPUoj. Ili estas fabrikitaj per la plej altnivelaj produktadprocezoj kaj la plej modernaj blatpakaĵteknologioj. Kaj ili trovos sian niĉon, ĉar ni ne plu povas malŝpari tempon, monon, energion kaj inteligentecon - ĉio ĉi estas tro multekostaj rimedoj.

"FPGAoj ofertas teknologiajn avantaĝojn," diras Bolsens. – Kaj ĉi tio ne estas nur la kutima reklamado pri adaptebleco kaj reagordeblo. En ĉiuj gravaj aplikoj - maŝinlernado, grafika analizo, altrapida komerco ktp. - ili havas la kapablon adaptiĝi al specifa tasko ne nur la datuman distribuvojon, sed ankaŭ la memorarkitekturon - kiel datumoj moviĝas ene de la blato. FPGAoj ankaŭ havas multe pli da memoro konstruita en ili ol aliaj aparatoj. Oni ankaŭ konsideru, ke se tasko ne konvenas en unu FPGA, vi povas grimpi ĝin tra multoblaj blatoj sen renkonti la malavantaĝojn, kiuj atendas vin, kiam skalas taskojn tra pluraj CPUoj aŭ GPUoj."

fonto: www.habr.com

Aldoni komenton