Разработан первый прототип на ПЛИС MALT со специализированными ускорителями

  

 Распределение ресурсов ПЛИС Xilinx Virtex 2000T
 для процессора с 49 ядрами общего назначения
 и 490 спецвычислителями (10 спецвычислителей на ядро)
 
 Желтый - специальные процессоры
 Зеленый - дочерние ядра
 Красный - шина SPB
 Синий - контроллер памяти, буферы контроллера памяти,
 перебирающий арбитр
 Фиолетовый - мастер ядра
 Коричневый - супер мастер ядро
 Голубой - контроллер PCIe

 

Производительность и энергоэффективность достигается с помощью специализации, простота программирования - с помощью универсальных конструкций. Мы попробовали объединить два эти подхода и разработали прототип на ПЛИС многоядерного процессора архитектуры MALT со специализированными ускорителями.

 

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

 

В такой системе к одному универсальному ядру может быть подключено несколько спецвычислителей. Количество спецвычислителей может меняться в достаточно широких пределах. В наших тестах использовались конфигурации с 4, 5, 10 и 25 ускорителями на одно ядро общего назначения. Количество ядер общего назначения при этом менялось от 94 до 15 соответственно. Оптимальное значение количества ядер общего назначения и количества спецвычислителей зависило от интенсивности обмена данными и вычислительной сложности каждой конкретной задачи. Полученная система обеспечивала, с одной стороны, гибкость универсального многопотокового процессора, с другой - производительность "заточенного" под конкретную задачу RTL-кода.

 

На днях завершилось первое серьёзное тестирование такого прототипа. В ходе тестов системы исследовалась производительность в задачах перебора ключей при различных потоках отобранных ключей. Были достигнуты значения скорости перебора до 61.25 ГКлючей/с, что составляет 99,86% от теоретического максимума. Были рассчитаны и экспериментально подтверждены оптимальные соотношения количества универсальных ядер и спецвычислителей на различных задачах. Была продемонстрирована практически 100% масштабируемость подхода MALT.