Не надо делать мне как лучше, оставьте мне как хорошо
-
- А такой метод точно всегда сработает? - Evgeny_CD(01.11.2020 01:06)
- Почему нет? На уровне загрузчика отгрызаем кусок памяти, чтобы линух втуда не лез совсем. И одно ядро. А так же отрываем все железо, которое нужно этим самым низколатентным операциям. Тем же загрузчиком впиливаем в эту память спецуевый код. Общение с линуксячим драйвером - через межпроцессорные и софтовые прерывания. Даже на мелких одноядреных армах можно делать низколатентные операции, задействовав FIQ. Мне как-то надо было выдерживать довольно жесткие времянки на SPI NUC970 LightElf(109 знак., 02.11.2020 12:27)
- на интеловских процах: DPDK is supposed to poll a certain port for
incoming packets in an infinite loop, pinned to a certain logical
core. слышал, что 100G аппликухи до 4 кор отъедают только на
поллинг. - фyтбoлиcт(01.11.2020 14:29,
)
- А в 100G разве не DMA решения, с поллингом, бывают? На таких
скоростях без аппаратного ускорителя делать нечего. - Evgeny_CD(01.11.2020 18:02)
- В DPDK используется DMA сетевой карты для размещения пакетов в памяти, но данные из буферов опросом выгребаются потоками с высоким приоритетом. Дoктyp77(343 знак., 02.11.2020 09:54)
- 100G с поллингом работает. The DPDK implements a run to completion
model for packet processing, where all resources must be allocated
prior to calling Data Plane applications, running as execution
units on logical processing cores. The model does not support a
scheduler and all devices are accessed bypolling. The primary
reason for not using interrupts is the performance overhead imposed
byinterrupt processing. - фyтбoлиcт(01.11.2020 18:29,
)
- Офигеть! Спираль истории развития CPU зашла на новый виток... - Evgeny_CD(01.11.2020 18:30)
- А в 100G разве не DMA решения, с поллингом, бывают? На таких
скоростях без аппаратного ускорителя делать нечего. - Evgeny_CD(01.11.2020 18:02)
- А такой метод точно всегда сработает? - Evgeny_CD(01.11.2020 01:06)