Центры обработки и хранения данных (ЦХОД) скоро неизбежно перейдут на ПЛИС (FPGA).

Вы можете не быть инженером-проектировщиком, чтобы программировать на ПЛИС, как Вы можете не быть С++ программистом для создания кода для Java, но подобные знания могут оказаться полезны, если Ваша цель – быть профессионалом в данных областях.

Коммерциализация обеих технологий – ПЛИС и Java – связана с тем, чтоб указанное выше мысль становилась все большим заблуждением. Процесс создания алгоритмов и потоков данных, которые реализуются непосредственно в микросхеме ПЛИС, а не в ЦП, DSP графическом редакторе или специализированном ASIС, постоянно упрощается вот уже 35 лет – с момента изобретения ПЛИС. Достаточно лишь иметь соответствующие уровни абстракции и необходимый набор инструментов.

Центры обработки и хранения данных на ПЛИС Fpga Xilinx

Вычислительные мощности современных датацентров по ряду причин уже не имеют возможности ограничиваться производительностью ЦП. Данную ситуацию могут решить микросхемы ПЛИС, обладающие высокой производительностью, низкими задержками и быстрой памятью, а использование систем на кристалле с ПЛИС позволяет реализовать сложнейшие сети и гетерогенные вычисления. СнК теоретически способны самостоятельно производить все необходимые операции и вычисления, и представляют собой полноценные системы в рамках линейки высокоуровневых продуктов от поставщиков ПЛИС. Микросхемы ПЛИС обладают высоким потенциалом и широкими возможностями совмещения с другими устройствами в рамках гибридных систем, что позволяет говорить, что ПЛИС прочно займут высокое место в иерархии вычислительных устройств.

Указанные выше факторы, как и многие другие, стали причиной для проведения события под названием The Next FPGA Platform (22.01.2020 – Glass House, San Jose). Как известно, Xilinx – один из крупнейших поставщиков ПЛИС в мире, а также один из первооткрывателей в этой области. Иво Больсенс, старший вице-президент и директор по технологиям в компании Xilinx, поделился своими мыслями о дальнейших перспективах развития технологии применительно к датацентрам.

Системные архитекторы и программисты потратили немало времени и усилий для создания гетерогенных датацентров, использующих все типы вычислительных механизмов, необходимых для решения задач по вычислению, хранению данных, обеспечения работоспособности сетей. При этом, с учетом особенностей полупроводниковых КМОП микросхем, развитие ПЛИС не соответствует закону Мура. ЦП по прежнему считается точкой отсчета и рассуждения идут об «ускорении приложений», имея ввиду то, что возможно добиться лучшей производительности, чем используя только ЦП. Спустя годы, датацентры будут представлять собой наборы вычислительных узлов, накопителей данных и сетевых протоколов, функционирующих согласованно (или нет). Именно тогда снова появятся рассуждениям о «вычислениях» и «приложениях». Гибридные вычисления будут являться столь же привычны, как и стандартизированные вычисления, проводимые физическими и виртуальными машинами, а также контейнерами, которые сегодня называют «облачными». Они станут просто «вычислениями» - без использования слова «гибридные» в будущем лексиконе IT-специалистов. Вероятно, ПЛИС также вступят в эту эпоху, и мы снова начнем называть этот процесс обработкой данных.

Центры обработки и хранения данных скоро неизбежно перейдут на ПЛИС.Применение ПЛИС Xilinx в датацентрах требует кардинально новых подходов. По словам Болсенса, желая ускорить какое-либо современное приложение, необходимо изучить различные аспекты: особенности выполнения, используемые ресурсы и распределение времени. Данный вопрос требует всестороннего изучения, ведь для масштабирования большинства приложений датацентров требуется выделение огромного количества ресурсов. Например, для реализации машинного обучения используют огромное количество вычислительных узлов. Однако, говоря об ускорении, необходимо рассматривать не только аспект повышения вычислительной мощности, но и увеличение производительности инфраструктуры всей системы в целом.

Например, при реализации все того же процесса машинного обучения, более половины времени занимает обмен данными между вычислительными кластерами, и лишь оставшаяся часть времени используется непосредственно на сам процесс вычисления.

