Три года назад, 12 мая 2020 года, мы поделились статьей о 100G Открытый. исходный код Статьи о сетевых картах《Знакомство с Corundum, первым в отрасли сетевым адаптером 100 Гбит/с с открытым исходным кодом》,Впоследствии они поделились друг за другом множеством актуальной информации.Corundumверхняя пластинатести статьи о создании сред моделирования:《Выяснилось: насколько быстро обычный компьютер будет передавать файлы, если его заменить сетевой картой Xilinx Alveo U50 100G?》,《Введение в создание среды Corundum NIC 100 Гбит/с с открытым исходным кодом (1)》,《Введение в создание среды NIC Corundum с открытым исходным кодом 100 Гбит/с (2) Моделирование и восстановление проекта》,[Сухая информация] Ищем скрытые ошибки в открытом исходном коде 100G NIC Corundumждать。около двух лет назад,Мы решили исходя из Открытого исходный Корунд Архитектура по коду 100G Сетевая карта RDMA наконец-то получила стабильную версию. Ниже приводится подробное описание. Каждый может оставить сообщение для обсуждения и рекомендаций.
Традиционная технология TCP/IP требует обработки пакетов данных через операционную систему и другие уровни программного обеспечения, что приводит к частому копированию данных между системной памятью, кешем процессора и кешем сетевого контроллера, что увеличивает нагрузку на ЦП и память сервера, особенно в отношении пропускной способности сети. Задержка в сети еще больше усугубляется, когда скорость процессора не соответствует пропускной способности памяти. Технология RDMA обеспечивает низкую задержку и высокую пропускную способность за счет обхода и перегрузки обработки данных с ЦП на оборудование.
На основе этих исследований представлено решение для реализации сетевой карты FPGA с функцией RDMA — RNIC. Это решение основано на высокопроизводительной прототипной платформе Corundum с открытым исходным кодом и обеспечивает ускорение разгрузки стека сетевых протоколов RoCE v2 со скоростью 100 Гбит/с на основе сохранения собственного механизма PCIe DMA Corundum и других компонентов за счет точного разделения конструкции, логического соединения и повторного использования путей; встраивание стека сетевых протоколов RoCE v2 в конструкцию сетевой карты Ethernet. Решение поддерживает односторонние операции RDMA READ и RDMA WRITE, двусторонние операции SEND/RECV и немедленные операции. Оно обеспечивает механизм повторной передачи Back-to-N, обеспечивающий целостность передачи данных, обеспечивая при этом выдающуюся производительность до 256, и поддерживает. на основе Механизм контроля перегрузки алгоритма DCQCN обеспечивает гарантию крупномасштабного развертывания этого решения в таких сценариях, как центры обработки данных. Измеренный RNIC может обеспечить аппаратную сквозную задержку примерно в 4 мкс и пропускную способность до 96 Гбит/с.
Конкретные показатели и производительность реализованной нами сетевой карты 100G RDMA следующие:
Сценарий тестирования и схема подключения топологии следующие.
Результаты TCP-теста следующие.
Производительность TCP:Фактические измерения вLinuxВ системной среде,Топология сквозного соединения,Когда MTU=9214B,Когда не выполняется многоядерная оптимизация,этого планаiperf Пропускная способность TCP может достигать 59,7G бит/с загрузка процессора составляет около 12%; ; Общая задержка протокола TCP/IP составляет 100–200 микросекунд.
TCP-тестовый анализ:производительность Накладные расходы сосредоточены в системных вызовах стека протоколов ядра.、копия памяти、Обработка протоколов и обработка прерываний и т. д. Эти накладные расходы потребляют много ресурсов процессора.
Результаты теста RDMA следующие.
Производительность RDMA:существоватьLinuxВ системной среде,Та же тестовая топология,Отправьте с помощью сопутствующего драйвера и приложения.RDMAкоманда продолжитьтест。этого плана Сетевая карта Измеренная RDMA пропускная способность одностороннего семантического чтения и записи RDMA может достигать 96,28 ГБ. бит/с; загрузка ЦП не превышает 0,3%; аппаратная задержка сквозного чтения и записи составляет всего около 4 мкс.
Анализ теста RDMA:Когда размер сообщения превышает8KBчас,Пропускная способность системы может приближаться к полной пропускной способности,когда сообщение меньше,Пропускная способность будет значительно снижена. С одной стороны, причина в том, что увеличение накладных расходов заголовков кадров данных приводит к снижению эффективной пропускной способности.,с другой сторонысуществовать Ваппаратное дизайн программного обеспечения не может поддерживать более высокие скорости передачи сообщений. Задержка будет увеличиваться примерно линейно с размером сообщения, причем наибольшая задержка тратится на канал PCIe и сетевой канал, аппаратное Накладные расходы на обработку программного обеспечения очень малы.
Сравнивая результаты испытаний Ethernet и RDMA, можно увидеть, что при одинаковых аппаратных условиях сетевые карты, использующие технологию RDMA, могут иметь более высокую пропускную способность сети и меньшую задержку передачи, что подходит для сетей с высокой пропускной способностью, таких как облачные сервисы и центры обработки данных. В сценариях бизнес-требований технология RDMA может лучше удовлетворить реальные потребности, полностью высвободить ресурсы процессора, увеличить пропускную способность и снизить затраты.
В следующем видео подробно описана реальная тестовая ситуация: https://mpvideo.qpic.cn/0bc32yadgaaacqaeudjtpfsvbvwdgplaamya.f10002.mp4?
Нам предстоит много работы в будущем,Как мы делали перед добавлениемP4Программируемая работа([Verilog с открытым исходным кодом] Разработка высокопроизводительного анализатора с открытым исходным кодом, поддерживающего язык P4 для интеллектуальных сетевых карт или программируемых коммутаторов.),Преодолевая ограничения Corundum Архитектура, поддерживая миллионы пар QP и повышая производительность небольших пакетов.,Дальнейшая оптимизация таких задач, как управление потоками, управление перегрузками и балансировка нагрузки.,Дальнейшее повышение скорости передачи данных и стабильности сети центра обработки данных.