Непазбежнасць пранікнення FPGA у дата-цэнтры

Непазбежнасць пранікнення FPGA у дата-цэнтры
Не трэба быць распрацоўшчыкам чыпаў, каб праграмаваць для FPGA, як не трэба быць праграмістам на З++, каб пісаць код на Java. Аднак у абодвух выпадках, верагодна, гэта будзе не лішнім.

Мэта камерцыялізацыі абедзвюх тэхналогій, Java і FPGA, у тым, каб абвергнуць апошнюю заяву. Добрыя навіны для FPGA – з выкарыстаннем прыдатных узроўняў абстракцыі і набору інструментаў у апошнія 35 гадоў, з тых часоў, як была вынайдзена праграмаваная лагічная прылада, ствараць алгарытмы і струмені дадзеных для FPGA замест CPU, DSP, GPU ці любой іншай формы адмысловых ASIC становіцца ўсё лягчэй.

Дзіўная своечасовасць іх стварэння выяўляецца ў тым, што як раз калі CPU ужо не маглі заставацца адзіным вылічальным модулем дата-цэнтраў для выканання мноства задач - па самых розных прычынах - FPGA дасягнулі сваёй эфектыўнасці, прапанаваўшы хуткадзейнасць, малую затрымку, сеткавыя магчымасці і памяць - разнастайныя. вылічальныя магчымасці сучасных FPGA SoC, якія ўяўляюць сабой практычна паўнавартасныя вылічальныя сістэмы. Аднак FPGA удала спалучаюцца і з іншымі прыладамі ў гібрыдных сістэмах, і, на нашу думку, толькі пачынаюць знаходзіць сваё законнае месца ў іерархіі вылічэнняў.

Таму мы арганізавалі канферэнцыю The Next FPGA Platform у Сан-Хасэ 22 студзеня. Натуральна, адным з галоўных пастаўшчыкоў FPGA у свеце і піянерам у гэтай галіне з'яўляецца кампанія Xilinx. Іва Больсэнс, старэйшы віцэ-праезідэнт і тэхнічны дырэктар Xilinx, выступіў на канферэнцыі з дакладам, і распавёў нам пра свае сённяшнія думкі, звязаныя з тым, як Xilinx дапамагае ствараць змяняныя вылічальныя сістэмы для дата-цэнтраў.

У сістэмных архітэктараў і праграмістаў сышло досыць чакай на ад, каб прыйсці да неаднароднага дата-цэнтра, у якім будуць прадстаўлены кампутарныя магутнасці рознага роду, вырашальныя задачы па вылічэннях, захоўванню і арганізацыі сетак. Гэта здаецца неабходным у сувязі з тым, што ісці за законам Мура з выкарыстаннем розных КМАП становіцца ўсё цяжэй. Пакуль наша мова ўсё яшчэ завязаная на CPU, і мы ўсё яшчэ гаворым пра «паскарэнне прыкладанняў», маючы на ​​ўвазе паляпшэнне працы праграм у параўнанні з тым, што можна зрабіць на адных толькі CPU. Праз нейкі час дата-цэнтры ператворацца ў наборы вылічальных магутнасцяў, сховішчаў дадзеных і якія злучаюць усё разам пратаколаў, і мы вернемся да такіх тэрмінаў, як "вылічэнні" і "прыкладанні". Гібрыдныя вылічэнні стануць такой жа нормай, як сённяшнія «хмарныя» сэрвісы, якія працуюць на аснове звычайных ці віртуальных машын, і ў нейкі момант мы будзем выкарыстоўваць проста слова «вылічэнні» для апісання іх працы. У нейкі момант - і, верагодна, наступу гэтай эры актыўна паспрыяюць FPGA - мы зноў будзем называць гэта апрацоўкай дадзеных.

Для ўкаранення FPGA у дата-цэнтры запатрабуецца змяніць выяву мыслення. «Разважаючы аб спосабах паскарэння сённяшніх прыкладанняў, даводзіцца дакопвацца да асноў таго, як яны выконваюцца, якія выкарыстоўваюцца рэсурсы, на што сыходзіць час, – тлумачыць Болсэнс. - Трэба вывучаць агульную праблему, якую вы спрабуеце вырашыць. Многія прыкладанні, якія працуюць у дата-цэнтрах сёння, маштабуюцца, захопліваючы вялікую колькасць рэсурсаў. Возьмем, да прыкладу, машыннае навучанне, якое выкарыстоўвае велізарную колькасць вылічальных вузлоў. Але кажучы аб паскарэнні, трэба думаць не толькі аб паскарэнні вылічэнняў, але і аб паскарэнні інфраструктуры».

Напрыклад, пры тых аперацыях, звязаных з машынным навучаннем, якія Болсэнс вывучаў на практыцы, прыкладна 50% часу траціцца на перадачу даных туды і сюды паміж раскіданымі вылічальнымі магутнасцямі, і толькі астатняя палова часу траціцца на самі вылічэнні.

«Менавіта тут, мне здаецца, і зможа дапамагчы FPGA, паколькі мы можам забяспечыць аптымізацыю як вылічальных аспектаў, так і аспектаў перадачы даных для дадатку. І мы можам рабіць гэта на ўзроўні агульнай інфраструктуры, і на ўзроўні чыпа. Гэта адна з вялікіх пераваг FPGA, якія дазваляюць ствараць сеткі сувязі пад канкрэтныя патрэбы прыкладання. Назіраючы за тыповымі заканамернасцямі перасоўвання дадзеных у задачах, злучаных з працай штучнага інтэлекту, я не бачу неабходнасці ў складанай архітэктуры на аснове камутатараў. Можна пабудаваць сетку з вялікім патокам дадзеных. Тое ж тычыцца і задач навучання нейросетей - можна пабудаваць ячэістую сетку з памерамі пакетаў, якія падладжваюцца пад пэўную задачу. З выкарыстаннем FPGA можна вельмі сапраўды маштабаваць і падладжваць пратаколы перадачы дадзеных і тапалогію схемы для канкрэтнага прыкладання. А ў выпадку з машынным навучаннем таксама ясна, што нам не патрэбныя лікі з якая плавае коскі падвойнай дакладнасці, і гэта мы таксама можам падбудаваць».

Розніца паміж FPGA і CPU ці спецыялізаванай ASIC у тым, што апошнія праграмуюцца пры вытворчасці, і пасля гэтага вы ўжо не можаце перадумаць наконт тыпаў вылічаных дадзеных ці вылічаных элементаў, ці наконт прыроды струменя дадзеных ідучых праз прыладу. FPGA дазваляюць вам раздумацца, калі зменяцца ўмовы працы.

У мінулым гэтая перавага абыходзілася дорага, калі праграмаванне пад FPGA было прызначана не для слабых духам. Трэба адкрыць кампілятары для FPGA, каб яны лепш інтэграваліся з прыладамі, выкарыстоўванымі праграмістамі для стварэння прыкладанняў з паралельнымі вылічэннямі для CPU на мовах C, C++ ці Python, і аддаць частку працы бібліятэкам, якія паскараюць працэдуры на FPGA. Гэтым і займаецца стэк для машыннага навучання Vitis, які знаходзіцца ў аснове такіх платформаў для МА, як Caffe і TensorFlow, і які мае бібліятэкі для запуску звычайных ІІ-мадэляў або дадання магчымасцяў FPGA да такіх задач, як перакадаванне відэа, распазнанне аб'ектаў на відэа, аналіз дадзеных , кіраванне фінансавымі рызыкамі і любымі іншымі бібліятэкамі.

Гэтая канцэпцыя не моцна адрозніваецца ад праекту CUDA ад Nvidia, запушчанага дзесяць гадоў назад, і які перакладае раўналежныя вылічэнні на GPU-паскаральнікі, ці ад набору прылад ROCm ад AMD, ці ад абяцанняў праекту Intel, OneAPI, які павінен працаваць на розных CPU, GPU і FPGA.

Пытанне толькі ў тым, як усе гэтыя прылады будуць злучаны разам, каб любы чалавек змог запраграмаваць набор вылічальных магутнасцяў па сваім меркаванні. Гэта важна таму, што FPGA сталі складаней, значна складаней любога з наяўных CPU. Іх вырабляюць з найболей перадавымі тэхналагічнымі працэсамі і пры дапамозе найболей сучасных тэхналогій пакавання чыпаў. І яны знойдуць сваю нішу, паколькі мы ўжо больш не можам дарма марнаваць час, грошы, энергію і інтэлект - усё гэта занадта дарагія рэсурсы.

«FPGA прапануе тэхналагічныя перавагі, – кажа Болсэнс. - І гэта не проста звычайная рэклама наконт адаптавальнасць і пераналаджвальнасці. Ва ўсіх важных прыкладаннях - машыннае навучанне, аналіз графаў, высакахуткасная гандаль, і да т.п. – у іх ёсць магчымасць адаптаваць да канкрэтнай задачы не толькі шлях распаўсюджвання дадзеных, але і архітэктуру памяці – тое, як дадзеныя перамяшчаюцца ў рамках чыпа. А яшчэ ў FPGA убудавана значна больш памяці, чым у іншыя прылады. Таксама варта ўлічыць, што калі задача не месціцца ў адзін FPGA, можна маштабаваць яе на некалькі чыпаў, не сутыкаючыся з тымі недахопамі, якія чакаюць вас пры маштабаванні задач на некалькі CPU ці GPU».

Крыніца: habr.com

Дадаць каментар