Size: a a a

2020 May 15

VK

Vladimir Komendant in ntwrk
Dark Packets and the end of Network Scaling

В продолжение графика. В University of California San Diego изучили проблему влияния времени доступа к DRAM на вероятность потери сетевых данных.
Известно, что inter-packet gap для 100GbE около 5.2 нс, а время доступа к DRAM - 100 нс. Учитывая то, что нет возможности вручную выделять себе on-chip LLC (L3 cache) на CPU, то кеширование происходило автоматически и с временем доступа порядка 12 нс.
Даже при ипользованием Intel DDIO и DMA из NIC в L3 cache, получается существенное количество cache-miss, что в свою очередь приводит к необходимости задействования значительно более медленной DRAM. При обозначенных ранее ТТХ DRAM это ожидаемо приводит к переполнению аппаратных и программных очередей и сбросу пакетов, называемых в статье - Dark Packets. Обойти проблему попытались простым путем - распараллелить пакеты между ядрами процессора, но такой метод оказался немасштабируемым: для 100Gbps нужно 20 физических ядер, а для 400Gb/s уже 79.

В попытках решить проблемы был придуман и имплементирован так называемый CacheBuilder API, использующий Intel Cache Allo-cation Tool APIs и современные инструкций Intel процессоров, в следствие чего удалось в явной форме выделить под приложение часть LLC (L3 cache) и разместить в нём LPM, Hash и exact-match таблицы. В качестве примера используются процессор Xeon E5-2650v5 c 30MB LLC и DPDK приложение для L3 forwarding. Это позволило добиться 40Gb line rate без потерь пакетов размеров 192 байт уже на двух ядрах при задействовании 24MB кэша.

Аналогичный подход мы видим и в NPU современных сетевых вендоров, где есть "быстрый" on-chip SRAM и "медленный" off-chip DRAM.

Хорошо описанная проблематика, много тестов и графиков, характеризующие степени зависимости между скоростью канала, размером пакетов, количеством ядер, количеством обращений к DRAM, промахов кэша и прочим - это всё про прилагаемый PDF.

https://www.sysnet.ucsd.edu/~voelker/pubs/darkpackets-ancs18.pdf
источник

S

Stanislav in ntwrk
да я читал, но кэш на цпу не такой уж и большой)
источник

VK

Vladimir Komendant in ntwrk
Vladimir Komendant
Dark Packets and the end of Network Scaling

В продолжение графика. В University of California San Diego изучили проблему влияния времени доступа к DRAM на вероятность потери сетевых данных.
Известно, что inter-packet gap для 100GbE около 5.2 нс, а время доступа к DRAM - 100 нс. Учитывая то, что нет возможности вручную выделять себе on-chip LLC (L3 cache) на CPU, то кеширование происходило автоматически и с временем доступа порядка 12 нс.
Даже при ипользованием Intel DDIO и DMA из NIC в L3 cache, получается существенное количество cache-miss, что в свою очередь приводит к необходимости задействования значительно более медленной DRAM. При обозначенных ранее ТТХ DRAM это ожидаемо приводит к переполнению аппаратных и программных очередей и сбросу пакетов, называемых в статье - Dark Packets. Обойти проблему попытались простым путем - распараллелить пакеты между ядрами процессора, но такой метод оказался немасштабируемым: для 100Gbps нужно 20 физических ядер, а для 400Gb/s уже 79.

В попытках решить проблемы был придуман и имплементирован так называемый CacheBuilder API, использующий Intel Cache Allo-cation Tool APIs и современные инструкций Intel процессоров, в следствие чего удалось в явной форме выделить под приложение часть LLC (L3 cache) и разместить в нём LPM, Hash и exact-match таблицы. В качестве примера используются процессор Xeon E5-2650v5 c 30MB LLC и DPDK приложение для L3 forwarding. Это позволило добиться 40Gb line rate без потерь пакетов размеров 192 байт уже на двух ядрах при задействовании 24MB кэша.

Аналогичный подход мы видим и в NPU современных сетевых вендоров, где есть "быстрый" on-chip SRAM и "медленный" off-chip DRAM.

Хорошо описанная проблематика, много тестов и графиков, характеризующие степени зависимости между скоростью канала, размером пакетов, количеством ядер, количеством обращений к DRAM, промахов кэша и прочим - это всё про прилагаемый PDF.

https://www.sysnet.ucsd.edu/~voelker/pubs/darkpackets-ancs18.pdf
Перечитал текст, выглядит будто за умного схожу, но это ошибочно
источник

S

Stanislav in ntwrk
я 3 раза перечитал чтобы понять их подход)
источник

E

Evgeniy in ntwrk
Denis Vasilev
привет всем! со вчера бьюсь на делемой с виду несложной, но не могу внести лицензию в циску 881 на 12 иосе. команды license udi pid C881-K9 sn FCZ***** нет, старницы на cisco.com , где генерируются такие лицензии по номеру SN не работают. команды сесурити вроде все есть. может, когда  advipservices лицензия станет перманент, все будет норм. но как то стремно отправлять в другой город вот так..
Index 1 Feature: advipservices
       Period left: 8  weeks 2  days
       License Type: Evaluation
       License State: Active, In Use
       License Priority: Low
Ты без кода с лицухи (бумажки) не сгенеришь файл.
источник

E

Evgeniy in ntwrk
https://www.youtube.com/watch?v=Fvob6L8q3I8 в сан диего вон какие штуки
источник

v(

vitex (Victor) in ntwrk
Stanislav
если в гпу будет быстрый доступ к памяти - то мб что-то и взлетит
там набортная память более чем быстрая
источник

VK

Vladimir Komendant in ntwrk
vitex (Victor)
там набортная память более чем быстрая
ну в видекартах hbm2 же, та самая на которой вот-вот cisco(silicone one), broadcom(jericho2) и juniper(новый PTX) повыпускали свои железки. Другое дело, что она в основном для буфера используется.
источник

VK

Vladimir Komendant in ntwrk
почему в основном, потому, что вроде кто-то там лукапы делает тож, но я запутался уже и не готов продолжить дискуссию
источник

v(

vitex (Victor) in ntwrk
Vladimir Komendant
почему в основном, потому, что вроде кто-то там лукапы делает тож, но я запутался уже и не готов продолжить дискуссию
ну у джуна Q5 лукапы в  HMC делает
источник

v(

vitex (Victor) in ntwrk
так что в hbm уж точно их можно делать
источник

V

Vladimir in ntwrk
Vladimir Komendant
Dark Packets and the end of Network Scaling

В продолжение графика. В University of California San Diego изучили проблему влияния времени доступа к DRAM на вероятность потери сетевых данных.
Известно, что inter-packet gap для 100GbE около 5.2 нс, а время доступа к DRAM - 100 нс. Учитывая то, что нет возможности вручную выделять себе on-chip LLC (L3 cache) на CPU, то кеширование происходило автоматически и с временем доступа порядка 12 нс.
Даже при ипользованием Intel DDIO и DMA из NIC в L3 cache, получается существенное количество cache-miss, что в свою очередь приводит к необходимости задействования значительно более медленной DRAM. При обозначенных ранее ТТХ DRAM это ожидаемо приводит к переполнению аппаратных и программных очередей и сбросу пакетов, называемых в статье - Dark Packets. Обойти проблему попытались простым путем - распараллелить пакеты между ядрами процессора, но такой метод оказался немасштабируемым: для 100Gbps нужно 20 физических ядер, а для 400Gb/s уже 79.

В попытках решить проблемы был придуман и имплементирован так называемый CacheBuilder API, использующий Intel Cache Allo-cation Tool APIs и современные инструкций Intel процессоров, в следствие чего удалось в явной форме выделить под приложение часть LLC (L3 cache) и разместить в нём LPM, Hash и exact-match таблицы. В качестве примера используются процессор Xeon E5-2650v5 c 30MB LLC и DPDK приложение для L3 forwarding. Это позволило добиться 40Gb line rate без потерь пакетов размеров 192 байт уже на двух ядрах при задействовании 24MB кэша.

Аналогичный подход мы видим и в NPU современных сетевых вендоров, где есть "быстрый" on-chip SRAM и "медленный" off-chip DRAM.

Хорошо описанная проблематика, много тестов и графиков, характеризующие степени зависимости между скоростью канала, размером пакетов, количеством ядер, количеством обращений к DRAM, промахов кэша и прочим - это всё про прилагаемый PDF.

https://www.sysnet.ucsd.edu/~voelker/pubs/darkpackets-ancs18.pdf
я уже писал в дпдк чатике про это. Эффективный префетчинг луп скрывает драм латенси
источник

E

Evgeniy in ntwrk
тут уже дпдк
источник

VK

Vladimir Komendant in ntwrk
во, пришла тяжелая артилерия
источник

E

Evgeniy in ntwrk
раз по софт рутинг давайте свои рекорды
источник

VK

Vladimir Komendant in ntwrk
настоящий инженер сейчас вам пояснит все
источник

E

Evgeniy in ntwrk
полоса цпу с картинками
источник

V

Vladimir in ntwrk
Stanislav
на х86 медленно слишком чтобы быстро пакеты кидать
несомненно, по сравнению с асиками от того же бродкома. Ща уровень х86 это гдет 1bpps. Однако можно делать то, что на асиках не получится
источник

S

Stanislav in ntwrk
Vladimir
я уже писал в дпдк чатике про это. Эффективный префетчинг луп скрывает драм латенси
ну в vpp измеряли кстати, quad loop, double loop.
дабл луп самый быстрый получался. это когда обрабатываешь 2, а префетчишь следующие 2.
источник

S

Stanislav in ntwrk
правда ты все равно получаешь cache miss гарантированно на первый пакет, а вот была бы память побыстрее, может и не так критично было бы
источник