«Это именная та область, в которой технология ПЛИС может оказаться наиболее полезной, обеспечив наилучшую оптимизацию приложений, повышая скорость и вычислительных процессов. Процессов передачи данных. Мы способны сделать это как на уровне кристалла, так и всей инфраструктуры. В этом заключается одно из основных преимуществ ПЛИС, благодаря которому мы способны создавать специализированные сети связи. Оценивая процесс передачи данных в приложениях с логическим выводом на основе машинного обучения, имеющих стандартный поток данных, триггерная архитектура не всегда оказывается целесообразной для увеличения производительности. Вы сможете организовать сеть с возможностью передачи увеличенного потока данных. То же самое касается и процесса машинного обучения, для реализации которого можно организовать mesh-сеть с размерами передаваемых пакетов данных, соответствующим поставленной задаче. ПЛИС обеспечивает возможность масштабирования и тонкой настройки протоколов связи и топологии в приложениях. Как видно из приложений с логическим выводом и технологией машинного обучения, удвоенная точность чисел с плавающей запятой не является необходимостью, и мы можем внести соответствующие корректировки.»

Существенная разница между ПЛИС и ЦП (или ASIC) состоит в том, что последние являются жестко запрограммированными устройствами, которые не позволяют вам менять типы вычисляемых данных или вычислительных элементов, которые сопоставляются по форме, числу или характеру потока данных, передаваемых через устройство во внешний мир. ПЛИС позволяют вносить соответствующие корректировки, при изменении условий их функционирования - в этом заключается их важное преимущество.

Единая программная платформа для разработчиков Xilinx Vitis для работы с плис fpgaМы говорим о ПЛИС, которые в прошлом стоили очень дорого и программировались настоящими энтузиастами. Теперь все изменилось благодаря специальным компиляторам, совместимым с инструментами, которые используют программисты для создания приложений с параллельными вычислениями на C, C++, Python или других языках программирования. Необходимый код переносится компилятором в библиотеки для быстрого выполнения процедур на FPGA. Это именно то, что представляет собой стек машинного обучения Vitis, который находится уровнем ниже фреймворков Caffe и TensorFlow и использует библиотеки для запуска прямых моделей ИИ или алгоритмов ИИ на FPGA для выполнения задач, требующих максимальных ресурсов, таких как транскодирование видео, распознавание изображений и видео, анализ данных, управление финансовыми рисками, а также многие другие варианты применения, находящиеся на данный момент в процессе разработки.

Эта концепция схожа с той, которую использовала компания Nvidia для реализации среды параллельных вычислений и разгрузки CUDA с ускорителями графических процессоров 10 лет назад. Ее также используют AMD в технологии ROCm и Intel в технологии OneAPI.

Теперь встает главный вопрос: как связать между собой все эти инструменты, чтобы обеспечить возможность программирования любого числа вычислительных устройств на свое усмотрение? Это важно по простой причине – ПЛИС эволюционировали, они производятся с использованием самых передовых технологий и стали настолько же сложны, как и ЦП. И потенциал ПЛИС наконец будет признан, поскольку мы больше не можем себе позволить чрезмерные затраты таких важных ресурсов, как время, энергия и интеллект.

По мнению Болсенса, ПЛИС обладают высокой внутренней технической ценностью, и речь идет о чем-то большем, чем простые адаптируемость и реконфигурируемость. Эти устройства позволяют адаптировать не только канал передачи данных для решения специфической проблемы (машинное обучение, анализ, высокочастотный трейдинг и прочие), но и всю архитектуру (принципы организации потоков данных внутри кристалла). Кроме того, ПЛИС обладают большими объемами внутренней памяти, чем любое другое устройство. Если один чип не способен справиться с поставленной задачей, у вас всегда есть возможность масштабировать систему, добавив несколько микросхем ПЛИС. При этом вы не столкнетесь с проблемами, которые характерны при масштабировании систем на основе ЦП или графических чипов.

Оригинал статьи.

Перевод: ГК Макро Групп - официальным дистрибьютором ПЛИС Xilinx.

Редактор: Павел Сацердовинженер по применению Xilinx.

Любые вопросы по продукции Xilinx задавайте по адресу fpga@macrogroup.ru или по телефону 8 (800) 333-06-05.