Чи правильно вважати, що ASIC для інтерфейсів маршрутизатора або комутатора випереджає використання процесора x86 для всієї обробки пакетів, яка сильно постраждає від перерв процесора?
Важко конкретно сказати, чи є переривання обмеженням, оскільки ми не називаємо конкретні моделі процесора, операційної системи або маршрутизатора в цій частині вашого питання. Загалом, це безпечне узагальнення, що процесори загального призначення не можуть торкнутися продуктивності комутації пакетів добре розробленого ASIC. Коли я кажу про продуктивність, я кажу про показники RFC 2544 , такі як швидкість переадресації пакетів за секунду (NDR), пропускну здатність та затримку.
Це не означає, що маршрутизатору на базі процесора не місце; тільки те, що наш життєвий досвід говорить нам, що процесор не може перемикати пакети так швидко, як ASIC або FPGA. Мій висновок про те, що ASIC / FPGA швидше, ніж багатоядерний процесор, схоже, підкріплюється цим запитанням на Electronics.SE .
Продуктивність PCI-шини
Я знаю, що швидкість шини x86 нав'язує теоретичні максимуми для перемикання пропускної здатності, особливо коли швидкість перевищує 1 Гбіт / с.
Я не впевнений, на які обмеження на шини ви посилаєтесь тут, але інформація, яку ви мали, може бути дещо застарілою. Шина PCI Express, яка використовується в більшості систем, значно перевищує 10 Гбіт / с.
PCIe 2.0 використовує схему кодування 8b / 10b, яка штрафує її приблизно на 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 проти В’ятти
Caveat: Я використовую маркетингові матеріали, що постачаються постачальниками, для всіх порівнянь ...
- Як, наприклад, швидкість комутації Catalyst 6500 Sup2T ASIC порівнюється з реалістичними швидкостями комутації x86, знайденими на загальних ОС або SDN?
Це трохи складніше, оскільки ми збираємося порівняти повністю розподілену систему комутації (Sup2T) з системою централізованого комутації (Вятта), тому будьте уважні, інтерпретуючи результати.
- Sup2T може пересилати зі швидкістю до 60 Мбіт / с без падіння з увімкненими функціями . Довідка: Біла книга архітектури Catalyst 6500 Sup2T . Зауважте, що це просто гола система Sup2T без розподілених форвардних карт (DFC). Примітка 1
- Я знайшов результати випробувань RFC 2544 для переадресації в'ятти 5600 зі швидкістю не падіння до 20,58 Мп / с і 70 Мп / с, якщо ви можете прийняти кілька крапель. Пропускна здатність NDR становила 72 Гбіт / с. Довідково: Тест на продуктивність в'ятти 5600 vRouter (SDN Central) . Для перегляду повного звіту необхідна центральна реєстрація SDN.
- Як, наприклад, швидкість комутації Cisco 7200VXR-NPE-G2 порівняно з такою ж ...
В'ята видуває NPE-G2 з води, продуктивні; NPE-G2 може робити до 2 Мпс на основі таблиці даних Cisco NPE-G2 . Це насправді не справедливе порівняння, хоча враховуючи вік NPE-G2, порівняно з новою системою Intel 10-Core, укомплектованою картами 10GE.
Як типові затримки маршрутизатора чи комутатора порівнюються із загальними ОС, що виконують ту саму функцію?
Це фантастичне питання. Цей документ вказує на те, що у В’ятти є більш високі затримки, але я хотів би бачити подібне тестування на процесорах серії Intel E5.
Підсумок
Підсумок порівняльного порівняння Sup2T і Brocade Вятта 5600:
- Sup2T: NDR IPv4 60Mpps з функціями (такими як ACL)
- Вятта та Intel E5: до 20Mpps IPv4 NDR без особливостей або 70Mpps, якщо ви можете прийняти невелику кількість крапель.
На мою думку, Sup2T все ще виграє, особливо, коли ви дивитесь, що ви отримуєте з Sup2T (розподілена шкала до 720Mpps, MPLS, незліченна кількість MIB, комутація Layer2 та Layer3 тощо).
Якщо все, що вам цікаво, - це продуктивність перемикання в режимі «сире», ви можете отримати чіткі номери продуктивності від процесора x86. Однак у реальних мережах не часто йдеться лише про те, хто має найкращі перетягування; більшості людей потрібно турбуватися про функції (див.: Коли я повинен зосередитись на кожному значенні для оцінки комутатора? ). Важливим фактором, який слід врахувати, є кількість доступних функцій та їх інтеграція з рештою вашої мережі.
Також варто ознайомитися з операційною доцільністю використання систем на базі x86 у вашій компанії. Сам я не використовував Brocade + В’ятту, але вони могли зробити гідну роботу, будуючи хороші команди і показуючи допоміжні гачки. Якщо вони дійсно підтримують достатню кількість функцій, і їх система добре розширюється в реальних мережах , тоді зайняйтеся цим, якщо це вам подобається.
Однак якщо хтось дешевий і просто будує linux box + bird
/ quagga
+ ACLs + qos, я б не хотів бути тим, хто підтримує це рішення. Я завжди стверджував, що спільнота з відкритим кодом робить велику роботу з інноваціями, але підтримка їх систем зменшується в порівнянні з постачальниками основних мереж (Arista / Cisco / Force10 / Juniper). Потрібно лише подивитися iptables
і tc
зрозуміти, наскільки ви зможете скласти CLI. Я іноді на місцях питання від людей , які дивляться на виході ip link show
або ifconfig
й отримати wierded, тому що лічильники пакетів не правий; Зазвичай великі постачальники мережі роблять набагато кращу роботу, протестуючи свої лічильники, порівняно з тим, що я бачу в драйверах Linux Linux NIC.
Кінцеві примітки :
Примітка 1 Ніхто, хто не піклується про продуктивність, ніколи не придбає Sup2T і не зможе заповнити корпус DFC. Sup2T може перемикатися зі швидкістю 60 Мп / с, але завантажене шасі з масштабами DFC до 720Mpps.
Примітка 2 Тест Вятта працював на двопроцесорному, 10-ядерному Intel E5-2670v2 при 2,5 ГГц на ядро; якщо ми вважаємо одне ядро двома віртуальними ядрами (тобто гіпер-нитками), це загалом 40 ядер для комутації пакетів. В'ятта була налаштована на Intel x520-DA2 NIC, і використовувала Brocade Vyatta версії 3.2.