FPGA iespiešanās datu centros neizbēgamība

FPGA iespiešanās datu centros neizbēgamība
Jums nav jābūt mikroshēmu izstrādātājam, lai programmētu FPGA, tāpat kā jums nav jābūt C++ programmētājam, lai rakstītu kodu Java. Tomēr abos gadījumos tas, iespējams, noderēs.

Gan Java, gan FPGA tehnoloģiju komercializācijas mērķis ir atspēkot pēdējo apgalvojumu. Labas ziņas FPGA — izmantojot pareizos abstrakcijas slāņus un rīku kopu, pēdējo 35 gadu laikā kopš programmējamās loģiskās ierīces izgudrošanas ir kļuvusi algoritmu un datu plūsmu izveide FPGA, nevis CPU, DSP, GPU vai jebkura cita veida pielāgotu ASIC. arvien biežāk.vieglāk.

To radīšanas pārsteidzošais laiks ir redzams faktā, ka tieši tad, kad centrālie procesori vairs nevarēja palikt vienīgie skaitļošanas moduļi datu centri Dažādu uzdevumu veikšanai — dažādu iemeslu dēļ — FPGA ir sasnieguši savu efektivitāti, piedāvājot augstu veiktspēju, zemu latentumu, tīklošanu un atmiņu — mūsdienu FPGA SoC daudzveidīgās skaitļošanas iespējas, kas praktiski ir pilnīgas skaitļošanas sistēmas. Tomēr FPGA veiksmīgi apvienojas arī ar citām ierīcēm hibrīdsistēmās, un, mūsuprāt, tās tikai sāk atrast savu īsto vietu skaitļošanas hierarhijā.

Tāpēc mēs organizējām The Next FPGA Platform konferenci Sanhosē 22. janvārī. Protams, viens no galvenajiem FPGA piegādātājiem pasaulē un pionieris šajā jomā ir Xilinx. Ivo Bolsens, Xilinx vecākais viceprezidents un galvenais tehnoloģiju speciālists, uzstājās konferencē un šodien sniedza mums savas domas par to, kā Xilinx palīdz radīt maināmas skaitļošanas sistēmas datu centriem.

Sistēmu arhitektiem un programmētājiem ir bijis nepieciešams zināms laiks, lai izveidotu heterogēnu datu centru, kurā būtu izvietoti dažādi skaitļošanas jaudas veidi, kas apstrādātu skaitļošanas, glabāšanas un tīklošanas uzdevumus. Tas šķiet nepieciešams, jo Mūra likuma ievērošana ar dažādām CMOS mikroshēmām kļūst arvien grūtāka. Pagaidām mūsu valoda joprojām ir centriska uz centrālo procesoru, un mēs joprojām runājam par "lietojumprogrammu paātrināšanu", kas nozīmē, ka programmas darbojas labāk nekā tas, ko var izdarīt tikai ar centrālo procesoru. Galu galā datu centri kļūs par skaitļošanas jaudas, glabāšanas un protokolu kopumiem, kas visu saista kopā, un mēs atgriezīsimies pie tādiem terminiem kā "skaitļošana" un "lietojumprogrammas". Hibrīdskaitļošana kļūs tikpat ierasta kā mūsdienu mākoņpakalpojumi, kas darbojas uz tradicionālām vai... virtuālās mašīnas, un kādā brīdī mēs vienkārši lietosim vārdu "skaitļošana", lai aprakstītu viņu darbu. Kādā brīdī — un FPGA, visticamāk, būs nozīmīga loma šīs ēras iesākšanā — mēs to atkal sauksim par datu apstrādi.

Lai pieņemtu FPGA datu centros, būs jāmaina domāšana. "Domājot par veidiem, kā paātrināt mūsdienu lietojumprogrammas, jums ir jāiepazīstas ar to darbības pamatiem, kādi resursi tiek izmantoti un kur tiek pavadīts laiks," skaidro Bolsens. – Jums ir jāizpēta vispārējā problēma, kuru mēģināt atrisināt. Daudzas lietojumprogrammas, kas šodien darbojas datu centros, patērē lielu daudzumu resursu. Ņemiet, piemēram, mašīnmācīšanos, kas izmanto milzīgu skaitu skaitļošanas mezglu. Bet, kad mēs runājam par paātrinājumu, mums ir jādomā ne tikai par skaitļošanas paātrināšanu, bet arī par infrastruktūras paātrināšanu.

Piemēram, tādās mašīnmācīšanās operācijās, kuras Bolsens pētīja praksē, aptuveni 50% laika tiek pavadīts datu pārsūtīšanai uz priekšu un atpakaļ starp izkliedētu skaitļošanas jaudu, un tikai atlikušā puse laika tiek veltīta pašiem aprēķiniem.

"Es domāju, ka šeit var palīdzēt FPGA, jo mēs varam nodrošināt, ka tiek optimizēti gan lietojumprogrammas skaitļošanas, gan komunikācijas aspekti. Un mēs to varam izdarīt vispārējā infrastruktūras līmenī un mikroshēmu līmenī. Šī ir viena no lielajām FPGA priekšrocībām, kas ļauj izveidot sakaru tīklus konkrētām lietojumprogrammu vajadzībām. Pamatojoties uz tipiskiem datu kustības modeļiem AI darba slodzēs, es neredzu vajadzību pēc sarežģītas, uz slēdžiem balstītas arhitektūras. Varat izveidot tīklu ar lielu datu plūsmu. Tas pats attiecas uz neironu tīklu apmācības uzdevumiem - jūs varat izveidot tīkla tīklu ar pakešu izmēriem, kas pielāgojas konkrētam uzdevumam. Izmantojot FPGA, datu pārraides protokolus un ķēžu topoloģijas var ļoti precīzi mērogot un pielāgot konkrētai lietojumprogrammai. Un mašīnmācības gadījumā ir arī skaidrs, ka mums nav vajadzīgi dubultas precizitātes peldošā komata skaitļi, un mēs varam arī to pielāgot.

Atšķirība starp FPGA un CPU vai pielāgotu ASIC ir tāda, ka pēdējie ir ieprogrammēti rūpnīcā, un pēc tam jūs vairs nevarat mainīt savas domas par aprēķināmo datu veidiem vai elementiem, kas tiek aprēķināti, vai par datu raksturu. plūst caur ierīci. FPGA ļauj mainīt domas, ja mainās darbības apstākļi.

Agrāk šī priekšrocība bija par maksu, kad FPGA programmēšana nebija paredzēta vājprātīgajiem. Nepieciešams atvērt FPGA kompilatorus, lai tie labāk integrētos ar rīkiem, ko programmētāji izmanto, lai rakstītu CPU paralēlās lietojumprogrammas C, C++ vai Python valodā, un daļu darba uzticēt bibliotēkām, kas paātrina FPGA procedūras. Tas ir tas, ko dara Vitis mašīnmācīšanās steks, darbinot ML platformas, piemēram, Caffe un TensorFlow, ar bibliotēkām tradicionālo AI modeļu darbināšanai vai FPGA iespēju pievienošanai tādiem uzdevumiem kā video pārkodēšana, video objektu atpazīšana un datu analīze. , finanšu riska pārvaldība un jebkura trešā daļa. -partiju bibliotēkas.

Šī koncepcija daudz neatšķiras no Nvidia CUDA projekta, kas tika uzsākts pirms desmit gadiem, kas izkrauj paralēlo skaitļošanu uz GPU paātrinātājiem, vai no AMD ROCm rīkkopas, vai no solītā Intel OneAPI projekta, kuram vajadzētu darboties dažādos CPU, GPU un FPGA.

Jautājums ir tikai par to, kā visi šie rīki tiks savienoti kopā, lai jebkura persona varētu ieprogrammēt skaitļošanas jaudu kopumu pēc saviem ieskatiem. Tas ir svarīgi, jo FPGA ir kļuvuši sarežģītāki, daudz sarežģītāki nekā jebkurš no pieejamajiem CPU. Tie tiek ražoti, izmantojot vismodernākos ražošanas procesus un modernākās skaidu iepakošanas tehnoloģijas. Un viņi atradīs savu nišu, jo mēs vairs nevaram tērēt laiku, naudu, enerģiju un inteliģenci - tie visi ir pārāk dārgi resursi.

"FPGA piedāvā tehnoloģiskas priekšrocības," saka Bolsens. – Un šī nav tikai parastā reklāma par pielāgojamību un pārkonfigurējamību. Visās svarīgajās lietojumprogrammās - mašīnmācībā, grafiku analīzē, ātrgaitas tirdzniecībā utt. - tiem ir iespēja pielāgot konkrētam uzdevumam ne tikai datu izplatīšanas ceļu, bet arī atmiņas arhitektūru - kā dati pārvietojas mikroshēmā. FPGA ir arī iebūvēta daudz vairāk atmiņas nekā citās ierīcēs. Jāņem vērā arī tas, ka, ja uzdevums neietilpst vienā FPGA, varat to mērogot vairākās mikroshēmās, nesaskaroties ar trūkumiem, kas jūs sagaida, mērogojot uzdevumus vairākos CPU vai GPU.

Avots: www.habr.com

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster