Neizbežnost prodiranja FPGA v podatkovne centre

Neizbežnost prodiranja FPGA v podatkovne centre
Ni je treba biti razvijalec čipov, da bi programirali za FPGA, prav tako ni treba biti programer v C++, da bi pisali kodo v Javi. Vendar pa bo v obeh primerih verjetno to koristno.

Cilj komercializacije obeh tehnologij, Java in FPGA, je ovrgla zadnjo trditev. Dobre novice za FPGA - z uporabo ustreznih ravni abstrakcije in orodij v zadnjih 35 letih, odkar so izumili programsko logično napravo, je vedno lažje ustvarjati algoritme in podatkovne tokove za FPGA namesto CPU, DSP, GPU ali katere koli druge oblike specialnih ASIC.

Osupljiva pravočasnost njihovega nastanka se kaže v tem, da ravno takrat, ko CPU ni mogel ostati edini računalniški modul, datumskih centrov da izpolnjuje številne naloge - iz najrazličnejših razlogov - so FPGA dosegle svojo učinkovitost, ki ponuja hitro delovanje, nizko latenco, omrežne zmogljivosti in pomnilnik - raznolike računalniške možnosti sodobnih FPGA SoC, ki predstavljajo skoraj polnopravne računalniške sisteme. Vendar se FPGA uspešno kombinirajo tudi z drugimi napravami v hibridnih sistemih in po našem mnenju šele začenjajo najti svoje zakonito mesto v hierarhiji računalništva.

Zato smo organizirali konferenco The Next FPGA Platform v San Joseju 22. januarja. Seveda je eden izmed glavnih ponudnikov FPGA na svetu in pionir na tem področju podjetje Xilinx. Ivo Bolsen, višji podpredsednik in tehnični direktor Xilinx, je na konferenci imel predavanje in nam povedal o svojih današnjih mislih, povezanih s tem, kako Xilinx pomaga ustvarjati prilagodljive računalniške sisteme za podatkovne centre.

Pri sistemskih arhitektih in programerjih je trajalo kar nekaj časa, da so prišli do neenotnega podatkovnega centra, ki bo predstavljal računalniške zmogljivosti različnih vrst, ki rešujejo naloge izračunavanja, shranjevanja in organizacije omrežij. To se zdi nujno, saj postaja vse težje slediti Moorejevemu zakonu z uporabo različnih CMOS. Dokler je naš jezik še vedno vezan na CPU in še vedno govorimo o 'pospeševanju aplikacij', pri čemer imamo v mislih izboljšanje delovanja programov v primerjavi s tem, kar lahko dosežemo samo s CPUji. Kmalu se bodo podatkovni centri spremenili v komplekse računalniških zmogljivosti, shranjevanja podatkov ter protokolov, ki vse skupaj povezujejo, in se bomo spet vrnili k izrazom, kot sta 'računanje' in 'aplikacije'. Hibridni izračuni bodo postali tako običajni, kot so današnje 'oblačne' storitve, ki delujejo na podlagi običajnih ali virtualnih naprav, in v nekem trenutku bomo preprosto uporabljali besedo 'izračun' za opis njihovega delovanja. V nekem trenutku – in verjetno bo ta era močno spodbujala FPGA – bomo to spet imenovali obdelava podatkov.

Za uvedbo FPGA v podatkovne centre bo potrebno spremeniti način razmišljanja. 'Ko razmišljamo o načinih pospeševanja današnjih aplikacij, je treba raziskati osnove njihovega izvajanja, kakšni so uporabljeni viri in kje se porablja čas,' pojasnjuje Bolsens. 'Treba je preučiti celotno težavo, ki jo poskušate rešiti. Številne aplikacije, ki delujejo v podatkovnih centrih danes, se skalirajo, zajemajo velike količine virov. Vzemimo za primer strojno učenje, ki uporablja ogromno število računalniških vozlišč. A ko govorimo o pospeševanju, ne gre le za pospeševanje izračunov, ampak tudi za pospeševanje infrastrukture.'

Na primer, pri tistih operacijah, povezanih s strojnim učenjem, ki jih je Bolsens preučil v praksi, je približno 50 % časa porabljenega za prenos podatkov sem in tja med razpršenimi računalniškimi zmogljivostmi, in le preostalih 50 % časa se porabi za same izračune.

Na tem mestu, se mi zdi, da lahko FPGA resnično pomaga, saj lahko optimiziramo tako računalske vidike kot tudi vidike prenosa podatkov za aplikacijo. To lahko uvedemo na ravni skupne infrastrukture in na ravni čipa. To je ena izmed velikih prednosti FPGA, ki omogoča ustvarjanje komunikacijskih omrežij, prilagojenih specifičnim potrebam aplikacij. Ko opazujem tipične vzorce prenosa podatkov v nalogah, povezanih z umetno inteligenco, ne vidim potrebe po zapleteni arhitekturi na osnovi preklopnikov. Omogočeno je zgraditi omrežje z visokim tokom podatkov. Isto velja tudi za naloge usposabljanja nevralnih mrež - lahko zgradimo celice z omrežjem z velikostmi paketov, ki se prilagajajo specifičnim nalogam. Z uporabo FPGA lahko zelo natančno prilagodimo in skaliramo protokole prenosa podatkov ter topologijo vezja za specifično aplikacijo. Kar zadeva strojno učenje, je tudi jasno, da ne potrebujemo številk z dvojno natančnostjo s plavajočo vejico, in to lahko tudi prilagodimo.

Razlika med FPGA ter CPU ali specializirano ASIC je v tem, da so slednji programirani ob proizvodnji in po tem ne morete spremeniti vrst izračunavanih podatkov ali izračunavanih elementov, niti narave pretakanja podatkov skozi napravo. FPGA vam omogočajo, da spremenite mnenje, če se delovni pogoji spremenijo.

V preteklosti je ta prednost bila draga, saj je bilo programiranje za FPGA namenjeno samo tistim z močnim duhom. Potrebno je odpreti prevajalnike za FPGA, da se bolje integrirajo orodja, ki jih razvijalci uporabljajo za ustvarjanje aplikacij s paralelnimi izračuni na jezikih C, C++ ali Python, in prenesti del dela na knjižnice, ki pospešujejo postopke na FPGA. S tem se ukvarja Vitis, celoten skupek za strojno učenje, ki je v osnovi platform za MO, kot sta Caffe in TensorFlow, ter vključuje knjižnice za zagon običajnih modelov AI ali dodajanje FPGA zmožnosti takšnim nalogam, kot so kodiranje videoposnetkov, prepoznavanje objektov v videu, analiza podatkov, upravljanje finančnih tveganj in katerim koli zunanjim knjižnicam.

Koncept ni se ne razlikuje mnogo od projekta CUDA kompanije Nvidia, pokrenutog pre deset godina, koji prebacuje paralelne proračune na GPU akceleratore, ili od seta alata ROCm kompanije AMD, ili od obećanja projekta Intel, OneAPI, koji treba da funkcioniše na različitim CPU, GPU i FPGA.

Pitanje je samo kako će svi ovi alati biti povezani kako bi svako mogao da programira skup računarskih resursa po svom izboru. To je važno zato što su FPGA postali složeniji, mnogo složeniji od bilo kog postojećeg CPU. Proizvode se koristeći najnaprednije tehnološke procese i najsavremenije tehnike pakovanja čipova. A oni će naći svoju nišu, jer više ne možemo da trošimo vreme, novac, energiju i inteligenciju - svi ovi resursi su previše skupi.

„FPGA nudi tehnološke prednosti“, kaže Bolsens. „I to nije samo obična reklama o prilagodljivosti i rekonfigurisanju. U svim važnim aplikacijama - mašinsko učenje, analiza grafova, visoko frekventno trgovanje, itd. - imaju mogućnost da prilagode ne samo putanju prenosa podataka za određeni zadatak, već i arhitekturu memorije - način na koji se podaci kreću unutar čipa. Takođe, FPGA ima mnogo više ugrađene memorije nego druge uređaje. Takođe treba uzeti u obzir da ako zadatak ne stane u jedan FPGA, može se skalirati na nekoliko čipova bez suočavanja sa manama koje vas čekaju prilikom skaliranja zadataka na nekoliko CPU-a ili GPU-a."

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster