Общественная практика|Реализовать разработку автоматической конфигурации RDMA в сценариях ИИ на основе оператора сети SR-IOV.
Общественная практика|Реализовать разработку автоматической конфигурации RDMA в сценариях ИИ на основе оператора сети SR-IOV.

В сценариях распределенного обучения ИИ ускорение межзадачного чтения сетевых данных с помощью удаленного прямого доступа к памяти (RDMA) стало предпочтительным решением для оптимизации производительности приложений ИИ. Возможности RDMA предоставляются интеллектуальными сетевыми картами. В среде Kubernetes сетевую карту необходимо виртуализировать в несколько субинтерфейсов с помощью таких решений, как SR-IOV или MacVlan. Каждый модуль использует возможности RDMA сетевой карты через субинтерфейс. интерфейсы для многократного использования одной карты. Inspur Yunhai сотрудничал с сообществом Kube-OVN для анализа болевых точек конфигурации SR-IOV, представил проект sriov-network-operator и оптимизировал болевые точки для реализации автоматической настройки RDMA сетевой карты, а также в сочетании с Kube-OVN предоставил комплексное прикладное решение RDMA для производственной среды.

01 Конфигурация RDMA и SR-IOV громоздка и имеет проблемы с сохранением.

При настройке RDMA и SR-IOV вам придется иметь дело с множеством параметров и различиями в конфигурации сетевых устройств разных производителей. Кроме того, проблемы с сохранением устройств RDMA VF и связанных обновлений с Kubernetes также усложняют управление и обслуживание.

1. Настройка RDMA SR-IOV громоздка. Процесс настройки требует инициализации максимального количества VF, ожидаемого количества VF, размера MTU, размера Vlan, конфигурации IOMMU и т. д. сетевого устройства SR-IOV. Конфигурации сетевых карт разных производителей также различаются. для загрузки льда модули ядра, такие как iavf и irdma, а также сетевые карты Mellanox, должны загружать связанные модули ядра, если имена сетевых карт нескольких узлов различаются, также необходимо установить разные сценарии конфигурации; Обычными решениями этой проблемы являются настройка операционной системы, сценарии автоматической настройки SR-IOV и т. д. Однако эти решения обладают недостаточной гибкостью, а процесс реализации является громоздким.

2. Проблема с сохранением устройства RDMA VF. Устройство RDMA VF создается путем динамической настройки и не может быть сохранено после сбоя в работе сервера узла или его обновления и перезапуска. Системные службы и пользовательские правила udev обычно используются для управления автоматическими сценариями для перенастройки VF при запуске сервера. Однако этот метод требует от разработчика разработки сценариев в соответствии с различными средами и не является универсальным.

3. Как обновить RDMA SR-IOV в связке с Kubernetes после настройки. Поскольку плагин устройства инициирует обнаружение и передачу информации об устройстве VF только один раз при запуске, вам необходимо вручную перезапустить плагин устройства после настройки RDMA SR-IOV для обновления информации VF в Kubernetes, чтобы гарантировать, что модули, которым требуются устройства RDMA, могут быть доступны. оборудование VF запланировано и распределено нормально. Когда в среду добавляется новая сетевая карта или изменяется количество VF и т. д. и необходимо обновить конфигурацию, после перенастройки RDMA SR-IOV, чтобы обеспечить доступность кластера Kubernetes и бизнеса, многое требуется много рабочей силы и времени, чтобы выселить поды и перезапустить сервер, чтобы обеспечить высокую доступность кластера. Этот процесс требует от исполнителя глубокого накопления технологий Kubernetes и сильных практических навыков.

02Автоматическая настройка через sriov-network-operator

Inspur Yunhai решил вышеуказанные проблемы, внедрив компонент sriov-network-operator. Благодаря декларативной конфигурации он реализует динамическую, автоматизированную и высокодоступную настройку SR-IOV, упрощает ручное управление SR-IOV и RDMA, а также повышает гибкость и удобство обслуживания системы, что делает ее более подходящей для облачных сред. Быстрое развертывание и динамические обновления.

Рабочий процесс sriov-network-operator, автоматически настраивающий SR-IOV, выглядит следующим образом:

Глобальный универсальный шаблон конфигурации SR-IOV:Поддерживает разные определения сетевых карт разных производителей для всех узлов.Конфигурация Ресурсы для хранения ожиданийSR-IOVСопутствующая информация,Включая имя сетевой карты, тип сетевой карты, ожидаемое количество VF, метки узлов и т. д. Конфигурация хранится в базе данных Etcd в виде ресурсов K8S.,Поддержка через Kubernetes Динамическая конфигурация API.

Шаблон конфигурации узла SR-IOV: Сопоставляется и наследуется от глобального шаблона конфигурации SR-IOV на основе текущей информации об узле. Информация о состоянии процесса настройки и ошибках также будет храниться в этом шаблоне.

Распределенный конфигуратор SR-IOV:Разверните набор демонов на каждом узле.SR-IOVКонфигурацияустройство,Отвечает за автоматическую обработку информации SR-IOV на этом узле. Его основные возможности включают в себя:

• Выполните подготовительные работы во время запуска, такие как включение параметров ядра IOMMU, загрузка драйвера ядра VFIO_PCI и т. д.

• Отслеживайте изменения в информации о ресурсах конфигурации SR-IOV этого узла в режиме реального времени и загружайте ее в конфигуратор как можно скорее.

• Поддерживает автоматическую настройку информации SR-IOV. В соответствии с ожидаемой информацией о конфигурации SR-IOV этого узла автоматически генерируется и выполняется сценарий конфигурации, а для обеспечения эффективности конфигурации поддерживаются такие операции, как вытеснение пода и перезапуск узла.

• Создавайте дифференцированные метаданные узлов, от которых зависит плагин устройства, и перезапускайте плагин устройства, чтобы реализовать отчеты об обнаружении VF, а также реализовать связь между компонентами Kubernetes.

• Поддерживает создание подробной информации о состоянии процесса настройки. Персонал по эксплуатации и техническому обслуживанию может быстро проверять ход выполнения, находить и решать проблемы с помощью информации о состоянии.

• Последовательно перезапускайте узлы, чтобы изменения конфигурации IOMMU, VF и другой информации вступили в силу, чтобы обеспечить высокую доступность кластера Kubernetes.

Основываясь на практике разработки и производственной среды, Inspur Yunhai внесла множество оптимизаций и улучшений на основе исходного оператора sriov-network-operator, например поддержку Kube-OVN OVS. Конфигурация VF сценария разгрузки, соответствующий Pod sriov-network-operator запланирован только для узлов с Feature.node.kubernetes.io/network-SR-IOV.capable=true, сетевая карта Intel загружает модуль ядра iavf, а Метод вытеснения пода изменен на принудительное удаление. Это позволяет избежать проблемы недоступности узла в течение длительного времени в случае сбоя выселения и т. д. и совместимо с сериями Mellanox CX, Intel X7/E8 и другими интеллектуальными сетевыми картами. Эти обновления были отправлены в проект sriov-network-operator сообщества Kube-OVN и будут работать «из коробки».

03: Общее решение Kube-OVN+SR-IOV для реализации сосуществования сети RDMA и стандартной сети Kubernetes.

В реальных производственных средах SR-IOV может обеспечить сеть RDMA для связи между модулями. Однако, поскольку технология SR-IOV обходит стек сетевых протоколов хоста, базовые возможности, такие как собственный сервис Kubernetes, использовать нельзя. Мы предоставляем как сеть RDMA, так и стандартную сеть K8S с помощью решения Kube-OVN+SR-IOV. Выполняя вышеуказанные функции, мы также можем достичь других возможностей, таких как многопользовательская крупномасштабная сеть, обеспечивающая более сильную изоляцию и безопасность данных клиентов. Общий план следующий:

В контейнере сеть RDMA и стандартная сеть Kubernetes используют независимые сетевые карты для реализации выделенных карт, обеспечивая полную реализацию возможностей сети RDMA. В то же время, используя Kube-OVN в качестве глобального IPAM (управление IP-адресами), управление IP-адресами контейнеров упрощается и достигается унифицированное планирование, выделение и освобождение IP-адресов, тем самым значительно повышая эффективность управления и повышая удобство обслуживания. контейнерная среда.

Это решение обеспечивает ключевую техническую поддержку для создания высокооптимизированной вычислительной среды искусственного интеллекта, способствует ее применению в крупномасштабной обработке данных и распределенных вычислениях, а также помогает ускорить разработку технологий искусственного интеллекта, чтобы удовлетворить растущий спрос на вычисления, обеспечивая надежную сеть. решения.

Справочные ссылки:

https://github.com/kubeovn/kube-ovn

https://github.com/kubeovn/SR-IOV-network-operator

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose