FPGA ma'lumotlar markazlariga kirishining muqarrarligi

FPGA ma'lumotlar markazlariga kirishining muqarrarligi
Java-da kod yozish uchun C++ dasturchisi bo'lish shart bo'lmaganidek, FPGA-larni dasturlash uchun chip dizayneri bo'lish shart emas. Biroq, ikkala holatda ham, ehtimol, foydali bo'ladi.

Java va FPGA texnologiyalarini tijoratlashtirishdan maqsad oxirgi da'voni rad etishdir. FPGA uchun yaxshi yangilik - dasturlashtiriladigan mantiqiy qurilma ixtiro qilinganidan beri so'nggi 35 yil ichida to'g'ri abstraksiya qatlamlari va asboblar to'plamidan foydalanib, CPU, DSP, GPU yoki boshqa har qanday maxsus ASIC shakllari o'rniga FPGA uchun algoritmlar va ma'lumotlar oqimlarini yaratish aylandi. tobora keng tarqalgan. osonroq.

Ularning yaratilishining hayratlanarli dolzarbligi shundan dalolat beradiki, protsessorlar turli sabablarga ko'ra ko'plab vazifalarni bajarish uchun ma'lumotlar markazlarining yagona hisoblash moduli bo'lib qola olmaganida, FPGAlar tezlik, past kechikish va tarmoq imkoniyatlarini taklif qilgan holda o'zlarining samaradorligiga erishdilar. va xotira - deyarli to'laqonli hisoblash tizimlari bo'lgan zamonaviy FPGA SoC-larning heterojen hisoblash imkoniyatlari. Biroq, FPGAlar gibrid tizimlardagi boshqa qurilmalar bilan ham muvaffaqiyatli birlashtiriladi va bizning fikrimizcha, ular hisoblash ierarxiyasida o'zlarining munosib o'rinlarini endigina topa boshlaydilar.

Shuning uchun biz 22-yanvar kuni San-Xoseda The Next FPGA Platform konferensiyasini tashkil etdik. Tabiiyki, dunyodagi asosiy FPGA yetkazib beruvchilaridan biri va bu sohada kashshof Xilinx hisoblanadi. Xilinx kompaniyasining katta vitse-prezidenti va bosh texnologiya direktori Ivo Bolsens konferentsiyada so'zga chiqdi va Xilinx ma'lumotlar markazlari uchun o'zgaruvchan hisoblash tizimlarini yaratishga qanday yordam berayotgani haqida bizga o'z fikrlarini bildirdi.

Tizim arxitektorlari va dasturchilariga hisoblash, saqlash va tarmoqqa ulanishdagi muammolarni hal qiladigan har xil turdagi kompyuter quvvatlarini o'z ichiga olgan heterojen ma'lumotlar markazini yaratish uchun ko'p vaqt kerak bo'ldi. Turli CMOS qurilmalari yordamida Mur qonuniga amal qilish tobora qiyinlashib borayotganligi sababli bu zarur ko'rinadi. Hozircha bizning tilimiz protsessorga asoslangan va biz hali ham "ilovalarni tezlashtirish" haqida gapiramiz, ya'ni dasturlarni faqat protsessorlarda bajarilishi mumkin bo'lgan narsadan yaxshiroq ishlaydi. Vaqt o'tishi bilan ma'lumotlar markazlari hisoblash quvvati, ma'lumotlarni saqlash va hamma narsani bir-biriga bog'laydigan protokollar to'plamiga aylanadi va biz "hisoblash" va "ilovalar" kabi atamalarga qaytamiz. Gibrid hisoblashlar ish stoli yoki virtual mashinalarda ishlaydigan bugungi bulut xizmatlari kabi odatiy holga aylanadi va bir nuqtada biz ularning qanday ishlashini tasvirlash uchun oddiygina "hisoblash" so'zidan foydalanamiz. Bir nuqtada - va ehtimol FPGAlar ushbu davrni boshlashga yordam beradi - biz uni yana ma'lumotlarni qayta ishlash deb ataymiz.

Ma'lumotlar markazlarida FPGA-larni qabul qilish fikrlash tarzini o'zgartirishni talab qiladi. "Bugungi ilovalarni tezlashtirish yo'llari haqida o'ylar ekansiz, ular qanday ishlashi, qanday resurslardan foydalanilishi, vaqt qayerga sarflanishi kabi asoslarga o'tishingiz kerak", deb tushuntiradi Bolsens. - Siz hal qilmoqchi bo'lgan umumiy muammoni o'rganishingiz kerak. Bugungi kunda ma'lumotlar markazlarida ishlaydigan ko'plab ilovalar katta hajmdagi resurslarni iste'mol qiladi. Masalan, juda ko'p sonli hisoblash tugunlaridan foydalanadigan mashinani o'rganishni olaylik. Ammo biz akseleratsiya haqida gapirganda, nafaqat hisoblashni tezlashtirish, balki infratuzilmani tezlashtirish haqida ham o‘ylashimiz kerak”.

Misol uchun, Bolsens amaliyotda o'rgangan mashinani o'rganish operatsiyalari turida vaqtning taxminan 50% dispers hisoblash quvvati o'rtasida ma'lumotlarni oldinga va orqaga uzatishga sarflanadi va qolgan yarmi faqat hisob-kitoblarning o'zi uchun sarflanadi.

"Menimcha, bu erda FPGA yordam berishi mumkin, chunki biz dasturning hisoblash va aloqa jihatlarini optimallashtirishni ta'minlay olamiz. Va biz buni umumiy infratuzilma darajasida va chip darajasida qilishimiz mumkin. Bu FPGA-larning katta afzalliklaridan biri bo'lib, muayyan dastur ehtiyojlari uchun aloqa tarmoqlarini yaratishga imkon beradi. AI ish yuklarida ma'lumotlar harakatining odatiy naqshlariga asoslanib, men murakkab kalitlarga asoslangan arxitekturaga ehtiyoj sezmayapman. Katta ma'lumotlar oqimi bilan tarmoq qurishingiz mumkin. Xuddi shu narsa neyron tarmoqni o'qitish vazifalariga ham tegishli - siz ma'lum bir vazifaga moslashadigan paket o'lchamlari bilan to'r tarmog'ini qurishingiz mumkin. FPGA-dan foydalanib, ma'lumotlarni uzatish protokollari va kontaktlarning zanglashiga olib keladigan topologiyalari juda aniq o'lchanishi va ma'lum bir dasturga moslashtirilishi mumkin. Mashinani o'rganishda esa, bizga ikki tomonlama aniqlikdagi suzuvchi nuqta raqamlari kerak emasligi aniq va biz buni ham sozlashimiz mumkin.

FPGA va protsessor yoki maxsus ASIC o'rtasidagi farq shundaki, ular zavodda dasturlashtirilgan va bundan keyin siz hisoblanayotgan ma'lumotlar turlari yoki hisoblanayotgan elementlar yoki ma'lumotlarning tabiati haqida fikringizni o'zgartira olmaysiz. qurilma orqali oqadi. FPGAlar, agar ish sharoitlari o'zgarsa, fikringizni o'zgartirishga imkon beradi.

Ilgari, bu afzallik qimmatga tushdi, qachonki FPGA dasturlash ko'ngildagidek bo'lmagan. Dasturchilar C, C++ yoki Python tillarida protsessorga parallel ilovalarni yozishda foydalaniladigan vositalar bilan yaxshiroq integratsiya qilish uchun FPGA kompilyatorlarini ochish va ishlarning bir qismini FPGA-larda protseduralarni tezlashtiradigan kutubxonalarga topshirish zarurati. Bu Vitis mashinasini o‘rganish stekining bajaradigan ishi, Caffe va TensorFlow kabi ML platformalarini, an’anaviy AI modellarini ishga tushirish uchun kutubxonalar yoki videoni transkodlash, video obyektni aniqlash va ma’lumotlar tahlili kabi vazifalarga FPGA imkoniyatlarini qo‘shish. , moliyaviy risklarni boshqarish va har qanday uchinchi. - partiya kutubxonalari.

Bu kontseptsiya Nvidia’ning o‘n yil avval ishga tushirilgan CUDA loyihasidan unchalik farq qilmaydi, u parallel hisoblashni GPU tezlatkichlariga yuklaydi yoki AMD’ning ROCm asboblar to‘plamidan yoki Intel’ning turli protsessorlar, GPU’lar va FPGA’larda ishlashi kerak bo‘lgan OneAPI loyihasi va’dasidan farq qilmaydi.

Bitta savol shundaki, har qanday odam o'z xohishiga ko'ra hisoblash quvvatlari to'plamini dasturlashi uchun ushbu vositalarning barchasi bir-biriga qanday bog'lanadi. Bu juda muhim, chunki FPGA-lar mavjud protsessorlarning har qandayiga qaraganda ancha murakkab va murakkabroq bo'lib qoldi. Ular eng ilg'or ishlab chiqarish jarayonlari va eng zamonaviy chipli qadoqlash texnologiyalaridan foydalangan holda ishlab chiqariladi. Va ular o'z joylarini topadilar, chunki biz endi vaqt, pul, energiya va aqlni behuda sarflay olmaymiz - bularning barchasi juda qimmat manbalar.

"FPGA'lar texnologik afzalliklarni taklif qiladi", deydi Bolsens. - Va bu shunchaki moslashuvchanlik va qayta konfiguratsiya haqidagi odatiy reklama emas. Barcha muhim ilovalarda - mashinani o'rganish, grafik tahlili, yuqori tezlikdagi savdo va boshqalar. - ular ma'lum bir vazifaga nafaqat ma'lumotlarni tarqatish yo'lini, balki xotira arxitekturasini ham moslashtirish qobiliyatiga ega - ma'lumotlar chip ichida qanday harakatlanadi. FPGA-lar boshqa qurilmalarga qaraganda ko'proq xotiraga ega. Shuni ham hisobga olish kerakki, agar vazifa bitta FPGAga mos kelmasa, siz bir nechta protsessorlar yoki GPUlar bo'ylab vazifalarni masshtablashda sizni kutayotgan kamchiliklarga duch kelmasdan, uni bir nechta chiplar bo'ylab o'lchashingiz mumkin.

Manba: www.habr.com

a Izoh qo'shish