Neizogibnost prodora FPGA v podatkovne centre

Neizogibnost prodora FPGA v podatkovne centre
Ni vam treba biti oblikovalec čipov za programiranje za FPGA, tako kot vam ni treba biti programer C++ za pisanje kode v Javi. Vendar bo v obeh primerih verjetno koristno.

Cilj komercializacije tehnologije Java in FPGA je ovreči slednjo trditev. Dobra novica za FPGA - z uporabo pravih abstraktnih plasti in nabora orodij je v zadnjih 35 letih od iznajdbe programabilne logične naprave postalo ustvarjanje algoritmov in pretokov podatkov za FPGA namesto CPU-jev, DSP-jev, GPU-jev ali katere koli druge oblike ASIC-jev po meri. vse pogosteje.lažje.

Neverjetna pravočasnost njihovega nastanka je očitna v dejstvu, da ravno takrat, ko CPE niso mogli več ostati edini računalniški modul podatkovnih centrov za opravljanje številnih nalog - iz različnih razlogov - so FPGA dosegli svojo učinkovitost, saj ponujajo hitrost, nizko zakasnitev, omrežne zmogljivosti in pomnilnik - heterogene računalniške zmogljivosti sodobnih FPGA SoC, ki so skoraj polnopravni računalniški sistemi. Vendar se FPGA uspešno kombinirajo tudi z drugimi napravami v hibridnih sistemih in po našem mnenju šele začenjajo iskati svoje pravo mesto v računalniški hierarhiji.

Zato smo 22. januarja v San Joseju organizirali konferenco The Next FPGA Platform. Seveda je Xilinx eden glavnih dobaviteljev FPGA na svetu in pionir na tem področju. Ivo Bolsens, višji podpredsednik in glavni tehnološki direktor pri Xilinxu, je govoril na konferenci in nam danes povedal svoje misli o tem, kako Xilinx pomaga ustvariti spremenljive računalniške sisteme za podatkovne centre.

Sistemski arhitekti in programerji so potrebovali veliko časa, da so se domislili heterogenega podatkovnega centra, ki bo vseboval različne vrste računalniških moči, ki rešujejo težave v računalništvu, shranjevanju in povezovanju v omrežja. To se zdi nujno zaradi dejstva, da postaja vse težje slediti Moorovemu zakonu z uporabo različnih naprav CMOS. Za zdaj je naš jezik še vedno osredotočen na CPU in še vedno govorimo o "pospeševanju aplikacij", kar pomeni, da programi delujejo bolje, kot je to mogoče storiti samo na CPE. Sčasoma bodo podatkovni centri postali zbirke računalniške moči, shranjevanja podatkov in protokolov, ki povezujejo vse skupaj, in vrnili se bomo k izrazoma, kot sta »računalništvo« in »aplikacije«. Hibridno računalništvo bo postalo tako običajno kot današnje storitve v oblaku, ki se izvajajo na namizju ali virtualnih računalnikih, in na neki točki bomo preprosto uporabili besedo "računalništvo", da bi opisali njihovo delovanje. Na neki točki – in verjetno bodo FPGA pomagali pri vstopu v to dobo – bomo temu spet rekli obdelava podatkov.

Sprejem FPGA v podatkovnih centrih bo zahteval spremembo miselnosti. »Ko razmišljate o načinih za pospešitev današnjih aplikacij, se morate spustiti v osnove, kako delujejo, kateri viri se uporabljajo, kje se porabi čas,« pojasnjuje Bolsens. – Preučiti morate splošni problem, ki ga poskušate rešiti. Številne aplikacije, ki se danes izvajajo v podatkovnih centrih, se prilagajajo tako, da porabijo velike količine virov. Vzemimo za primer strojno učenje, ki uporablja ogromno računalniških vozlišč. Toda ko govorimo o pospeševanju, moramo razmišljati ne samo o pospeševanju računalništva, ampak tudi o pospeševanju infrastrukture.«

Na primer, pri vrstah operacij strojnega učenja, ki jih je Bolsens preučeval v praksi, se približno 50 % časa porabi za prenos podatkov naprej in nazaj med razpršeno računalniško močjo, le preostala polovica časa pa se porabi za same izračune.

»Tukaj mislim, da lahko FPGA pomaga, saj lahko zagotovimo, da sta računalniški in komunikacijski vidik aplikacije optimiziran. In to lahko naredimo na ravni splošne infrastrukture in na ravni čipov. To je ena od velikih prednosti FPGA, ki vam omogoča ustvarjanje komunikacijskih omrežij za posebne potrebe aplikacij. Na podlagi tipičnih vzorcev premikanja podatkov pri delovnih obremenitvah umetne inteligence ne vidim potrebe po zapleteni arhitekturi, ki temelji na stikalih. Zgradite lahko omrežje z velikim pretokom podatkov. Enako velja za naloge usposabljanja nevronskih mrež – zgradite lahko mrežno mrežo z velikostmi paketov, ki se prilagajajo določeni nalogi. Z uporabo FPGA je mogoče protokole za prenos podatkov in topologije vezij zelo natančno prilagoditi in prilagoditi določeni aplikaciji. In v primeru strojnega učenja je tudi jasno, da ne potrebujemo števil s plavajočo vejico z dvojno natančnostjo in tudi to lahko prilagodimo.«

Razlika med FPGA in CPE ali ASIC po meri je v tem, da so slednji programirani v tovarni in po tem si ne morete več premisliti o vrstah podatkov, ki se izračunajo, ali elementih, ki se izračunajo, ali o naravi podatkov. pretok skozi napravo. FPGA vam omogočajo, da si premislite, če se spremenijo pogoji delovanja.

V preteklosti je bila ta prednost draga, ko programiranje FPGA ni bilo za ljudi s slabim srcem. Treba je odpreti prevajalnike FPGA za boljšo integracijo z orodji, ki jih programerji uporabljajo za pisanje CPE-vzporednih aplikacij v C, C++ ali Python, in oddati del dela knjižnicam, ki pospešijo postopke na FPGA. To počne sklad strojnega učenja Vitis, ki poganja platforme ML, kot sta Caffe in TensorFlow, s knjižnicami za izvajanje običajnih modelov umetne inteligence ali dodajanje zmogljivosti FPGA opravilom, kot so prekodiranje videoposnetkov, prepoznavanje video objektov in analiza podatkov. , obvladovanje finančnih tveganj in vse tretje. -partijske knjižnice.

Ta koncept se ne razlikuje veliko od Nvidiinega projekta CUDA, ki se je začel pred desetletjem in ki vzporedno računalništvo razbremeni na pospeševalnike GPU, ali od AMD-jevega kompleta orodij ROCm ali od obljube Intelovega projekta OneAPI, ki naj bi deloval na različnih CPE, GPE in FPGA.

Edino vprašanje je, kako bodo vsa ta orodja med seboj povezana, da bo vsak lahko programiral nabor računalniških moči po svoji presoji. To je pomembno, ker so FPGA postali bolj zapleteni, veliko bolj zapleteni kot kateri koli razpoložljivi CPE. Izdelani so po najnaprednejših proizvodnih procesih in najsodobnejših tehnologijah pakiranja čipov. In našli bodo svojo nišo, saj ne moremo več zapravljati časa, denarja, energije in pameti – vse to so predragi viri.

»FPGA ponujajo tehnološke prednosti,« pravi Bolsens. – In to ni le običajno oglaševanje o prilagodljivosti in rekonfigurabilnosti. V vseh pomembnih aplikacijah – strojno učenje, analiza grafov, hitro trgovanje itd. - imajo možnost prilagoditi specifični nalogi ne le pot distribucije podatkov, ampak tudi arhitekturo pomnilnika - kako se podatki premikajo znotraj čipa. FPGA imajo tudi veliko več vgrajenega pomnilnika kot druge naprave. Upoštevati je treba tudi, da če se naloga ne prilega eni FPGA, jo lahko razširite na več čipov, ne da bi pri tem naleteli na slabosti, ki vas čakajo pri prilagajanju nalog na več CPE ali GPU.«

Vir: www.habr.com

Dodaj komentar