x86 networking performance
Привет, к слову о производительности, вот тут интересные данные есть: http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e... -- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
Володя, Это цифры сферических коней в вакууме, конечно, но и в реальных приложениях (копирование кадра из VM, анализ заголовков, коммутация, проверка полиси, маршрутизация, инкапсуляция в MPLSoUDP, высылание кадра в сеть) мы в Контрейле вытягиваем ок 3 MPPS на ядро, например. Добавлю ещё пару ссылок. В качестве вступления: VPP -- это "Open Source out-of-the-box production quality switch/router" на ДПДК, "based on proven Cisco technology". Но БГП нету :( Производительность VPP на 24 ядерном Зионе - 137 MPPS (5,7 MPPS на ядро): https://www.youtube.com/watch?v=T66BTHnENY8 Производительность VPP на ТандерИкс - 2,5 MPPS на ядро: https://www.youtube.com/watch?v=NcNSHYJvNJ0 Софта на ДПДК пока не много, но он появляется как грибы... Андрей
On 10 Jun 2016, at 12:59, Volodymyr Litovka
wrote: Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
Привет, понятно, что это цифры raw processing; производительность приложения будет ниже и зависит от сложности процессинга (напр. DPI vs ACL или vBNG vs pure routing) и качества самого приложения. Я бы сказал, что это индикативные цифры, а в реальной жизни надо ориентироваться на значения в 2-5 раз ниже :) Что касается софта на DPDK - то, в принципе, наличие OVS-DPDK решает вопрос network processing; дальнейшее увеличение производительности возможно уже только за счет оптизимации кода приложения. On 6/10/16 4:41 PM, Andriy Berestovskyy wrote:
Володя, Это цифры сферических коней в вакууме, конечно, но и в реальных приложениях (копирование кадра из VM, анализ заголовков, коммутация, проверка полиси, маршрутизация, инкапсуляция в MPLSoUDP, высылание кадра в сеть) мы в Контрейле вытягиваем ок 3 MPPS на ядро, например.
Добавлю ещё пару ссылок. В качестве вступления: VPP -- это "Open Source out-of-the-box production quality switch/router" на ДПДК, "based on proven Cisco technology". Но БГП нету :(
Производительность VPP на 24 ядерном Зионе - 137 MPPS (5,7 MPPS на ядро): https://www.youtube.com/watch?v=T66BTHnENY8
Производительность VPP на ТандерИкс - 2,5 MPPS на ядро: https://www.youtube.com/watch?v=NcNSHYJvNJ0
Софта на ДПДК пока не много, но он появляется как грибы...
Андрей
On 10 Jun 2016, at 12:59, Volodymyr Litovka
mailto:doka.ua@gmail.com> wrote: Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
Привет On 6/29/16 11:52 AM, Volodymyr Litovka wrote:
Привет,
понятно, что это цифры raw processing; производительность приложения будет ниже и зависит от сложности процессинга (напр. DPI vs ACL или vBNG vs pure routing) и качества самого приложения. Я бы сказал, что это индикативные цифры, а в реальной жизни надо ориентироваться на значения в 2-5 раз ниже :)
Что касается софта на DPDK - то, в принципе, наличие OVS-DPDK решает вопрос network processing; дальнейшее увеличение производительности возможно уже только за счет оптизимации кода приложения.
вот еще про сферический DPDK, который, тем не менее, обрисовывает рамки производительности: "*Charlie Ashton, from Wind, published some specific numbers on his blog about a year ago. With one OVS CPU core processing 0.3M (64-byte) pps, it would take 12 to support just four Mpps (or 1 Gbps full duplex Ethernet). [...] _*Even with unfavorable 64-byte packet sizes, Wind’s Accelerated vSwitch can process 12 Mpps per core, and therefore only four are required to max out a single full-duplex 10-Gbps interface.*_"* *Цитата взята отсюда - http://www.metaswitch.com/the-switch/accelerating-the-nfv-data-plane * * *
On 6/10/16 4:41 PM, Andriy Berestovskyy wrote:
Володя, Это цифры сферических коней в вакууме, конечно, но и в реальных приложениях (копирование кадра из VM, анализ заголовков, коммутация, проверка полиси, маршрутизация, инкапсуляция в MPLSoUDP, высылание кадра в сеть) мы в Контрейле вытягиваем ок 3 MPPS на ядро, например.
Добавлю ещё пару ссылок. В качестве вступления: VPP -- это "Open Source out-of-the-box production quality switch/router" на ДПДК, "based on proven Cisco technology". Но БГП нету :(
Производительность VPP на 24 ядерном Зионе - 137 MPPS (5,7 MPPS на ядро): https://www.youtube.com/watch?v=T66BTHnENY8
Производительность VPP на ТандерИкс - 2,5 MPPS на ядро: https://www.youtube.com/watch?v=NcNSHYJvNJ0
Софта на ДПДК пока не много, но он появляется как грибы...
Андрей
On 10 Jun 2016, at 12:59, Volodymyr Litovka
wrote: Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
Коллеги, раз уже всплыл VPP, то вопрос есть - как происходит обработка векторе, если в нем оказывается пакет, который не соответствует выбранному для него графу? Ну то есть в идеальной ситуации - 1. набрали массив пакетов 2. сделали lookup первого, видим IPv4 и решили, что остальные будут тоже IPv4 3. отправили в соответствующий граф для дальнейшей "слепой" обработки 4. performance profit :) А что, если между IPv4 затешутся IPv6 или MPLS пакеты? Что в этом случае делает VPP? * делает новый lookup пакета и отправляет _остаток_ вектора в другой граф? * или вектор сразу отправляется в параллельную обработку нескольким графам и в каждом графе "не свои" пакеты тихо дропаются (т.е. время на их обработку стремится к нулю) в предположении, что этот же пакет в другом графе будет обработан надлежащим образом? Ситуация ведь не нулевой вероятности :) теоретически её можно обойти, поставив разные VPP-based агрегаторы для разных типов трафика (танчики - налево, конница - направо, пехота - вперед), но это существенно усложняет топологию и менеджмент и существенно увеличивает затраты на имплементацию (отдельные service chains для IPv4, IPv6 и MPLS пакетов). Кто разбирался с этим? Спасибо. On 6/10/16 4:41 PM, Andriy Berestovskyy wrote:
Володя, Это цифры сферических коней в вакууме, конечно, но и в реальных приложениях (копирование кадра из VM, анализ заголовков, коммутация, проверка полиси, маршрутизация, инкапсуляция в MPLSoUDP, высылание кадра в сеть) мы в Контрейле вытягиваем ок 3 MPPS на ядро, например.
Добавлю ещё пару ссылок. В качестве вступления: VPP -- это "Open Source out-of-the-box production quality switch/router" на ДПДК, "based on proven Cisco technology". Но БГП нету :(
Производительность VPP на 24 ядерном Зионе - 137 MPPS (5,7 MPPS на ядро): https://www.youtube.com/watch?v=T66BTHnENY8
Производительность VPP на ТандерИкс - 2,5 MPPS на ядро: https://www.youtube.com/watch?v=NcNSHYJvNJ0
Софта на ДПДК пока не много, но он появляется как грибы...
Андрей
On 10 Jun 2016, at 12:59, Volodymyr Litovka
wrote: Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
Привет!
On 29 Jun 2016, at 13:29, Volodymyr Litovka
wrote: раз уже всплыл VPP, то вопрос есть - как происходит обработка векторе, если в нем оказывается пакет, который не соответствует выбранному для него графу?
Если в двух словах, то пакеты должны всегда попадать в соответсвующий узел для дальнейшей обработки. Более подробно - здесь, например: https://youtu.be/cB7H40K-6M4
сделали lookup первого, видим IPv4 и решили, что остальные будут тоже IPv4
Можно предполагать, что остальные тоже IPv4, но каждый пакет нужно проверить.
performance profit :)
Профит получается за счёт локальности даных, в основном.
или вектор сразу отправляется в параллельную обработку нескольким графам
Имеет смысл, но только для глубокого анализа пакетов и с оглядкой на их очередность. Для простого анализа, наверное, не стоит. Андрей
On 10.06.16 13:59, Volodymyr Litovka wrote:
Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
Вот единственное, чего я до сих пор никак не пойму, это почему никто не додумался делать многопортовые платы спецом для роутинга, чтобы CPU просто обсчитал FIB, залил в такую плату, а она сама уже своим специализированным процессором обрабатывала бы только трафик.
Ну все классические сетевые вендоры делают именно это :) On 6/29/16 2:45 PM, Gregory Edigarov wrote:
On 10.06.16 13:59, Volodymyr Litovka wrote:
Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
Вот единственное, чего я до сих пор никак не пойму, это почему никто не додумался делать многопортовые платы спецом для роутинга, чтобы CPU просто обсчитал FIB, залил в такую плату, а она сама уже своим специализированным процессором обрабатывала бы только трафик.
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
ты прекрасно понял, что я имел в виду. вот например мне нафиг не интересна отдельная киска, а вот такая плата была бы очень очень интересна, особенно в сочетании с любой opensource операционкой. On 29.06.16 14:49, Volodymyr Litovka wrote:
Ну все классические сетевые вендоры делают именно это :)
On 6/29/16 2:45 PM, Gregory Edigarov wrote:
On 10.06.16 13:59, Volodymyr Litovka wrote:
Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
Вот единственное, чего я до сих пор никак не пойму, это почему никто не додумался делать многопортовые платы спецом для роутинга, чтобы CPU просто обсчитал FIB, залил в такую плату, а она сама уже своим специализированным процессором обрабатывала бы только трафик.
2016-06-29 13:57 GMT+02:00 Gregory Edigarov
ты прекрасно понял, что я имел в виду.
вот например мне нафиг не интересна отдельная киска, а вот такая плата была бы очень очень интересна, особенно в сочетании с любой opensource операционкой.
Читаем: https://www.nanog.org/meetings/nanog50/presentations/Monday/NANOG50.Talk17.s... потом ищем что такое NetFPGA (http://netfpga.org/) On 29.06.16 14:49, Volodymyr Litovka wrote:
Ну все классические сетевые вендоры делают именно это :)
On 6/29/16 2:45 PM, Gregory Edigarov wrote:
On 10.06.16 13:59, Volodymyr Litovka wrote:
Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
Вот единственное, чего я до сих пор никак не пойму, это почему никто не додумался делать многопортовые платы спецом для роутинга, чтобы CPU просто обсчитал FIB, залил в такую плату, а она сама уже своим специализированным процессором обрабатывала бы только трафик.
-- Regards, Volodymyr.
Здравствуйте ! помогите найти какое-то вменяемое руководство по программированию-настройкам вот таких вот блоков питания(или подобных): cherokee car1848tn https://www.alphatechnologies.eu/prd_db/Datasheets/CAR1848TN.pdf тут подробнее: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&ved=0ahUKEwiLhK6mp83NAhWCmBoKHYPGCvwQFgg9MAg&url=http%3A%2F%2Fwww.linksa.gr%2Findex.php%3Foption%3Dcom_docman%26task%3Ddoc_download%26gid%3D130%26Itemid%3D&usg=AFQjCNFR7AYqIgRhTvFkwrn6Q5MOhY4P3w&cad=rja там есть разьем, на который выходит "программирование напряжения выхода" и прочие полезности. Хочется как-то управлять одним блоком, без "телеком-стойки". ...вообще целая тема есть использования бушных Телекоммуникационных источников питания 1500-3000W для разных целей, но все упирается в то "как управлять?". Есть там резисторы на платах - но это не онлайн-управление, а хочется от какого-то своего контроллера управление сделать... Заранее спасибо! -- Best regards, Alexander V Soroka http://www.svr.ua/ AS106-RIPE mailto:alex@euro.net.ua
On Wed, Jun 29, 2016 at 04:30:38PM +0300, Alexander V Soroka wrote:
Здравствуйте ! Есть там резисторы на платах - но это не онлайн-управление, а хочется от какого-то своего контроллера управление сделать...
"Лёгким движением мышИ платы превращаются, превращаются платы... *пшшш* В офигенные дымогенераторы. Извините, товарищи, наш инженер случайно запрограммировал неверное выходное напряжение, но вообще тут должны были мигать лампочки" -- Best regards, Paul Arakelyan.
Друзья, если вы нажимаете "Ответить" и даже исправляете subject письма, оно всё равно попадает в тред, в котором было нажато "ответить", потому что в заголовках письма остается информация о цепочке предыдудщих сообщений: Во-первых, кто-то из-за этого может письмо и не увидеть - ну предположим, неинтересно человеку читать про производительность x86 networking и он в этот тред не заглядывает или даже пометил его как "неинтересный". Во-вторых, это вносит некоторые неудобства для тех, кто таки тред читает - потому что в эту группу сообщений сыпется совершенно не то, о чем, собственно, идет дискуссия. Давайте пользоваться инструментом по уму и генерить новые дискуссии естественным образом - "Создать новое сообщение" :-) Это несложно, но всем от этого будет только лучше :) Спасибо. -- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
"Настоящие фидошники сабжи не меняют..." :) 02.07.2016 12:39, Volodymyr Litovka пишет:
Друзья,
если вы нажимаете "Ответить" и даже исправляете subject письма, оно всё равно попадает в тред, в котором было нажато "ответить", потому что в заголовках письма остается информация о цепочке предыдудщих сообщений:
Годами, что характерно
2016-07-03 21:54 GMT+03:00 Vladimir A. Podgorny
"Настоящие фидошники сабжи не меняют..." :)
02.07.2016 12:39, Volodymyr Litovka пишет:
Друзья,
если вы нажимаете "Ответить" и даже исправляете subject письма, оно всё равно попадает в тред, в котором было нажато "ответить", потому что в заголовках письма остается информация о цепочке предыдудщих сообщений:
Juniper тоді вийде :-) On 29.06.2016 14:45, Gregory Edigarov wrote:
On 10.06.16 13:59, Volodymyr Litovka wrote:
Привет,
к слову о производительности, вот тут интересные данные есть:
http://public.brighttalk.com/resource/core/72489/accelerate-your-cloud-and-e...
Вот единственное, чего я до сих пор никак не пойму, это почему никто не додумался делать многопортовые платы спецом для роутинга, чтобы CPU просто обсчитал FIB, залил в такую плату, а она сама уже своим специализированным процессором обрабатывала бы только трафик.
participants (9)
-
Alexander V Soroka
-
Andrii Stesin
-
Andriy Berestovskyy
-
Gregory Edigarov
-
Oles Girniak
-
Paul Arakelyan
-
Vladimir A. Podgorny
-
Volodymyr Litovka
-
Volodymyr Yakovenko