Neizbježnost penetracije FPGA u data centre

Neizbježnost penetracije FPGA u data centre
Nije potrebno biti razvojni inženjer da biste programirali za FPGA, kao što nije potrebno biti programer u C++ da biste pisali kod u Javi. Ipak, u oba slučaja, to će vjerojatno biti korisno.

Cilj komercijalizacije obje tehnologije, Jave i FPGA, je opovrgnuti ovu izjavu. Dobre vijesti za FPGA su da uz odgovarajuće razine apstrakcije i skup alata, tijekom posljednjih 35 godina otkako su izumljeni programski logički uređaji, postaje sve lakše stvarati algoritme i tokove podataka za FPGA umjesto CPU, DSP, GPU ili bilo kojeg drugog oblika specijaliziranih ASIC-a.

Izvanredna pravovremenost njihove proizvodnje se očituje u tome što kada CPU više nisu mogli ostati jedini računalni modul data centre za obavljanje raznih zadataka – iz raznih razloga – FPGA su dostigli svoju efikasnost, nudeći visoke performanse, malu latenciju, mrežne mogućnosti i memoriju – raznolike računalne mogućnosti modernih FPGA SoC, koji predstavljaju praktički potpune računalne sustave. Međutim, FPGA se uspješno integriraju i s drugim uređajima u hibridnim sustavima, a u našem mišljenju, tek počinju pronalaziti svoje pravo mjesto u hijerarhiji računalstva.

Zato smo organizirali konferenciju The Next FPGA Platform u San Joseu 22. siječnja. Naravno, jedan od glavnih dobavljača FPGA na svijetu i pionir na ovom polju je tvrtka Xilinx. Ivo Bolsen, viši potpredsjednik i tehnički direktor Xilinxa, održao je predavanje na konferenciji i podijelio s nama svoje današnje misli o tome kako Xilinx pomaže u izgradnji promjenjivih računalnih sustava za data centre.

Sistemskim arhitektama i programerima je bilo potrebno dovoljno vremena kako bi došli do nedovoljno homogeno strukturiranog podatkovnog centra, u kojem su predstavljene različite vrste računalnih snaga, koje rješavaju zadatke obrade, pohrane i organizacije mreža. To se čini nužnim s obzirom na to da je sve teže pratiti Mooreov zakon koristeći razne CMOS. I dalje naš jezik ovisi o CPU-u, i dalje govorimo o 'ubrzanju aplikacija', misleći na poboljšanje performansi programa u usporedbi s onim što se može postići isključivo na CPU-ima. S vremenom će se podatkovni centri pretvoriti u skupove računalnih snaga, pohrana podataka i protokola koji sve povezuju, i ponovo ćemo se vratiti takvim terminima kao što su 'računanje' i 'aplikacije'. Hibridno računanje postat će normalno poput današnjih 'oblaku' usluga temeljenih na tradicionalnim ili virtualnih mašina, i u nekom trenutku ćemo jednostavno koristiti riječ 'računanje' za opisivanje njihovog rada. U nekom trenutku – i vjerojatno će ulasku ove ere aktivno pomoći FPGA – ponovno ćemo to nazivati obradom podataka.

Za implementaciju FPGA u podatkovne centre bit će potrebno promijeniti način razmišljanja. 'Razmišljajući o načinima ubrzanja današnjih aplikacija, potrebno je zaroniti u temelje kako se one izvršavaju, koje se resurse koriste, na što odlazi vrijeme,' objašnjava Bolesens. 'Potrebno je proučiti opći problem koji pokušavate riješiti. Mnoge aplikacije koje danas rade u podatkovnim centrima su skalabilne, koristeći velike količine resursa. Uzmi na primjer strojno učenje koje koristi ogromne količine računalnih čvorova. No kada govorimo o ubrzanju, trebamo razmišljati ne samo o ubrzanju izračuna, već i o ubrzanju infrastrukture.'

Na primjer, u onim operacijama vezanim uz strojno učenje koje je Bolesens proučavao u praksi, oko 50% vremena se troši na prijenos podataka naprijed-natrag između razbacanih računalnih snaga, i samo preostala polovica vremena se troši na same izračune.

«Ovdje mislim da FPGA može pomoći, jer možemo optimizirati i računske aspekte i aspekte prijenosa podataka za aplikaciju. To možemo učiniti na razini opće infrastrukture i na razini čipa. To je jedna od velikih prednosti FPGA-a, omogućujući stvaranje komunikacijskih mreža prilagođenih specifičnim potrebama aplikacije. Prateći tipične obrasce kretanja podataka u zadacima vezanim uz rad umjetne inteligencije, ne vidim potrebu za složenom arhitekturom temeljenom na preklopnicima. Moguće je izgraditi mrežu s velikim protokom podataka. Isto se odnosi i na zadatke učenja neuronskih mreža – moguće je izgraditi mrežu s veličinama paketa koje se prilagođavaju specifičnom zadatku. Uz FPGA možemo vrlo precizno skalirati i prilagoditi protokole prijenosa podataka i topologiju sheme za specifičnu aplikaciju. A u slučaju strojnog učenja, također je jasno da nam nisu potrebni brojevi s pomičnim zarezom dvostruke točnosti, i to možemo također prilagoditi.”

Razlika između FPGA i CPU-a ili specijaliziranih ASIC-a je u tome što se posljednji programiraju prilikom proizvodnje, i nakon toga ne možete promijeniti vrste obrađenih podataka ili obrađenih elemenata, niti prirodu protoka podataka koji prolaze kroz uređaj. FPGA vam omogućuju da promijenite odluke ako se uvjeti rada promijene.

U prošlosti je ovo svojstvo dolazilo s visokim troškovima, kada je programiranje za FPGA bilo namijenjeno ne slabijim duhovima. Potrebno je otvoriti kompajlere za FPGA kako bi se bolje integrirali s alatima koje programeri koriste za izradu aplikacija s paralelnim računanjem za CPU na jezicima C, C++ ili Python, te prepustiti dio rada bibliotekama koje ubrzavaju procese na FPGA. Time se bavi Vitis stack za strojno učenje, koji je osnova za platforme za MO poput Caffe i TensorFlow, i ima biblioteke za pokretanje običnih AI modela ili dodavanje mogućnosti FPGA takvim zadacima kao što su rekodiranje videa, prepoznavanje objekata u videu, analiza podataka, upravljanje financijskim rizicima i bilo kojim vanjskim bibliotekama.

Ova koncepcija se ne razlikuje mnogo od CUDA projekta tvrtke Nvidia, pokrenutog prije deset godina, koji prebacuje paralelna računanja na GPU akceleratore, niti od skupa alata ROCm tvrtke AMD, ili obećanja projekta Intel, OneAPI, koji bi trebao raditi na različitim CPU-ima, GPU-ima i FPGA-ima.

Pitanje je samo kako će svi ovi alati biti povezani kako bi bilo koja osoba mogla programirati skup računalnih resursa prema vlastitoj želji. To je važno jer su FPGA-i postali složeniji, mnogo složeniji od postojećih CPU-a. Proizvedeni su najnaprednijim tehnološkim procesima i najmodernijim tehnologijama pakiranja čipova. Naći će svoju nit, jer više ne možemo bespotrebno trošiti vrijeme, novac, energiju i inteligenciju - svi su to preskupi resursi.

„FPGA nudi tehnološke prednosti“, kaže Bolsens. „I to nije samo obična reklama o prilagodljivosti i rekonfigurabilnosti. U svim važnim aplikacijama - strojno učenje, analiza grafova, visoko frekventno trgovanje, itd. - imaju mogućnost prilagodbe ne samo puta širenja podataka za konkretnu zadaću, već i arhitekturi memorije - kako se podaci kreću unutar čipa. Također, FPGA ima ugrađenu mnogo veću memoriju od drugih uređaja. Također, važno je napomenuti da ako zadaća ne stane u jedan FPGA, moguće je skalirati je na više čipova bez problema koji nastaju prilikom skaliranja zadataka na više CPU-a ili GPU-a.”

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster