LINUX.ORG.RU

История изменений

Исправление pon4ik, (текущая версия) :

Прикол не в том что бы пакет за десятки нс отправить, а в том, что бы отправить его на десятки нс быстрее тех кто сидит на той же линии. А задача площадки выдать гарантию, что всем на этой линии пакет на шину упадёт не позже и не раньше чем у конкурентов в рамках погрешности. Да есть определённая рулетка, что тебе выпадет «плохая сторона погрешности».

Данные в виде по-сути rpc вызовов по перерисовке картинки рынка или нужного тебе его участка приходят к тебе по udp или через rdma (хотя я не видел на практике именно rdma каналов даже для брокеров), в любом случае разница между udp и rdma для того же железа отличается максимум на порядок и на некоторых площадках величина почти сравнима с копированием памяти между разными numa нодами. Поэтому, те кто ловит эти наносекунды в сетевой стек пакеты особо не пускают а смотрят чего раньше придёт ack от канала по которому ты отправил заявку или udp пакет в котором произошло ожидаемое тобой событие. Делают они как минимум первый уровень логики сразу на fpga сетевух аля 10g и круче где udp пакет по прямому волокну летит порядка 4us.

P.S.: Я ничего про машинные коды не знаю, и вообще заранее обделался.

Исходная версия pon4ik, :

Прикол не в том что бы пакет за десятки нс отправить, а в том, что бы отправить его на десятки нс быстрее тех кто сидит на той же линии. А задача площадки выдать гарантию, что всем на этой линии пакет на шину упадёт не позже и не раньше чем у конкурентов в рамках погрешности. Да есть определённая рулетка, что тебе выпадет «плохая сторона погрешности».

Данные в виде по-сути rpc вызовов по перерисовке картинки рынка или нужного тебе его участка приходят к тебе по udp или через rdma (хотя я не видел на практике именно rdma каналов даже для брокеров), в любом случае разница между udp и rdma для того же железа отличается максимум на порядок и на некоторых площадках величина почти сравнима с копированием памяти между разными numa нодами. Поэтому, те кто ловит эти наносекунды в сетевой стек пакеты особо не пускают а смотрят чего раньше придёт ack от канала по которому ты отправил заявку или udp пакет в котором произошло ожидаемое тобой событие. Делают они как минимум первый уровень логики сразу на fpga сетевух аля 10g и круче где udp пакет по прямому волокну летит порядка 4us.