FPGA:n tunkeutumisen väistämättömyys tietokeskuksiin

FPGA:n tunkeutumisen väistämättömyys tietokeskuksiin
Sinun ei tarvitse olla piirisuunnittelija ohjelmoidaksesi FPGA:ita, aivan kuten sinun ei tarvitse olla C++-ohjelmoija kirjoittaaksesi koodia Java-kielellä. Kuitenkin molemmissa tapauksissa siitä on todennäköisesti hyötyä.

Sekä Java- että FPGA-tekniikoiden kaupallistamisen tavoitteena on kumota jälkimmäinen väite. Hyviä uutisia FPGA:lle – oikeiden abstraktiokerrosten ja työkalusarjan käyttämisestä ohjelmoitavan logiikkalaitteen keksimisen jälkeen on viimeisten 35 vuoden aikana tullut algoritmien ja tietovirtojen luominen FPGA:ille CPU:iden, DSP:iden, GPU:iden tai minkä tahansa muun muokatun ASIC:in sijaan. yhä yleisempää helpompaa.

Niiden luomisen hämmästyttävä ajantasaisuus käy ilmi siitä, että juuri silloin, kun suorittimet eivät enää voineet jäädä ainoaksi datakeskusten laskentamoduuliksi, joka suorittaa monia tehtäviä - useista eri syistä - FPGA:t saavuttivat tehokkuutensa ja tarjosivat nopeuden, alhaisen latenssin ja verkkoominaisuudet. ja muisti - nykyaikaisten FPGA SoC:iden heterogeeniset laskentaominaisuudet, jotka ovat lähes täysimittaisia ​​​​laskentajärjestelmiä. Kuitenkin FPGA:t yhdistetään onnistuneesti myös muiden laitteiden kanssa hybridijärjestelmissä, ja mielestämme ne ovat vasta alkamassa löytää oikea paikkansa laskentahierarkiassa.

Siksi järjestimme The Next FPGA Platform -konferenssin San Josessa 22. tammikuuta. Luonnollisesti yksi suurimmista FPGA-toimittajista maailmassa ja edelläkävijä tällä alueella on Xilinx. Xilinxin johtaja ja teknologiajohtaja Ivo Bolsens puhui konferenssissa ja kertoi meille tänään, kuinka Xilinx auttaa luomaan muuttuvia laskentajärjestelmiä datakeskuksiin.

Kesti järjestelmäarkkitehtien ja ohjelmoijien paljon aikaa keksiä heterogeeninen datakeskus, jossa on erilaisia ​​tietokonetehoja, jotka ratkaisevat laskenta-, tallennus- ja verkkoongelmia. Tämä vaikuttaa tarpeelliselta johtuen siitä, että Mooren lain noudattaminen eri CMOS-laitteilla on yhä vaikeampaa. Toistaiseksi kielemme on edelleen CPU-keskeistä, ja puhumme edelleen "sovelluskiihdytyksestä", mikä tarkoittaa, että ohjelmia saadaan toimimaan paremmin kuin mitä voidaan tehdä pelkillä prosessoreilla. Ajan myötä palvelinkeskuksista tulee laskentatehon, tietojen tallennustilan ja protokollien kokoelmia, jotka yhdistävät kaiken, ja palaamme termeihin, kuten "laskenta" ja "sovellukset". Hybridilaskennasta tulee yhtä normaalia kuin nykypäivän työpöytä- tai virtuaalikoneilla toimivat pilvipalvelut, ja jossain vaiheessa käytämme yksinkertaisesti sanaa "laskenta" kuvaamaan niiden toimintaa. Jossain vaiheessa - ja on todennäköistä, että FPGA:t auttavat aloittamaan tämän aikakauden - kutsumme sitä uudelleen tietojenkäsittelyksi.

FPGA:iden käyttöönotto datakeskuksissa edellyttää ajattelutavan muutosta. "Kun mietitään tapoja nopeuttaa nykypäivän sovelluksia, sinun on perehdyttävä niiden toiminnan perusteisiin, mitä resursseja käytetään ja mihin aika kuluu", Bolsens selittää. – Sinun on tutkittava yleistä ongelmaa, jota yrität ratkaista. Monet datakeskuksissa toimivat sovellukset kuluttavat nykyään suuria määriä resursseja. Otetaan esimerkiksi koneoppiminen, joka käyttää valtavaa määrää laskennan solmuja. Mutta kun puhumme kiihtyvyydestä, meidän ei tarvitse ajatella vain tietojenkäsittelyn nopeuttamista vaan myös infrastruktuurin nopeuttamista.

Esimerkiksi Bolsensin käytännössä tutkimissa koneoppimisoperaatioissa noin 50 % ajasta kuluu tiedon siirtämiseen edestakaisin hajautettujen laskentatekojen välillä ja vain puolet ajasta kuluu itse laskelmiin.

