Видео: Энкодер ПЛИС (Ноември 2024)
Една от най-интересните тенденции, които съм виждал в сървърните изчисления, е отдалечаването от стандартните процесори и към извършването на повече обработка на графични чипове (GPU) и конфигурируеми процесори, известни като полеви програмируеми портални масиви (FPGAs). Това явление често се нарича хетерогенни изчисления.
Концепцията тук не е нова - графичните процесори и други ускорители се срещат все по-често при високоефективните компютри (HPC) или суперкомпютрите от години. Напоследък обаче чуваме повече за това как Intel е персонализирало някои пакети на сървърни чипове, за да включва FPGA, в допълнение към традиционния процесор, насочен главно към големи доставчици на облачни изчисления с висок мащаб, които имат специфични алгоритми, които могат да работят като хардуерни инструкции на FPGA. Това трябва да бъде много по-бързо от изпълнението им като софтуер на по-общите инструкции за процесора.
Това беше ключов двигател на скорошния план на Intel за придобиване на производителя на FPGA Altera. Изпълнителният директор на Intel Браян Крзанич заяви, че очаква до 30 процента от облачните натоварвания да имат някакво ускорение на FPGA до края на десетилетието. Microsoft вече използва Altera FPGA, за да захранва много от облачните си услуги като Bing search.
Има една голяма пречка за повечето компании, които използват FPGA (или по този начин графични процесори), в по-типични случаи на корпоративните изчисления: да се направи софтуерът да работи едновременно на тези чипове, заедно с процесора, е просто трудно. (За корпоративни натоварвания и дори HPC винаги ще ви трябват някои процесори; в други видове приложения, като мрежи, хардуерни компании може просто да използват FPGA.) За изчисленията на GPU видяхме неща като CUDA на Nvidia и Khronos Стандартът OpenCL на групата, който улеснява нещата и със сигурност сме виждали, че много алгоритми на HPC и машинно обучение използват графични процесори. Сега производителите на FPGA като Altera също поддържат OpenCL, но в по-общия случай на корпоративните изчисления това се оказва твърде трудно.
Напоследък разговарях с няколко компании, които се надяват да улеснят това.
Bitfusion е стартиране, което за първи път видях в TechCrunch Disrupt; технологията му има за цел да ви позволи да преместите приложение от процесора към графичен процесор или FPGA, без да го пренаписвате за всяка платформа. Както обясни изпълнителният директор Subbu Rama, пакетът сега работи, като търси общи библиотеки с отворен код, използвани от разработчиците на софтуер и заменя функциите в тях с функции, които могат да се възползват от графичния процесор или FPGA. Както той обясни, големите компании може да успеят да пренапишат кода си, но компаниите от средния пазар не могат. Приложенията включват научни изчисления, финансови приложения като анализ на риска и високочестотна търговия и анализи на данни, като например работа с данни от сензори за нефт и газ.
В крайна сметка той каза, че това може да работи с всеки език, който нарича такива библиотеки. Той отбеляза, че подмяната на библиотеките може да не е толкова ефективна, колкото писането на персонализиран код за FPGA или GPU, но е много по-лесно.
Bitfusion планира да предлага своите продукти в три различни модела - като чист софтуер за компании, които вече имат свои собствени ускорители; предварително инсталирани на уреди; или за приложения, разположени в облака, чрез партньорство с Rackspace. Първоначално това ще използва FPGA на Altera, въпреки че компанията казва, че може да работи и с други процесори. Рама казва, че първоначалните клиенти използват това сега, като обществената наличност се планира през следващите няколко месеца.
SRC предприема малко по-различен подход. Той създава „конфигурируеми сървъри“ за правителствените агенции от 1999 г. насам и сега прави решение, насочено към хиперразговорни центрове за данни и уеб операции. Наречен сървърът Saturn 1, той е патрон, който се включва в шасито на Moonshot на HP и SRC твърди, че може да осигури компютърна производителност, която обикновено е 100 пъти по-бърза от тази на традиционните микропроцесорни дизайни. (Компанията също така продава по-големи системи, монтирани на багажник и в пълен размер, обикновено за по-големите си клиенти.)
Това, което прави това различно, е специален компилатор, известен като Carte, който преобразува кода в силиконов дизайн, който може да работи на FPGA архитектура, според изпълнителния директор Джон Хупентал. Той ми каза, че SRC е прекарал години в създаването на компилатора, първоначално за бизнес клиенти, тъй като фирмата е основана от пионера на суперкомпютъра Seymour Cray и Jim Guzy през 90-те години. Една от разликите в подхода на SRC, според него, е, че Carte не е предназначен за генерични системи, а по-скоро е обвързан конкретно с архитектурата на SRC, което му придава повече производителност и последователност. Saturn 1 използва два FPGA на Altera - един, който управлява потребителски код; другият, който поддържа системата да работи бързо, заедно с един процесор Intel. В момента, добави той, компанията е на 12-тото си поколение преконфигурируеми процесори.
Това е по-скъпо решение, насочено най-вече към доста големи изчислителни центрове, но все пак е по-достъпно от по-ранните подходи.
Идеята за използване на FPGA или преконфигурируеми процесори за повече основни задачи не е нова. Въпреки това отне много време това да стане дори възможност за по-традиционни клиенти извън хардуерните дизайнери или военни приложения. Тези нови подходи могат да предпочетат старта на тази технология да стане по-често използван, но само ако подобренията в цената / производителността наистина съвпадат с претенциите на доставчика и технологията стане по-лесна за използване. Новите подходи са стъпка в тази посока.