Продолжение 3 RDMA
> 3. 10GbE с его RDMA. Ключевое слово - RDMA. Еще никто не сделал, насколько я знаю и работать будет исключительно в локалке.RDMA позволяет расшарить буфер, который объявлен в оперативной памяти таким способом, чтобы обменом данных занимался не процессор, а чип сетевой карты. Для этого есть 2 протокола iWARP (на базе TCP) и RoCE (на базе UDP), который стандартизируют Control Plane на сети для RDMA.
RDMA не уменьшает задержку при помощи какой-то магии, оно её уменьшает посредством переноса нагрузки с процессоров и сопроцессоров на сетевую карту. И вот вам гетзефактс про RDMA:
1. RDMA требует QoS и lossless-очереди на коммутаторе.
Осознайте сложность этой задачи, пожалуйста... Задержка происходит от потерь/перезапросов данных из буфера. Для RoCE требуется ETS, PFC и DCBX расширения настроенные на коммутаторе. Если у вас RoCEv2, который решает тонну проблем первой версии связаной с PFC и Pause-фреймами Ethernet внутри VLAN, то у вас... Access порты с DSCP. Вы вообще понимаете сколько компаний готовы в датацентре поднять полноценный DSCP с доменом и квалификаторами? Далее проблема iWARP, который работает из коробки... но плохо. Для того чтобы iWARP приблизился по уровню задержек до RoCE нужно... настроить ему тот же самый QoS (DCBX,ETS,PFC). А QoS он распространяется на всю инфраструктуру и никогда не выходит за рамки собственной сети. Вашу маркировку кроме вас никто не примет.
2. RDMA хочет Jumbo
Если у вас lossless-сеть на базе RDMA минимальный размер MTU 9014. Причем протоколы вроде RDP прекрасно работают в таких сетях и снижают задержки... вот только как вы это передадите в интернет. Технически вы можете нарушить эту рекомендацию и снизиться до 4014, но смысла в 1500 у вас нету.
Для того чтобы дальше снизить задержку вам нужно выбросить Ethernet и поставить уже наконец-то Infiniband. RDMA родом из мира Infiniband.
Проблема усугубляется тем, что если ваш буфер находится на видеокарте, то вы будете сетевые карты подбирать под видеокарты, когда вы запретесь в одном вендоре целиком, то вам и сеть будет не так важна.
То что реально работает:
1. Nvidia Tesla/RTX + Nvidia Mellanox (сетевки и свитчи Infiniband)
2. Nvidia Tesla/RTX + Ethernet-сетевки Nvidia Mellanox + коммутаторы Juniper серии QFX
Я всё это пишу к тому, что это всё уже существует. RDMA настраивается на сети. Вы можете объявить новую сеть на своем коммутаторе, настроить QoS под RDMA. Nvidia уже имеет решения для такого стриминга через RDMA. Вы просто о них не знаете, потому что цена этих решений отобьёт у вас даже желание о них читать.
Вы правы только в том, что всё это работает только в рамках локальной сети, но для совсем удалёньщиков вы все равно обязаны поставить шлюз/балансировщик/прокси-сервер или чем вы там доставляете поток наружу...