Nevyhnutelnost pronikání FPGA do datových center

Nevyhnutelnost pronikání FPGA do datových center
Není třeba být vývojářem čipů, abyste programovali pro FPGA, stejně jako není nutné být programátorem v C++, abyste psali kód v Javě. Nicméně v obou případech to pravděpodobně nebude na škodu.

Cílem komercializace obou technologií, Javy a FPGA, je vyvrátit toto poslední tvrzení. Dobré zprávy pro FPGA - s využitím vhodných úrovní abstrakce a nástrojů se v posledních 35 letech, od doby, kdy byl vynalezen programovatelné logické zařízení, stává stále snadnější vytvářet algoritmy a datové toky pro FPGA místo CPU, DSP, GPU nebo jakékoliv jiné formy specializovaných ASIC.

Udivující načasování jejich vzniku spočívá v tom, že právě když už CPU nemohly zůstat jediným výpočetním modulem, datová centra aby splnily řadu úkolů - z různých důvodů - FPGA dosáhly své efektivity, nabízející vysoký výkon, nízké latence, síťové možnosti a paměť - rozmanité výpočetní schopnosti moderních FPGA SoC, které představují prakticky plnohodnotné výpočetní systémy. Nicméně FPGA se úspěšně kombinují i s jinými zařízeními v hybridních systémech a podle našeho názoru teprve začínají nalézat své právoplatné místo v hierarchii výpočtů.

Proto jsme uspořádali konferenci The Next FPGA Platform v San José 22. ledna. Samozřejmě jedním z hlavních dodavatelů FPGA na světě a průkopníkem v této oblasti je společnost Xilinx. Ivo Bolens, senior viceprezident a technický ředitel společnosti Xilinx, vystoupil na konferenci s přednáškou a podělil se s námi o své dnešní myšlenky na to, jak Xilinx pomáhá vytvářet měnitelné výpočetní systémy pro datová centra.

Architektům systémů a programátorům trvalo dost času, než přišli na myšlenku heterogenního datového centra, které by zahrnovalo různé typy počítačového výkonu, řešící úkoly spojené s výpočty, ukládáním a organizací sítí. To se zdá být nutné vzhledem k tomu, že sledovat zákon Moora pomocí různých CMOS se stává stále obtížnějším. Naše terminologie se stále zaměřuje na CPU a stále hovoříme o „zrychlení aplikací“, máme na mysli zlepšení výkonu programů ve srovnání s tím, co je možné dosáhnout pouze na CPU. V budoucnu se datová centra promění v soubory výpočetních výkonů, úložišť dat a protokolů, které je všechno propojují, a vrátíme se k termínům jako „výpočty“ a „aplikace“. Hybridní výpočty se stanou normou, stejně jako dnešní „cloudové“ služby, které fungují na základě běžných nebo virtuálních strojů, a v určitém okamžiku budeme používat pouze slovo „výpočty“ k popisu jejich fungování. V určitém okamžiku – a pravděpodobně tomu velmi pomohou FPGA – to znovu nazveme zpracováním dat.

Aby bylo možné zavést FPGA do datových center, je třeba změnit způsob myšlení. „Při uvažování o způsobech, jak zrychlit dnešní aplikace, musíte proniknout do základních aspektů toho, jak jsou vykonávány, jaké zdroje se používají a na co se ztrácí čas,“ vysvětluje Bolsens. „Je potřeba studovat celkový problém, který se snažíte vyřešit. Mnoho aplikací, které dnes fungují v datových centrech, je škálováno a zabírá velké množství zdrojů. Například strojové učení, které používá obrovské množství výpočetních uzlů. Ale když mluvíme o zrychlení, je třeba přemýšlet nejen o zrychlení výpočtů, ale také o zrychlení infrastruktury."

Například u těch operací spojených se strojovým učením, které Bolsens zkoumal v praxi, se přibližně 50 % času ztrácí na přenos dat sem a tam mezi rozptýlenými výpočetními kapacitami, a pouze zbývající polovina času se věnuje samotným výpočtům.

„Právě zde si myslím, že může FPGA pomoci, protože můžeme optimalizovat jak výpočetní aspekty, tak aspekty přenosu dat pro aplikaci. A můžeme to dělat na úrovni obecné infrastruktury a na úrovni čipu. To je jedna z velkých výhod FPGA, která umožňuje vytvářet komunikační sítě přizpůsobené konkrétním potřebám aplikace. Když se dívám na typické vzorce přenosu dat v úlohách souvisejících s umělou inteligencí, nevidím potřebu složité architektury na bázi přepínačů. Můžeme vybudovat síť s velkým datovým tokem. To platí i pro úlohy trénování neuronových sítí – můžeme vybudovat mřížkovou síť s velikostmi paketů přizpůsobujícími se konkrétní úloze. S použitím FPGA můžeme velmi přesně škálovat a přizpůsobovat protokoly přenosu dat a topologii obvodu pro konkrétní aplikaci. A pokud jde o strojové učení, je také jasné, že nepotřebujeme čísla s plovoucí desetinnou čárkou dvojité přesnosti, a to také můžeme přizpůsobit.“

Rozdíl mezi FPGA a CPU nebo specializovanými ASIC spočívá v tom, že ty posledně jmenované jsou naprogramovány při výrobě a poté už nemůžete změnit typy zpracovávaných dat nebo zpracovávaných prvků, ani povahu datového toku procházejícího zařízením. FPGA vám umožňují změnit názor, pokud se mění provozní podmínky.

V minulosti byla tato výhoda drahá, když programování pro FPGA nebylo určeno pro slabé povahy. Je nutné otevřít kompilátory pro FPGA, aby se lépe integrovaly s nástroji používanými programátory pro vytváření aplikací s paralelními výpočty pro CPU v jazycích C, C++ nebo Python, a svěřit část práce knihovnám, které zrychlují procedury na FPGA. To je právě to, co dělá Vitis ML stack, který lemuje základy platforem pro ML, jako jsou Caffe a TensorFlow, a má knihovny pro spuštění běžných AI modelů nebo přidání schopností FPGA k úlohám, jako jsou překódování videa, rozpoznávání objektů ve videu, analýza dat, řízení finančních rizik a jakékoli externí knihovny.

Tato koncepce se příliš neliší od projektu CUDA od Nvidie, který byl spuštěn před deseti lety a přenášel paralelní výpočty na GPU akcelerátory, nebo od nástroje ROCm od AMD, či od slibů projektu Intel, OneAPI, který má fungovat na různých CPU, GPU a FPGA.

Otázka zní, jak budou všechny tyto nástroje spojeny dohromady, aby si kdokoli mohl naprogramovat sadu výpočetních výkonů podle svých potřeb. To je důležité, protože FPGA se staly složitějšími, mnohem složitějšími než jakékoli dostupné CPU. Jsou vyráběny nejmodernějšími technologickými procesy a pomocí nejmodernějších technologií balení čipů. A najdou si svou niku, protože si už nemůžeme dovolit plýtvat časem, penězi, energií a inteligencí – to všechno jsou příliš drahé zdroje.

„FPGA nabízejí technologické výhody,“ říká Bolsens. „A to není jen běžná reklama o přizpůsobivosti a přeprogramovatelnosti. Ve všech důležitých aplikacích – strojové učení, analýza grafů, vysokorychlostní obchodování atd. – mají možnost přizpůsobit nejen cestu šíření dat konkrétní úloze, ale i architekturu paměti – jak se data pohybují v rámci čipu. A navíc mají FPGA mnohem více paměti než jiná zařízení. Je také třeba vzít v úvahu, že pokud úloha nevyhovuje jednomu FPGA, lze ji škálovat na několik čipů, aniž byste narazili na nevýhody, které vás čekají při škálování úloh na několika CPU nebo GPU.“

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster