Возможно ли реализовать RDMA (RoCE) только на стороне клиента, не беспокоясь о поддержке Server RDMA?
Мне требуется уменьшить время ожидания приложения Windows, использующего RDMA, но у меня есть контроль только над одной стороной связи, реализация RDMA(обход ядра), независимо от другой стороны.
Возможно ли реализовать RDMA (RoCE) только на стороне клиента, не беспокоясь о поддержке Server RDMA?
3 ответа
Нет, ты не можешь. RDMA требует, чтобы обе машины управляли настройкой соединения и связью. Кроме того, для поддержки протоколов RDMA требуется аппаратное обеспечение и драйвер сетевых адаптеров, а также конфигурации обеих сторон и коммутаторы сети.
Нет, это не так. Как и на большинстве транспортных протоколов, это невозможно. (например, TCP, UDP)
- Как дополнительное предложение: если у вас есть только один адаптер с поддержкой RDMA, вы можете использовать его на другой стороне Soft-RoCE -
Нет, RDMA (RoCE, iWARP, что угодно) является проводным протоколом, поэтому обе стороны должны его обрабатывать. По аналогии можно использовать сжатие или конвейеризацию для HTTP - вам нужна поддержка как на клиенте, так и на сервере.
Однако, с другой стороны, вам не нужна аппаратная реализация RoCE с обеих сторон. Вы можете использовать настоящий адаптер RDMA, который переносит передачу данных на оборудование на стороне клиента, и использовать программную реализацию RoCE на стороне сервера (например, Soft RoCE).