Nevyhnutnosť prieniku FPGA do dátových centier

Nevyhnutnosť prieniku FPGA do dátových centier
Nemusíte byť dizajnér čipov, aby ste mohli programovať pre FPGA, rovnako ako nemusíte byť programátorom v C++ na písanie kódu v Jave. V oboch prípadoch to však bude pravdepodobne užitočné.

Cieľom komercializácie technológií Java aj FPGA je vyvrátiť toto tvrdenie. Dobrá správa pre FPGA – používanie správnych abstraktných vrstiev a sady nástrojov, za posledných 35 rokov od vynálezu programovateľného logického zariadenia, vytváranie algoritmov a dátových tokov pre FPGA namiesto CPU, DSP, GPU alebo akejkoľvek inej formy vlastných ASIC sa stalo čoraz bežnejšie.

Úžasné načasovanie ich vzniku je zrejmé z faktu, že práve v čase, keď CPU už nemohli byť jediným výpočtovým modulom dátové centrá Pre rôzne úlohy – z rôznych dôvodov – FPGA dosiahli svoju efektívnosť tým, že ponúkajú vysoký výkon, nízku latenciu, sieťové pripojenie a pamäť – rozmanité výpočtové možnosti moderných FPGA SoC, ktoré sú prakticky kompletnými výpočtovými systémami. FPGA sa však tiež úspešne kombinujú s inými zariadeniami v hybridných systémoch a podľa nášho názoru si len začínajú nachádzať svoje právoplatné miesto v hierarchii výpočtov.

Preto sme 22. januára zorganizovali konferenciu The Next FPGA Platform v San Jose. Prirodzene, jedným z hlavných dodávateľov FPGA na svete a priekopníkom v tejto oblasti je Xilinx. Ivo Bolsens, senior viceprezident a hlavný technologický riaditeľ spoločnosti Xilinx, na konferencii vystúpil a dnes nám povedal svoje myšlienky o tom, ako spoločnosť Xilinx pomáha vytvárať premenlivé výpočtové systémy pre dátové centrá.

Systémovým architektom a programátorom trvalo nejaký čas, kým dospeli k heterogénnemu dátovému centru, ktoré by obsahovalo rôzne typy výpočtového výkonu, ktoré by spracovávali výpočtové, úložné a sieťové úlohy. Zdá sa to nevyhnutné, pretože dodržiavanie Moorovho zákona s rôznymi čipmi CMOS je čoraz ťažšie. Zatiaľ je náš jazyk stále zameraný na CPU a stále hovoríme o „zrýchlení aplikácií“, čo znamená, že programy bežia lepšie ako to, čo sa dá urobiť len na CPU. Dátové centrá sa nakoniec stanú súbormi výpočtového výkonu, úložiska a protokolov, ktoré všetko spájajú, a vrátime sa k pojmom ako „výpočtový“ a „aplikácie“. Hybridné výpočty sa stanú rovnako bežnými ako dnešné cloudové služby, ktoré bežia na tradičných alebo... virtuálne stroje... a v určitom okamihu budeme na opis ich práce jednoducho používať slovo „výpočtová technika“. V určitom okamihu – a FPGA pravdepodobne zohrajú kľúčovú úlohu v nástupe tejto éry – to budeme opäť nazývať spracovaním dát.

Prijatie FPGA v dátových centrách si bude vyžadovať zmenu myslenia. „Pri premýšľaní o spôsoboch, ako zrýchliť dnešné aplikácie, musíte prejsť k základom o tom, ako fungujú, aké zdroje sa používajú, kde sa míňa čas,“ vysvetľuje Bolsens. – Musíte si preštudovať všeobecný problém, ktorý sa snažíte vyriešiť. Mnohé aplikácie bežiace v dátových centrách sa dnes prispôsobujú tak, aby spotrebovali veľké množstvo zdrojov. Vezmime si napríklad strojové učenie, ktoré využíva obrovské množstvo výpočtových uzlov. Ale keď hovoríme o zrýchlení, musíme myslieť nielen na zrýchlenie výpočtovej techniky, ale aj na zrýchlenie infraštruktúry.“

Napríklad pri operáciách strojového učenia, ktoré Bolsens v praxi študoval, sa približne 50 % času strávi prenosom údajov tam a späť medzi rozptýleným výpočtovým výkonom a iba zvyšnú polovicu času strávia samotné výpočty.

