Az FPGA adatközpontokba való behatolásának elkerülhetetlensége

Az FPGA adatközpontokba való behatolásának elkerülhetetlensége
Nem kell chiptervezőnek lenned az FPGA-k programozásához, ahogyan nem kell C++ programozónak sem lenni ahhoz, hogy Java-ban kódot írj. Azonban mindkét esetben valószínűleg hasznos lesz.

A Java és az FPGA technológiák kereskedelmi forgalomba hozatalának célja az utóbbi állítás megcáfolása. Jó hír az FPGA-k számára – a megfelelő absztrakciós rétegek és eszközkészlet használatával a programozható logikai eszköz feltalálása óta eltelt 35 évben az algoritmusok és adatfolyamok létrehozása FPGA-khoz CPU-k, DSP-k, GPU-k vagy bármilyen más egyedi ASIC helyett egyre gyakoribb.könnyebb.

Létrehozásuk elképesztő időszerűsége nyilvánvaló abban a tényben, hogy amikor a processzorok már nem maradhattak az adatközpontok egyetlen számítási modulja, amely számos feladatot elvégezhetett - különféle okok miatt - az FPGA-k elérték hatékonyságukat, sebességet, alacsony késleltetést és hálózati lehetőségeket kínáltak. és memória - a modern FPGA SoC-k heterogén számítási képességei, amelyek szinte teljes értékű számítástechnikai rendszerek. Az FPGA-kat azonban a hibrid rendszerekben is sikeresen kombinálják más eszközökkel, és véleményünk szerint most kezdik megtalálni az őt megillető helyet a számítástechnikai hierarchiában.

Ezért szerveztük meg a The Next FPGA Platform konferenciát San Joséban január 22-én. Természetesen a Xilinx a világ egyik fő FPGA beszállítója és ezen a területen úttörő. Ivo Bolsens, a Xilinx vezető alelnöke és technológiai igazgatója felszólalt a konferencián, és elmondta nekünk a mai gondolatait arról, hogy a Xilinx hogyan segíti az adatközpontok megváltoztatható számítástechnikai rendszereinek létrehozását.

A rendszertervezőknek és a programozóknak sok időbe telt egy heterogén adatközpont kidolgozása, amely különféle típusú számítógépes teljesítményeket fog tartalmazni, amelyek megoldják a számítástechnikai, tárolási és hálózati problémákat. Ez azért tűnik szükségesnek, mert egyre nehezebb követni a Moore-törvényt különböző CMOS-eszközök használatával. Nyelvünk egyelőre még CPU-központú, és továbbra is „alkalmazásgyorsításról” beszélünk, ami azt jelenti, hogy a programok jobban futnak, mint amit a CPU-kon egyedül meg lehet tenni. Idővel az adatközpontok számítási teljesítmény, adattárolás és protokollok gyűjteményeivé válnak, amelyek mindent összekapcsolnak, és visszatérünk az olyan kifejezésekhez, mint a „számítástechnika” és az „alkalmazások”. A hibrid számítástechnika ugyanolyan normálissá válik, mint a mai felhőszolgáltatások, amelyek asztali számítógépeken vagy virtuális gépeken futnak, és valamikor egyszerűen a „számítástechnika” szót fogjuk használni a működésük leírására. Valamikor – és valószínűleg az FPGA-k segítenek bevezetni ezt a korszakot – újra adatfeldolgozásnak fogjuk nevezni.

Az FPGA-k elfogadása az adatközpontokban szemléletváltást igényel. „Amikor a mai alkalmazások felgyorsításának módjain gondolkodunk, le kell nyúlni a működésük alapjaihoz, milyen erőforrásokat használnak fel, hol töltik az időt” – magyarázza Bolsens. – Tanulmányoznia kell azt az általános problémát, amelyet megoldani próbál. Manapság számos adatközpontban futó alkalmazás nagy mennyiségű erőforrást fogyaszt. Vegyük például a gépi tanulást, amely rengeteg számítási csomópontot használ. De amikor a gyorsításról beszélünk, nem csak a számítástechnika felgyorsítására kell gondolnunk, hanem az infrastruktúra felgyorsítására is.”

Például az olyan gépi tanulási műveleteknél, amelyeket Bolsens a gyakorlatban vizsgált, az idő körülbelül 50%-a a szórt számítási teljesítmények közötti oda-vissza átvitellel telik el, és csak az idő fennmaradó felét fordítják magukra a számításokra.

„Szerintem ebben segíthet az FPGA, mert biztosítani tudjuk, hogy az alkalmazás számítási és kommunikációs aspektusa egyaránt optimalizálva legyen. És ezt megtehetjük az általános infrastruktúra szintjén és a chipek szintjén is. Ez az FPGA-k egyik nagy előnye, amely lehetővé teszi kommunikációs hálózatok létrehozását speciális alkalmazási igényekhez. Az AI-munkaterhelések tipikus adatmozgási mintái alapján nem látom szükségét egy összetett kapcsolóalapú architektúrának. Nagy adatáramlással rendelkező hálózatot építhet ki. Ugyanez vonatkozik a neurális hálózati betanítási feladatokra is – hálóhálózatot építhet olyan csomagméretekkel, amelyek alkalmazkodnak egy adott feladathoz. Az FPGA használatával az adatátviteli protokollok és az áramköri topológiák nagyon pontosan skálázhatók és egy adott alkalmazáshoz szabhatók. A gépi tanulás esetében pedig az is egyértelmű, hogy nincs szükségünk dupla pontosságú lebegőpontos számokra, és ezt is tudjuk módosítani.”

Az FPGA és a CPU vagy az egyedi ASIC között az a különbség, hogy az utóbbiak gyárilag programozva vannak, és ezek után már nem lehet meggondolni magát sem a számítás alatt álló adatok, sem a számítás alatt álló elemek típusán, sem az adatok természetén. átfolyik a készüléken. Az FPGA-k lehetővé teszik, hogy meggondolja magát, ha megváltoznak a működési feltételek.

A múltban ennek az előnynek ára volt, amikor az FPGA-programozás nem volt gyenge szívű. Meg kell nyitni az FPGA fordítókat, hogy jobban integrálódjanak azokkal az eszközökkel, amelyeket a programozók CPU-párhuzamos alkalmazások írásához használnak C, C++ vagy Python nyelven, és a munka egy részét olyan könyvtárakra kell kiszervezni, amelyek felgyorsítják az FPGA-k eljárásait. Ezt teszi a Vitis gépi tanulási verem, amely az ML platformokat, például a Caffe-t és a TensorFlow-t táplálja, könyvtárakkal a hagyományos AI-modellek futtatásához, vagy FPGA-képességek hozzáadásához olyan feladatokhoz, mint a videó átkódolása, a videóobjektum-felismerés és az adatelemzés. , pénzügyi kockázatkezelés és minden harmadik. - pártkönyvtárak.

Ez a koncepció nem sokban különbözik az Nvidia egy évtizede elindított CUDA projektjétől, amely a párhuzamos számítást a GPU-gyorsítókra terheli, vagy az AMD ROCm eszközkészletétől, vagy az Intel OneAPI projektjének ígéretétől, amelynek különböző CPU-kon, GPU-kon és FPGA-kon kellene futnia.

A kérdés csak az, hogy ezek az eszközök hogyan kapcsolódnak egymáshoz, hogy bárki belátása szerint programozhasson egy sor számítási teljesítményt. Ez azért fontos, mert az FPGA-k összetettebbek lettek, sokkal összetettebbek, mint bármelyik elérhető CPU. A legfejlettebb gyártási eljárásokkal és a legmodernebb forgácscsomagolási technológiákkal készülnek. És megtalálják a rést, hiszen már nem vesztegethetünk időt, pénzt, energiát és intelligenciát – mindez túl drága erőforrás.

„Az FPGA-k technológiai előnyöket kínálnak” – mondja Bolsens. – És ez nem csak a szokásos reklám az alkalmazkodóképességről és az átkonfigurálhatóságról. Minden fontos alkalmazásban - gépi tanulás, grafikon elemzés, nagy sebességű kereskedés stb. - képesek egy adott feladathoz alkalmazkodni nemcsak az adatelosztási útvonalat, hanem a memória architektúrát is - az adatok mozgását a chipen belül. Az FPGA-kba is sokkal több memória van beépítve, mint más eszközökbe. Azt is figyelembe kell venni, hogy ha egy feladat nem fér bele egy FPGA-ba, akkor több chipre is méretezheti anélkül, hogy szembesülne azokkal a hátrányokkal, amelyek a feladatok több CPU-n vagy GPU-n keresztül történő skálázásakor várnak rád."

Forrás: will.com

Hozzászólás