Как мы все знаем, взрывной рост объемов интернет-данных привел к серьезным проблемам с вычислительной мощностью центров обработки данных.
Вычисления, хранение и сеть — это три движущие силы развития центров обработки данных.
С развитием ЦП, ГП и ПЛИС вычислительная мощность значительно возросла. Хранилище С появлением твердотельных накопителей (SSD) задержка доступа к данным значительно сократилась.
Однако развитие сети явно отстает, задержка передачи высока, постепенно становясь узким местом производительности ЦОД.
В центре обработки данных 70 % трафика приходится на восточно-западный трафик (трафик между серверами). Этот трафик обычно обрабатывает поток данных во время высокопроизводительных распределенных параллельных вычислений в центрах обработки данных и передается по сетям TCP/IP.
Если скорость передачи TCP/IP между серверами увеличится, производительность центра обработки данных также возрастет.
Передача TCP/IP между серверами
Процесс отправки сервером A данных на сервер B в центре обработки данных выглядит следующим образом:
- Данные управления ЦП копируются из буфера приложения А в буфер операционной системы.
- Данные управления процессором Добавьте заголовки TCP и IP в буфер операционной системы (ОС).
- Добавьте заголовки пакетов TCP и IP для отправки данных на сетевую карту и добавьте заголовки пакетов Ethernet.
- Пакет отправляется сетевым адаптером и передается на сетевой адаптер сервера B по сети Ethernet.
- Сетевой адаптер сервера B выгружает Ethernet-заголовок пакета и передает его в буфер операционной системы.
- ЦП выгружает заголовки пакетов TCP и IP в буфер операционной системы.
- ЦП управляет передачей неустановленных данных в буфер приложений.
Как видно из процесса передачи данных, данные несколько раз копируются в буфер сервера, а заголовки TCP и IP необходимо добавлять или удалять в операционной системе. Эти операции не только увеличивают задержку передачи данных, но и потребляют много ресурсов ЦП, что не может удовлетворить требования высокопроизводительных вычислений.
Итак, как построить высокопроизводительную сеть центра обработки данных с высокой пропускной способностью, сверхмалой задержкой и низкой нагрузкой на ЦП?
Технология RDMA может сделать это.
Что такое РДМА
Удаленный прямой доступ к памяти (RDMA) — это новая технология доступа к памяти, которая позволяет серверам считывать и записывать данные памяти с других серверов с высокой скоростью без трудоемкой обработки операционной системой/ЦП.
RDMA не является новой технологией и широко используется в высокопроизводительных вычислениях (HPC). С развитием спроса на высокую пропускную способность и малую задержку в центрах обработки данных, RDMA постепенно применяется в некоторых сценариях, требующих высокой производительности центров обработки данных.
Например, в 2021 году объем транзакций крупного онлайн-центра на фестивале покупок достиг нового рекорда в более чем 500 миллиардов юаней, увеличившись почти на 10% по сравнению с 2020 годом. За таким огромным объемом транзакций стоит массивная обработка данных. Онлайн-торговый центр использует технологию RDMA для поддержки высокопроизводительной сети и обеспечения плавного шоппинга.
Давайте рассмотрим некоторые приемы RDMA для уменьшения задержки.
RDMA напрямую передает данные серверного приложения из памяти на интеллектуальную сетевую карту (INIC) (упрощенный протокол RDMA), а аппаратное обеспечение INIC завершает инкапсуляцию пакетов передачи RDMA, освобождая операционную систему и ЦП.
Это дает RDMA два основных преимущества:
- Нулевая копия: Процесс, который устраняет необходимость копировать данные в ядро операционной системы и обрабатывать заголовки пакетов, что приводит к значительному сокращению задержки при передаче.
- Обход ядра и протокол Offзагрузка: ядро операционной системы не задействовано, и в пути данных нет сложной логики заголовка. Это уменьшает задержку и значительно экономит ресурсы ЦП.
Три основные сети RDMA
В настоящее время существует три типа сетей RDMA, а именно InfiniBand, RoCE (RDMA по конвергентному Ethernet) и iWARP (RDMA по TCP).
Первоначально RDMA был эксклюзивным для сетевой архитектуры Infiniband для обеспечения надежной передачи на аппаратном уровне, в то время как RoCE и iWARP являются технологиями RDMA на основе Ethernet.
InfiniBand
- InfiniBand — это сеть, разработанная специально для RDMA.
- Режим переадресации Cut-Through используется для уменьшения задержки пересылки.
- Механизм управления потоком на основе кредита гарантирует отсутствие потери пакетов.
- Для этого требуются выделенные сетевые адаптеры, коммутаторы и маршрутизаторы InfiniBand, которые имеют самую высокую стоимость построения сети.
РОСЕ
- Транспортным уровнем является протокол InfiniBand.
- RoCE поставляется в двух версиях: RoCEv1 реализуется на канальном уровне Ethernet и может передаваться только на уровне L2; RoCEv2 размещает RDMA на основе UDP и может быть развернут в сетях уровня 3.
- Поддержка выделенного интеллектуального сетевого адаптера RDMA, отсутствие необходимости в выделенном коммутаторе и маршрутизаторе (поддержка технологии ECN/PFC, снижение скорости потери пакетов), самая низкая стоимость построения сети.
iWARP
- Транспортным уровнем является протокол iWARP.
- iWARP реализован на уровне TCP протокола Ethernet TCP/IP и поддерживает передачу на уровне L2/L3. Соединения TCP в крупномасштабных сетях потребляют много ресурсов ЦП, поэтому используются редко.
- Для iWARP требуются только сетевые адаптеры для поддержки RDMA, без частных коммутаторов и маршрутизаторов и затрат между InfiniBand и RoCE.
Благодаря передовым технологиям, но высокой цене, Infiniband ограничивается высокопроизводительными вычислениями HPC. С появлением RoCE и iWARPC затраты на RDMA снижаются, а технология RDMA популяризируется.
Использование этих трех типов сетей RDMA в высокопроизводительных хранилищах и вычислительных центрах обработки данных может значительно снизить задержку при передаче данных и обеспечить более высокую доступность ресурсов ЦП для приложений.
Сеть InfiniBand обеспечивает высочайшую производительность для центров обработки данных с задержкой передачи всего 100 наносекунд, что на порядок ниже, чем у устройств Ethernet.
Сети RoCE и iWARP обеспечивают высокую производительность центров обработки данных и размещают RDMA через Ethernet, используя все преимущества высокой производительности RDMA и низкой загрузки ЦП, при этом не требуя больших затрат на создание.
RoCE на основе UDP работает лучше, чем iWARP на основе TCP, и в сочетании с технологией управления потоком Ethernet без потерь решает проблему чувствительности к потере пакетов. Сеть RoCE широко используется в высокопроизводительных центрах обработки данных в различных отраслях.
Заключение
С развитием 5G, искусственного интеллекта, промышленного Интернета и других новых областей применение технологии RDMA будет становиться все более и более популярным, и RDMA внесет большой вклад в производительность центров обработки данных.