Дает ли DPDK/RDMA между двумя машинами меньшую задержку, чем ping локального хоста

Я знаю, что петля будет проходить через сетевой стек ядра до тех пор, пока не достигнет уровня IP, включая накладные расходы на системные вызовы и некоторые накладные расходы на копирование памяти. DPDK и RDMA используют разные технологии, чтобы избежать этого.
Итак, скажем, у меня есть две машины, соединенные dpdk/rdma, затем я провожу тест на задержку сети, будет ли это быстрее, чем петля только на одной машине? Я провел быстрый тест ping localhostна процессоре E5-2630 v4 @ 2,20 ГГц, что в среднем составляет 0,010 мс.

Я задался этим вопросом, когда тестировал свой кластер ceph с помощью vstart.sh. Я хочу минимизировать задержку в сети, чтобы тщательно проанализировать, как код, связанный с osd-, влияет на задержку.

0
задан 23 February 2021 в 09:38
1 ответ

судя по беседе в комментариях, настоящий вопрос Does DPDK/RDMA between 2 machines gives lower latency than localhost ping.

[Ответ] да, вы можете добиться того же. Но есть некоторые оговорки

  1. DPDK rte_eth_tx_burstтолько ставит в очередь дескриптор пакета для DMA на PCIe для отправки трафика. Это фактически не отправляет пакет.
  2. DPDK rte_eth_tx_buffer_flushявно сбрасывает все ранее буферизованные пакеты на оборудование.
  3. Манипулировать ICMP-запросом (буфером)RX, изменяя каждый байт, дорого; вместо этого выберите rte_pktmbuf_allocдля захвата mbuf и установите для ref_cnt значение 250.
  4. подготовьте новый буфер с правильными данными полезной нагрузки Ethernet, IP и ICMP

, следовательно, с правильным сетевым адаптером (, который поддерживает передачу с малой задержкой), буфер DPDK API rte_eth_tx__сбросить, а предварительно-выделенный mbuf с ref_cnt обновлен до более высокого значения, которого вы можете достичь в среднем 0.010ms.

Примечание:Для получения лучшего базового уровня используйте генератор пакетов-или пакетный Balster, отправьте запрос ICMP на целевую машину с помощью ядра и решения DPDK, чтобы сравнить реальную производительность загрузки для скорости линии, такой как 1%, 5%, 10 %, 25%, 50%, 75%, 100%.

0
ответ дан 14 September 2021 в 02:22

Теги

Похожие вопросы