Идея дезагрегации ресурсов, которые в последнее время становятся всё более разнообразными, далеко не нова. Выделенные аппаратные блоки, которые помогают перемещать данные между ресурсами, тоже в том или ином виде развиваются не первый год. Fungible же решила довести эту концепцию до логического конца, создав DPU (Data Processing Unit).
На конференции HotChips 32 компания рассказала о двух процессорах: Fungible F1 и S1. Первому из них и был посвящён основной доклад. F1 ориентирован на работу с хранилищами и безопасную обработку больших потоков данных, которые требуются современным системам ИИ и аналитики.
При взгляде «свысока» F1 представляет собой чип c двумя основными интерфейсами: 8 каналов 100GbE и 4 контроллера PCIe 3.0/4.0 x16. Тем не менее, это не просто очередная реализация RDMA или, допустим, NVMe-oF. Со стороны сети предполагается организация общей фабрики между всем узлами, которую разработчики называют TruFabric.
В отличие от многих других решений для фабрики здесь используется стандартный и относительно дешёвый Ethernet, а не PCIe, InfiniBand, Fibre Channel или какой-то проприетарный интерконнект. Весь трафик шифруется, а для реализации собственных функций разгрузки предлагается P4-подобный язык программирования.
Со стороны PCIe F1 может «представляться» серверу как ещё один адаптер (с SR-IOV), а может предоставлять и собственный root-комплекс для прямого подключения и абстракции других устройств: CPU, GPU, FPGA, NVMe SSD, HDD и так далее.
Fungible F1 помимо Ethernet и PCIe включает общий контроллер памяти, планировщик, управляющий блок и собственно блоки обработки данных. Все они объединены внутренней сверхбыстрой шиной. Контроллеры памяти обслуживают 8 Гбайт набортной HBM (4 Тбит/с) + внешние модули DDR4-2666 ECC с поддержкой NVDIMM-N, суммарный объём которых может достигать 512 Гбайт.
Блоков обработки данных (Data Cluster) в сумме восемь. Каждый из них имеет 6 ядер MIPS-64 общего назначения c SMT4. Их дополняют отдельные аппаратные акселераторы для поиска, передачи и сжатия объёма передаваемых данных, безопасности и защиты информации, а также для аналитики данных. Все ядра и акселераторы имеют общий кеш и менеджер памяти. Суммарно на чип приходится 48 ядер и 192 потока для обработки данных.
Управляет ими отдельный блок (Control Cluster), включающий 4 ядра MIPS-64 с SMT2, а также модули безопасности: изолированный анклав, генератор случайных чисел, аппаратный акселератор для работы с ключами шифрования. MIPS-ядра также имеют блоки FPU/SIMD и поддержку аппаратной виртуализации.
Программная часть представлена мини-ОС FunOS Nucleus, которая обеспечивает самые базовые функции. В блоках Data Cluster «живёт» FunOS, которая обслуживает пять программных стеков: сеть, хранилище, виртуализация, безопасность и аналитика. В Control Cluster работает сверхтонкий гипервизор FunVisor, поверх которого запущен Linux. Для ОС, гипервизора и ВМ, работающим на хост-процессоре x86 или ARM предлагаются драйверы и агенты.
Предварительные тесты действительно показывают значительное ускорение в некоторых нагрузках, а также достаточно высокий уровень производительности самих DPU и TrueFabric. При этом в отличие от SmartNIC и других подобных решений DPU от Fungible обещают быть намного универсальнее и вместе с тем проще в работе.
Fungible даже считает, что DPU должны стать одним из ключевых компонентов современных серверов в дата-центре, заняв третий по счёту сокет в системе после CPU и GPU. Таким образом, можно будет на лету «собирать» оптимизированные под конкретные задачи конфигурации из разрозненных ресурсов, объединённых DPU-хабами в единую фабрику.