"Tässä mielestäni FPGA voi auttaa, koska voimme varmistaa, että sovelluksen sekä laskennalliset että viestintänäkökohdat ovat optimoituja. Ja voimme tehdä tämän yleisellä infrastruktuuritasolla ja sirujen tasolla. Tämä on yksi FPGA:n suurista eduista, ja sen avulla voit luoda tietoliikenneverkkoja tiettyjä sovellustarpeita varten. Tekoälytyökuormien tyypillisten tietojen liikkumismallien perusteella en näe tarvetta monimutkaiselle kytkinpohjaiselle arkkitehtuurille. Voit rakentaa verkon suurella tietovirralla. Sama koskee hermoverkkojen koulutustehtäviä - voit rakentaa mesh-verkon, jonka pakettikoot mukautuvat tiettyyn tehtävään. FPGA:ta käyttämällä tiedonsiirtoprotokollat ​​ja piiritopologiat voidaan skaalata ja räätälöidä erittäin tarkasti tietyn sovelluksen mukaan. Ja koneoppimisen tapauksessa on myös selvää, että emme tarvitse kaksinkertaisen tarkkuuden liukulukuja, ja voimme myös säätää sitä."

Ero FPGA:n ja CPU:n tai mukautetun ASICin välillä on siinä, että jälkimmäiset ohjelmoidaan tehtaalla, ja sen jälkeen et voi enää muuttaa mieltäsi laskettavien tietojen tai laskettavien elementtien tyypeistä tai tietojen luonteesta. virtaa laitteen läpi. FPGA:n avulla voit muuttaa mieltäsi, jos käyttöolosuhteet muuttuvat.

Aiemmin tämä etu tuli kalliiksi, kun FPGA-ohjelmointi ei ollut heikkohermoisille. On avattava FPGA-kääntäjät, jotta ne voisivat paremmin integroitua työkaluihin, joita ohjelmoijat käyttävät CPU-rinnakkaissovellusten kirjoittamiseen C-, C++- tai Python-kielellä, ja ulkoistaa osa työstä kirjastoille, jotka nopeuttavat FPGA-prosesseja. Tätä Vitis-koneoppimispino tekee, ja se antaa virtaa ML-alustoille, kuten Caffe ja TensorFlow, kirjastoilla perinteisten tekoälymallien käyttämiseen tai FPGA-ominaisuuksien lisäämiseen tehtäviin, kuten videon transkoodaus, videoobjektien tunnistus ja data-analyysi. , taloudellisten riskien hallinta ja kaikki kolmannet. -juhlakirjastot.

Tämä konsepti ei juurikaan eroa Nvidian vuosikymmen sitten käynnistetystä CUDA-projektista, joka siirtää rinnakkaislaskennan GPU-kiihdyttimiin, tai AMD:n ROCm-työkalupakista tai Intelin OneAPI-projektin lupauksesta, jonka pitäisi toimia eri prosessoreilla, GPU:illa ja FPGA:lla.

Ainoa kysymys on, kuinka kaikki nämä työkalut yhdistetään niin, että kuka tahansa voi ohjelmoida joukon laskentatehoja oman harkintansa mukaan. Tämä on tärkeää, koska FPGA:ista on tullut monimutkaisempia, paljon monimutkaisempia kuin mikään käytettävissä olevista suorittimista. Ne valmistetaan käyttämällä edistyneimpiä valmistusprosesseja ja nykyaikaisimpia lastupakkaustekniikoita. Ja he löytävät markkinarakonsa, koska emme voi enää tuhlata aikaa, rahaa, energiaa ja älykkyyttä - kaikki nämä ovat liian kalliita resursseja.

"FPGA:t tarjoavat teknologisia etuja", Bolsens sanoo. – Eikä tämä ole vain tavallista mainontaa mukautumisesta ja uudelleenkonfiguroitavuudesta. Kaikissa tärkeissä sovelluksissa - koneoppimisessa, kaavioanalyysissä, nopeassa kaupankäynnissä jne. - he pystyvät mukautumaan tiettyyn tehtävään, ei vain tiedon jakelupolku, vaan myös muistiarkkitehtuuri - kuinka data liikkuu sirussa. FPGA:ssa on myös paljon enemmän muistia sisäänrakennettuna kuin muissa laitteissa. On myös otettava huomioon, että jos tehtävä ei mahdu yhteen FPGA:han, voit skaalata sen useille siruille ilman, että kohtaat haittoja, jotka odottavat sinua skaalattaessa tehtäviä useiden prosessorien tai GPU:iden välillä.

Lähde: will.com

Lisää kommentti