Компания Microchip Technology сообщила о разработке технологии ZeroQ, призванной повысить эффективность использования NVMe SSD в крупномасштабных ИИ-системах. Утверждается, что ZeroQ создаёт «зелёную супермагистраль», позволяя тысячам ИИ-ядер напрямую получать доступ к твердотельным накопителям с интерфейсом PCIe.
В традиционных архитектурах для связи CPU с NVMe SSD используется механизм пар очередей: для каждого ядра на стороне хоста формируются очереди отправки (Submission Queues, SQ) и завершения (Completion Queues, CQ). В SQ помещаются новые запросы на выполнение операций, тогда как в CQ записываются готовые результаты. Такой подход исключает лишние системные вызовы и копирование содержимого памяти.
Источник изображений: Microchip
Описанный механизм эффективно работает в обычных CPU-средах, но в случае тысяч ИИ-ядер возникают проблемы, связанные с задержками, сохранением корректного порядка команд и пропускной способностью. В результате, повышается энергопотребление и ухудшается производительность. Кроме того, требуется применение дорогостоящих NVMe ASIC, отвечающих за логику работы. Microchip отмечает, что по мере масштабирования систем ИИ решение этих проблем становится всё более сложным.
Технология ZeroQ позволяет устранить узкие места архитектуры SQ/CQ путём создания высокоэффективного канала прямого обмена данными между ядрами ИИ-ускорителей и накопителями NVMe. В рамках ZeroQ все ИИ-ядра используют один регистр списка команд (ZeroQ Command List Register) для каждого накопителя NVMe. При этом каждое ядро поддерживает собственные списки команд. Ядра инициируют операцию записи в память, передавая 64-бит адрес своего списка команд в регистр ZeroQ. Далее аппаратный блок внутри системы забирает этот адрес из регистра, помещает его в FIFO-очередь внутри самого SSD и запускает обработку. В одном списке команд может быть несколько операций — это позволяет обрабатывать их параллельно, что повышает эффективность по сравнению с классической моделью SQ/CQ.
В целом, как заявляет Microchip Technology, архитектура ZeroQ обладает рядом существенных преимуществ перед обычным подходом. Одним из них является эффективная масштабируемость для развёртываний, насчитывающих до 10 тыс. ИИ-ядер и более (в перспективе — до 100 тыс. ядер). Вместо применения сложной кремниевой логики на хосте нагрузка переносится в память самого SSD (используется SDRAM накопителя), что экономит ресурсы. Обеспечиваются прямой доступ к SSD, поддержка больших списков команд, совместимость с существующими экосистемами PCIe, NVMe и SR-IOV. Плюс к этому устраняется необходимость в блокировках и синхронизации между ядрами на стороне хоста.
В рамках новой концепции драйвер хоста отвечает за такие функции, как распределение ресурсов ZeroQ SSD между ядрами ИИ во время инициализации системы на основе настраиваемых политик, а также формирование списков команд ZeroQ для приложений ИИ. Встроенная микропрограмма SSD выступает в роли оркестратора, распределяя трафик между протоколом ZeroQ и традиционным каналом SQ/CQ. При этом SSD-накопитель извлекает списки команд ZeroQ из оперативной памяти хоста.
Источник: servernews.ru