FPGA sissetung on andmete keskustesse on vÀltimatu

FPGA sissetung on andmete keskustesse on vÀltimatu
FPGA jaoks programmeerimiseks ei pea olema kiibiarendaja, nagu ei pea olema C++ arendaja, et Java koodi kirjutada. Kuid mÔlemal juhul vÔib see ilmselt olla kasulik.

Nende kahe tehnoloogia, Java ja FPGA, kommertsialiseerimise eesmĂ€rk on tĂ”estada viimast vĂ€idet. Head uudised FPGA jaoks – Ă”ige abstraktsioonitasemete ja tööriistakomplektide kasutamisega on viimase 35 aasta jooksul, alates programmeeritava loogikaseadmest, algoritmide ja andmevoogude loomine FPGA-dele muutunud kergemaks kui CPU, DSP, GPU vĂ”i iga muu spetsiaalse ASIC-i kasutamine.

Nende loomise mĂ€rkimisvÀÀrne ajastus seisneb selles, et just siis, kui CPU ei saanud enam jÀÀda ainsaks arvutusmoduliks andmekeskustes mitmete erinevate pĂ”hjuste tĂ”ttu, saavutas FPGA oma tĂ”hususe, pakkudes kĂ”rge jĂ”udluse, madalat latentsust, vĂ”rguvĂ”imalusi ja mĂ€lu – kaasaegsete FPGA SoC-de mitmekesised arvutusvĂ”imaused, mis peaaegu kujutavad endast tĂ€ielikke arvutussĂŒsteeme. Samuti sobivad FPGA hĂ€sti ka teiste seadmetega hĂŒbriidsĂŒsteemides ja meie arvates hakkavad nad alles leidma oma Ă”igustatud kohta arvutuste hierarhias.

SeetĂ”ttu korraldasime konverentsi The Next FPGA Platform San JosĂ©'s 22. jaanuaril. Loomulikult on ĂŒks maailma peamisi FPGA tarnijaid ja selle valdkonna pioneere ettevĂ”te Xilinx. Ivo Bolsens, ettevĂ”tte Xilinx vanemdirektor ja tehniline direktor, esines konverentsil ettekandega ja jagas oma mĂ”tteid selle kohta, kuidas Xilinx aitab luua muudetavaid arvutussĂŒsteeme andmekeskustele.

SĂŒsteemiarhitektide ja programmeerijate on kulunud piisavalt aega, et jĂ”uda mitmekesise andmekeskuseni, kus on esindatud erinevat tĂŒĂŒpi arvutusvĂ”imsus, mis lahendab arvutamise, salvestamise ja vĂ”rgu korraldamise ĂŒlesandeid. See nĂ€ib olevat vajalik, kuna Moore'i seaduse jĂ€rgimine erinevate CMOS-ide kasutamisel on ĂŒha raskem. Kunagi meie keel on endiselt seotud CPU-ga, ja me rÀÀgime endiselt "rakenduste kiirusest", pidades silmas programmide töö parendamist vĂ”rreldes sellega, mida saab teha ĂŒksnes CPU-dega. Aja jooksul muutuvad andmekeskused arvutusvĂ”imsuste, andmesalade ja nende kĂ”igi ĂŒhendavate protokollide kogumiks ning me naaseme selliste terminite juurde nagu "arvutused" ja "rakendused". HĂŒbriidarvutused saavad olema sama normaalsed kui tĂ€nased "pilveteenused", mis pĂ”hinevad tavalisel vĂ”i virtuaalmasinate, ja mingil hetkel kasutame lihtsalt sĂ”na "arvutused", et kirjeldada nende tööd. Mingil hetkel – ja tĂ”enĂ€oliselt aitavad sellele ajastule aktiivselt kaasa FPGA-d – nimetame seda jĂ€lle andmete töötlemiseks.

FPGA-de juurutamiseks andmekeskustesse on vajalik muuta mĂ”tteviisi. "MĂ”eldes tĂ€napĂ€evaste rakenduste kiirendamise viisidele, tuleb sĂŒĂŒvida nende aluspĂ”himĂ”tetesse, kuidas need tĂ€idetakse, milliseid ressursse kasutatakse, millele kulub aega, "selgitab Bolesens. – On vaja uurida ĂŒldprobleemi, mida ĂŒritate lahendada. Paljud rakendused, mis tĂ€napĂ€eval andmekeskustes töötavad, skaleeruvad, haarates suures koguses ressursse. VĂ”tame nĂ€iteks masinĂ”ppe, mis kasutab tohutult palju arvutusnode. Kuid rÀÀkides kiirusest, tuleb mĂ”elda mitte ainult arvutuste kiirendamisele, vaid ka infrastruktuuri kiirendamisele."

NĂ€iteks nende masinĂ”ppe operatsioonide puhul, mida Bolesens on praktiliselt uurinud, kulub umbes 50% ajast andmete edastamiseks edasi-tagasi hajutatud arvutusvĂ”imsuste vahel ja ainult ĂŒlejÀÀnud pool aega kulub arvutustele endile.

Just here, it seems to me, FPGA can help, as we can optimize both the computational aspects and the data transmission aspects for the application. And we can do this at the level of the overall infrastructure and at the chip level. This is one of the great advantages of FPGA, allowing for the creation of communication networks tailored to the specific needs of the application. Observing typical patterns of data movement in tasks related to artificial intelligence, I don't see the need for a complex architecture based on switches. A network with high data flow can be built. The same applies to neural network training tasks – a mesh network can be constructed with packet sizes adapting to the specific task. Using FPGA, data transmission protocols and circuit topology can be scaled and adapted very precisely for a specific application. And in the case of machine learning, it is also clear that we do not need double-precision floating-point numbers, and we can adjust this as well.

The difference between FPGA and CPU or specialized ASIC is that the latter are programmed during production, and after that, you cannot reconsider the types of computed data or computed elements, or the nature of the data flow through the device. FPGAs allow you to rethink if the operating conditions change.

In the past, this advantage came at a high cost when programming for FPGA was not for the faint-hearted. It is necessary to open FPGA compilers so that they integrate better with the tools used by programmers to create applications with parallel computations for CPU in C, C++, or Python, and to delegate part of the work to libraries that accelerate procedures on FPGA. This is precisely what the Vitis machine learning stack does, which underlies machine learning platforms like Caffe and TensorFlow, and has libraries for executing standard AI models or adding FPGA capabilities to tasks such as video transcoding, object recognition in video, data analysis, financial risk management, and any third-party libraries.

See kontseptsioon ei erine oluliselt Nvidia CUDA projektist, mis kĂ€ivitus kĂŒmme aastat tagasi ja suunab paralleelsed arvutused GPU-kiirenditele, samuti AMD ROCm tööriistakomplektist vĂ”i Inteli OneAPI projektist, mis lubab töötada erinevate CPU-de, GPU-de ja FPGA-dega.

KĂŒsimus on vaid selles, kuidas kĂ”ik need tööriistad omavahel seostuvad, et igaĂŒks saaks programmeerida arvutusvĂ”imet vastavalt oma soovidele. See on oluline, kuna FPGA-d on muutunud keerukamaks, palju keerukamaks kui ĂŒkski olemasolev CPU. Neid toodetakse kĂ”ige arenenumate tehnoloogiliste protsesside abil ja kĂ”ige kaasaegsemaid kiibi pakendamise tehnoloogiaid kasutades. Nad leiavad oma niĆĄi, kuna me ei saa enam raisata aega, raha, energiat ja intelligentsust – kĂ”ik need on liiga kallid ressursid.

„FPGA pakuvad tehnoloogilisi eeliseid,” ĂŒtleb Bolsens. „Ja see ei ole lihtsalt tavaline reklaam kohandatavuse ja ĂŒmberseadmise kohta. KĂ”igis olulistes rakendustes – masinĂ”pe, graafide analĂŒĂŒs, kĂ”rge sagedusega kauplemine ja nii edasi – on neil vĂ”imalus kohandada mitte ainult andmete edastusviisi, vaid ka mĂ€lu arhitektuuri – kuidas andmed liikuvad kiibi sees. Ja FPGA-des on oluliselt rohkem mĂ€lu kui teistes seadmetes. Samuti tuleb arvestada, et kui ĂŒlesanne ei mahu ĂŒhte FPGA-sse, saab seda skaleerida mitmele kiibile, vĂ€ltides neid puudusi, millega kokku puutute, skaleerides ĂŒlesandeid mitme CPU vĂ”i GPU peale.“

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster