ASIC vs x86 универсальная маршрутизация /коммутация

SysAdmins часто пытаются убедить меня в том, что ОС общего назначения x86 может работать так же хорошо, как и маршрутизаторы с процессорами с низкой частотой МГц и выделенным кремнием (то есть ASIC) со скоростью 1 Гбит /с. Это мышление переносится в область SDN, например виртуальные коммутаторы в VMWare.

Я думаю, что я интуитивно понимаю различия между преимуществами ASIC и x86 в обработке трафика, особенно в отношении микропорывов. Правильно ли считать, что ASIC для интерфейсов маршрутизатора или коммутатора превосходят использование процессора x86 для обработки пакетов all , которая сильно пострадает от прерываний процессора? Я знаю, что ОС (Windows, Linux или специализированный) в значительной степени способствует производительности оборудования для маршрутизации или переключения. И я знаю, что скоростные шины x86 налагают теоретические максимумы на пропускную способность коммутации, особенно когда скорости превышают 1 Гбит /с.

  1. Как скорость переключения ASIC Catalyst 6500 Sup2T ASIC, например, сравнивается с реалистичными скоростями переключения x86, найденными в общих ОС или SDN?

  2. Как скорость переключения Cisco 7200VXR-NPE-G2, например, сравнивается с тем же ...

  3. Как типичные задержки маршрутизатора или коммутатора сравниваются с общими операционными системами, выполняющими одну и ту же функцию?

ПРИМЕЧАНИЕ. Я не хочу слышать достоинства размещения виртуальных коммутаторов или их роли в виртуальной и физической сети. Я также не хочу обсуждать достоинства SDN для времени приложения-развертывания.

12 голосов | спросил generalnetworkerror 29 62014vEurope/Moscow11bEurope/MoscowSat, 29 Nov 2014 09:54:31 +0300 2014, 09:54:31

2 ответа


17
  

Правильно ли считать, что ASIC для интерфейсов маршрутизатора или коммутатора превосходят использование процессора x86 для всей обработки пакетов, что сильно пострадает от прерываний процессора?

Трудно сказать, являются ли прерывания ограничениями, поскольку мы не называем конкретную модель процессора, операционной системы или маршрутизатора в этой части вашего вопроса. В целом, это безопасное обобщение на то, что процессоры общего назначения не могут касаться характеристик коммутации пакетов хорошо спроектированной ASIC. Когда я говорю о производительности, я говорю о RFC 2544 показателях, таких как no- скорость передачи пакетов в секунду (NDR), пропускную способность и задержку.

Это не означает, что нет места для маршрутизатора на базе процессора; просто, что наш жизненный опыт говорит нам, что процессор не может переключать пакеты так же быстро, как ASIC или FPGA. Мой вывод о том, что ASIC /FPGA быстрее, чем многоядерный процессор, подкрепляется этим Q & A on Electronics.SE .

Производительность шины PCI

  

Я знаю, что скорости шины x86 налагают теоретические максимумы на пропускную способность коммутации, особенно когда скорости превышают 1 Гбит /с.

Я не уверен, какие ограничения на автобусы вы имеете в виду здесь, но информация, которую вы имеете, может быть несколько устаревшей. Шина PCI Express, используемая в большинстве систем, сегодня значительно превышает 10 Гбит /с.

PCIe 2.0 использует 8b /10b encoding , которая оштрафовала его примерно на 20% за служебные данные кодирования полосы PCI; до этого штрафа за кодирование, PCIe 2.0 обеспечивает 4 Гбит /с необработанной полосы пропускания на полосу. Однако даже с 20% штрафом 8b /10b PCIe 2.0 x8 (8 линий PCIe) выдавливает более 25 Гбит /с; таким образом, вы можете легко запустить один адаптер 10GE с двунаправленной линейной скоростью на плате PCIe 2.0 x8.

PCIe 3.0 (используется в Intel Ivy Bridge) использует кодировку 128b /130b, что значительно повышает эффективность шины PCI и удваивает пропускную способность полосы пропускания. Таким образом, плата PCIe 3.0 x8 может доставлять 63 Гбит /с (8,0 * 8 * 128/132). Это нечего чихать; вы можете безопасно упаковать два линейных 10GE на одном стояке с такими скоростями.

Производительность Cisco и Vyatta ​​h2>

Предостережение: я использую поставляемый поставщиком маркетинговый материал для всех сравнений ...

  
  1. Как скорость переключения ASIC Catalyst 6500 Sup2T ASIC, например, сравнивается с реалистичными скоростями переключения x86, найденными на общих ОС или SDN?
  2.   

Это немного сложно, потому что мы собираемся сравнить полностью распределенную систему коммутации (Sup2T) с системой централизованного переключения (Vyatta), поэтому будьте осторожны, интерпретируя результаты.

  • Sup2T может пересылать со скоростью до 60 Мп /с без функции с включенными функциями . Ссылка: Катализатор 6500 Техническая документация Sup2T . Обратите внимание, что это просто голая система Sup2T без карт распределенной пересылки (DFC). Примечание 1
  • Я нашел результаты тестирования RFC 2544 для пересылки Vyatta 5600 со скоростью не-капли до 20,58 Мп /с и 70 Мбит /с, если вы можете принять несколько капель. Пропускная способность NDR составляла 72 Гбит /с. Ссылка: Тест производительности Vyatta 5600 vRouter (SDN Central) . SDN Для регистрации полного отчета требуется Центральная регистрация.
  
  1. Как скорость переключения Cisco 7200VXR-NPE-G2, например, сравнивается с тем же ...
  2.   

Вятта удаляет NPE-G2 из воды, по производительности; NPE-G2 может выполнять до 2Mpps на основе Спецификация Cisco NPE-G2 . Это не очень хорошее сравнение, учитывая возраст NPE-G2, а также новую Intel 10-Core систему с 10GE-картами.

  

Как типичные задержки маршрутизатора или коммутатора сравниваются с общими операционными системами, выполняющими одну и ту же функцию?

Это фантастический вопрос. Этот документ показывает, что Vyatta имеет более высокие задержки, но я хотел бы см. этот тип тестирования, выполненный против процессоров серии Intel E5.

Резюме

Повторение параллельного сравнения Sup2T против Brocade Vyatta 5600:

  • Sup2T: 60 Мбит /с NDR IPv4 с функциями (такими как ACL)
  • Vyatta и Intel E5: до 20 Мбит IPv4 NDR без функций , или 70Mpps, если вы можете принять небольшое количество капель.

Sup2T по-прежнему выигрывает, на мой взгляд, особенно когда вы смотрите на то, что получаете с Sup2T (распределенная шкала до 720Mpps, MPLS, бесчисленные MIB, переключение Layer2 и Layer3 и т. д.).

Если все, о чем вы заботитесь, это производительность переключения, вы можете получить достойные показатели производительности от процессора x86. Однако в реальных сетях нередко речь идет только о том, у кого есть лучшие числа перетаскивания; большинство людей нужно беспокоиться об особенностях (см .: Когда мне следует сосредоточиться на каждом значении для оценки коммутатора? ). Большим фактором, который следует учитывать, является количество доступных функций и то, как они интегрируются с остальной частью вашей сети.

Также стоит посмотреть на операционную возможность использования x86-систем в вашей компании. Я сам не использовал Brocade + Vyatta, но они могли сделать приличную работу, чтобы показать хорошие команды и поддержать крюки в коробке. Если они действительно поддерживают достаточное количество функций, и их система хорошо масштабируется в реальных сетях , тогда идите, если это то, что вам нравится.

Однако, если кто-то пойдет дешево и просто построит linux box + bird /quagga + ACLs + qos, я бы не хотел быть парнем, поддерживающим это решение. Я всегда утверждал, что сообщество с открытым исходным кодом отлично справляется с новинками, но поддержка их систем бледнеет по сравнению с основными производителями сетей (Arista /Cisco /Force10 /Juniper). Нужно только посмотреть iptables и tc, чтобы увидеть, насколько запутанным вы можете создать CLI. Иногда я задаю вопросы людям, которые смотрят на вывод ip link show или ifconfig и получают wierded, потому что счетчики пакетов неправильны; обычно крупные сетевые поставщики делают гораздо лучшую работу, проверяя свои счетчики, и то, что я вижу в драйверах NIC Linux.


Конечные примечания :

Примечание 1 Никто, кто заботится о производительности, никогда не купит Sup2T и не сможет заполнить шасси DFC. Sup2T может переключаться со скоростью 60 Мбит /с, но загруженное шасси с DFC масштабируется до 720 Мпп.

Примечание 2 Тест Vyatta работал на двухпроцессорном, 10-ядерном Intel E5-2670v2 на 2,5 ГГц на ядро; если мы подсчитаем одно ядро ​​как два виртуальных ядра (т. е. гиперпоточность), это всего 40 ядер для переключения пакетов. Вятта была сконфигурирована с помощью Intel x520-DA2 NIC и использовалась версия Brocade Vyatta3.2.

ответил Mike Pennington 29 62014vEurope/Moscow11bEurope/MoscowSat, 29 Nov 2014 15:28:24 +0300 2014, 15:28:24
0

Серия 7200 устарела в пользу серии ASR, поскольку они не могут обрабатывать коммутацию с несколькими гигабитами с линейной скоростью. Катализаторы и коммутаторы Nexus обладают преимуществом пересылки по сравнению с процессором общего назначения, если коммутация пакетов остается в кремнии. Если трафик должен быть переключен в процессе (т. Е. Он должен быть оценен на ЦПУ, а не в ASIC /FPGA), ваша пропускная способность падает и увеличивается латентность. По этой причине, если вам требуется переключение с высокой пропускной способностью, вы отделяете плоскость пересылки от плоскости маршрутизации и оптимизируете, чтобы максимально увеличить свою мощность в кремнии.

В некоторых случаях вы увидите переключающий кремний специального назначения, выйдя замуж за процессор общего назначения (например, переключатели белого цвета, предназначенные для использования Big Switch или другого SDN для верхней части стойки, распределения или наложения) и в В этих случаях вы можете увидеть лучшие из всех миров (высокая пропускная способность, низкая латентность переключения, высокая мощность для определения маршрута и политики, интеграция с системами управления, такими как Puppet или Chef).

ответил DTK 29 62014vEurope/Moscow11bEurope/MoscowSat, 29 Nov 2014 10:18:32 +0300 2014, 10:18:32

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132