„Myslím si, že v tomto môže FPGA pomôcť, pretože môžeme zabezpečiť, že výpočtové aj komunikačné aspekty aplikácie sú optimalizované. A môžeme to urobiť na úrovni celkovej infraštruktúry a na úrovni čipov. Toto je jedna z veľkých výhod FPGA, ktorá vám umožňuje vytvárať komunikačné siete pre špecifické potreby aplikácií. Na základe typických vzorov pohybu údajov v pracovných zaťaženiach AI nevidím potrebu komplexnej architektúry založenej na prepínačoch. Môžete vybudovať sieť s veľkým dátovým tokom. To isté platí pre úlohy trénovania neurónových sietí – môžete vybudovať sieťovú sieť s veľkosťami paketov, ktoré sa prispôsobia konkrétnej úlohe. Pomocou FPGA je možné protokoly prenosu údajov a topológie obvodov veľmi presne škálovať a prispôsobiť konkrétnej aplikácii. A v prípade strojového učenia je tiež jasné, že nepotrebujeme čísla s pohyblivou rádovou čiarkou s dvojitou presnosťou a môžeme to tiež upraviť.“

Rozdiel medzi FPGA a CPU alebo vlastným ASIC je v tom, že tieto sú naprogramované vo výrobe a potom už nemôžete zmeniť názor na typy vypočítavaných údajov alebo prvkov, ktoré sa počítajú, alebo na povahu údajov. prietok cez zariadenie. FPGA vám umožňujú zmeniť názor, ak sa zmenia prevádzkové podmienky.

V minulosti bola táto výhoda drahá, keď programovanie FPGA nebolo pre slabé srdce. Potreba je otvoriť kompilátory FPGA, aby sa lepšie integrovali s nástrojmi, ktoré programátori používajú na písanie aplikácií paralelných s CPU v C, C++ alebo Pythone, a zadať časť práce knižniciam, ktoré urýchľujú procedúry na FPGA. To je to, čo robí zásobník strojového učenia Vitis, ktorý poháňa platformy ML, ako sú Caffe a TensorFlow, s knižnicami na spúšťanie konvenčných modelov AI alebo pridávaním funkcií FPGA k úlohám, ako je prekódovanie videa, rozpoznávanie objektov videa a analýza údajov, riadenie finančných rizík a ďalšie -strannícke knižnice.

Tento koncept sa príliš nelíši od projektu CUDA od Nvidie, ktorý bol spustený pred desiatimi rokmi a ktorý presúva paralelné výpočty na GPU akcelerátory, alebo od AMD ROCm toolkitu, alebo od prísľubu projektu OneAPI od Intelu, ktorý by mal bežať na rôznych CPU, GPU a FPGA.

Jedinou otázkou je, ako budú všetky tieto nástroje prepojené, aby si každý mohol naprogramovať sadu výpočtových výkonov podľa vlastného uváženia. To je dôležité, pretože FPGA sa stali zložitejšími, oveľa zložitejšími ako ktorýkoľvek z dostupných CPU. Sú vyrábané pomocou najmodernejších výrobných procesov a najmodernejších technológií balenia čipov. A nájdu si svoje miesto, pretože už nemôžeme strácať čas, peniaze, energiu a inteligenciu - to všetko sú príliš drahé zdroje.

"FPGA ponúkajú technologické výhody," hovorí Bolsens. – A to nie je len obyčajná reklama na prispôsobivosť a rekonfigurovateľnosť. Vo všetkých dôležitých aplikáciách - strojové učenie, grafová analýza, vysokorýchlostné obchodovanie atď. - majú schopnosť prispôsobiť konkrétnej úlohe nielen cestu distribúcie dát, ale aj architektúru pamäte - ako sa dáta pohybujú v rámci čipu. FPGA majú tiež zabudovanú oveľa viac pamäte ako iné zariadenia. Malo by sa tiež vziať do úvahy, že ak sa úloha nezmestí do jedného FPGA, môžete ju škálovať na viacerých čipoch bez toho, aby ste narazili na nevýhody, ktoré na vás čakajú pri škálovaní úloh na viacerých CPU alebo GPU.“

Zdroj: hab.com

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster