Конфигурирование технологии Intel QuickAssist в Linux VM на Lenovo ThinkSystem серверах
23, март 2023 https://lenovopress.lenovo.com/lp1709-configuring-intel-quickassist-technology-in-a-linux-vm
Введение
Технология Intel® QuickAssist (QAT) — это функция масштабируемых процессоров Intel Xeon, которая обычно используется для разгрузки задач ЦП сервера, таких как массовое шифрование, сжатие, распаковка и шифрование с открытым ключом. Клиентам, использующим виртуализацию, QAT предоставляет эксклюзивный доступ к виртуальным машинам с использованием метода, известного как сквозная передача устройств PCI. Это позволяет удалять устройства PCIe QAT с хоста и назначать их отдельным гостям. Технология Intel QuickAssist 2.0 теперь также поддерживает виртуализацию ввода-вывода с одним корнем (SR-IOV, Single Root I/O Virtualization) и масштабируемую виртуализацию ввода-вывода (SIOV, Scalable I/O Virtualization), чтобы обеспечить поддержку большего количества гостевых операционных систем. Начиная с масштабируемых процессоров Intel Xeon 4-го поколения, можно разделить физическое устройство QAT на несколько виртуальных устройств и назначить виртуальные устройства нескольким гостевым ОС. Концептуально гостевые операционные системы разделяют производительность одного физического QAT. В этом документе представлены рекомендации по включению QAT SR-IOV и передаче через виртуальное устройство на виртуальную машину, работающую в ОС на основе виртуальной машины ядра (KVM, Kernel Virtual Machine). Этот документ предназначен для администраторов Linux, которые хотят использовать QAT на сервере ThinkSystem для перехода к виртуальной машине. Все настройки основаны на RHEL9.1 (как хост-ОС, так и гостевая ОС) и ЦП Intel с QAT. Технология Intel® QuickAssist (QAT) — это функция масштабируемых процессоров Intel Xeon, которая обычно используется для разгрузки задач ЦП сервера, таких как массовое шифрование, сжатие, распаковка и шифрование с открытым ключом. Клиентам, использующим виртуализацию, QAT предоставляет эксклюзивный доступ к виртуальным машинам с использованием метода, известного как сквозная передача устройств PCI. Это позволяет удалять устройства PCIe QAT с хоста и назначать их отдельным гостям. Однако с крупномасштабным развертыванием виртуальных машин среде облачных вычислений требуется все больше и больше ресурсов QAT. Технология Intel QuickAssist 2.0 поддерживает виртуализацию ввода-вывода с одним корнем (SR-IOV) и масштабируемую виртуализацию ввода-вывода (SIOV), чтобы обеспечить поддержку большего количества гостевых операционных систем. Начиная с масштабируемых процессоров Intel Xeon 4-го поколения, можно разделить физическое устройство QAT на несколько виртуальных устройств и назначить виртуальные устройства нескольким гостевым ОС. Концептуально гостевые операционные системы разделяют производительность одного физического QAT. Аппаратная архитектураАппаратная архитектура QAT в масштабируемом процессоре Intel Xeon показана на рисунке ниже. Процессор состоит из нескольких интерфейсов ввода-вывода и модулей CHA/ядра, и эти модули подключены к ячеистому межсоединению. Сетка состоит из горизонтальных и вертикальных межсоединений. Каждое межсоединение представляет собой двунаправленный канал. Процессоры Intel Xeon 4-го поколения («Sapphire Rapids») имеют 0, 1, 2 или 4 ускорителя QAT, в зависимости от SKU процессора. Дополнительные сведения см. в таблице характеристик процессора в руководстве по продукту SR630 V3: Рис. 1. Intel QAT в архитектуре системы Sapphire Rapids (из документа Intel ID № 611488: Спецификация внешнего дизайна процессора Sapphire Rapids, том первый: Архитектура) В процессорах Intel Xeon Scalable 4-го поколения («Sapphire Rapids») QAT представляет собой ускоритель, интегрированный в корневой комплекс, который рассматривается как RCiEP (интегрированная конечная точка корневого комплекса), что означает, что QAT также является устройством PCIe, физическим устройством. Идентификатор — 0x4940, а идентификатор виртуального функционального устройства — 0x4941. В частности, для процессоров 4-го поколения каждый процессор имеет до четырех конечных точек QAT PCIe в одном корпусе ЦП, а аппаратное обеспечение предоставляет хосту одну физическую функцию (PF) на каждую конечную точку QAT PCIe. Когда SR-IOV включен, каждая физическая функция (PF) поддерживает до 16 виртуальных функций (VF), одна или несколько VF могут быть переданы разным гостям/VM, а одна или несколько PF могут быть переданы одной виртуальной машине. Режим виртуализацииПоддерживаются три различных метода виртуализации, как показано на следующем рисунке: прямое назначение физического устройства, ввод с одним корнем (SR-IOV) и масштабируемый ввод в действие. Рис. 2. Модель развертывания виртуализации для Intel® QAT 2.0 (из документа Intel ID № 743912: Руководство программиста Intel QuickAssist Technology Hardware Version 2.0) При прямом назначении физического устройства, показанном в левой части рисунка 2, QAT как устройство PCIE отображается как физическая функция (PF), каждый QAT имеет только один PF, каждый PF может быть передан только одной гостевой ОС, один или несколько PF могут быть переданы одной гостевой ОС. При использовании Single Root IOV (SR-IOV), показанном в середине рисунка 2, каждое устройство QAT может предоставлять один PF и несколько виртуальных функций (VF), максимальное количество VF составляет 16 в процессорах Intel Xeon Scalable 4-го поколения. Одна или несколько VF могут быть переданы в другую гостевую ОС. Масштабируемый IOV (SIOV) справа находится в разработке. SIOV обеспечивает гибкую композицию виртуальных функций с помощью программного обеспечения из собственных аппаратных интерфейсов вместо реализации полного интерфейса виртуальных функций (VF) SR-IOV. Устройства SIOV предоставляют облегченные интерфейсы назначаемых устройств (ADI), которые оптимизированы для операций быстрого пути (пути данных) от гостя. SIOV использует PASID, а не BDF для идентификации уникальных адресных пространств, что обеспечивает лучшую масштабируемость. Масштабируемые процессоры Intel Xeon 4-го поколения имеют до 64 ADI на сокет. Архитектура программного обеспеченияAPI-интерфейсы Intel QAT устанавливают интерфейс для доступа к оборудованию QAT. Благодаря API-интерфейсам QAT детали аппаратной и программной архитектуры прозрачны для пользовательских приложений. Тем не менее, некоторое знание базового оборудования и программного обеспечения полезно для оптимизации производительности и отладки. Краткий обзор программного стека показан на рисунке ниже. Рис. 3. Архитектура программного обеспечения Intel QAT (из документа Intel ID № 743912: Руководство программиста Intel QuickAssist Technology Hardware Version 2.0) В двух словах, есть три процесса для обработки запросов.
Информация о настройке QAT в UEFI - https://lenovopress.lenovo.com/lp1709-configuring-intel-quickassist-technology-in-a-linux-vm Дополнительная информацияДополнительные сведения см. в следующих ресурсах:
Сяочунь Ли (Xiaochun Li) — инженер Linux в группе Lenovo Infrastructure Solutions Group, базирующейся в Пекине, Китай. Он специализируется на разработке, связанной с хранением и управлением памятью ядра Linux, а также DRM ядра. До прихода в Lenovo он был системным инженером INSPUR. Имея восьмилетний опыт работы в отрасли, сейчас он занимается RAS, хранением, безопасностью и виртуализацией ядра Linux. Связанные семейства продуктовСемейства продуктов, относящиеся к этому документу, следующие: Товарные знакиLenovo и логотип Lenovo являются товарными знаками или зарегистрированными товарными знаками Lenovo в США и/или других странах. Текущий список товарных знаков Lenovo доступен в Интернете по адресу https://www.lenovo.com/us/en/legal/copytrade/ . Следующие термины являются товарными знаками Lenovo в США и/или других странах: Следующие термины являются товарными знаками других компаний: Intel® и Xeon® являются товарными знаками корпорации Intel или ее дочерних компаний. Linux® является товарным знаком Линуса Торвальдса в США и других странах. Другие названия компаний, продуктов или услуг могут быть товарными знаками или знаками обслуживания других лиц. |
|