ASIC vs x86 routing / przełączanie ogólnego przeznaczenia


14

SysAdmini często próbują mnie przekonać, że systemy ogólne x86 mogą działać równie dobrze, jak routery z procesorami o niskiej MHz i dedykowanym krzemem (tj. ASIC) przy szybkościach linii 1 Gb / s. To myślenie przenosi się do dziedziny SDN, takiej jak przełączniki wirtualne w VMWare.

Wydaje mi się, że intuicyjnie rozumiem różnice między korzyściami ASIC a x86 w obsłudze ruchu, szczególnie w odniesieniu do mikroporów. Czy słuszne jest założenie, że układy ASIC interfejsów routera lub przełącznika przewyższą użycie procesora x86 we wszystkich procesach przetwarzania pakietów, które znacznie ucierpią na przerwaniach procesora? Wiem, że system operacyjny (Windows, Linux lub specjalistyczny) w znacznym stopniu przyczynia się do wydajności sprzętu w zakresie trasowania lub przełączania. Wiem, że prędkości magistrali x86 narzucają teoretyczne maksimum przepustowości przełączania, szczególnie gdy prędkości przekraczają 1 Gb / s.

  1. Jak na przykład prędkość przełączania Catalyst 6500 Sup2T ASIC jest porównywalna z realistycznymi prędkościami przełączania x86 występującymi w ogólnych systemach operacyjnych lub SDN?

  2. Jak na przykład porównuje szybkość przełączania Cisco 7200VXR-NPE-G2 z tym samym ...

  3. Jak typowe opóźnienia routera lub przełącznika różnią się od ogólnych systemów operacyjnych wykonujących tę samą funkcję?

UWAGA: Nie chcę słyszeć zalet umieszczenia przełącznika wirtualnego ani ich roli w sieci wirtualnej i fizycznej. Nie chcę również omawiać zalet SDN w zakresie czasu wdrażania aplikacji.

Odpowiedzi:


19

Czy słuszne jest założenie, że układy ASIC interfejsów routera lub przełącznika przewyższą użycie procesora x86 we wszystkich procesach przetwarzania pakietów, które znacznie ucierpią na przerwaniach procesora?

Trudno powiedzieć konkretnie, czy przerwania są ograniczeniem, ponieważ w tej części pytania nie wymieniamy konkretnych modeli procesorów, systemów operacyjnych lub routerów. Ogólnie rzecz biorąc, jest to bezpieczna generalizacja, że ​​procesory ogólnego przeznaczenia nie mogą wpłynąć na wydajność przełączania pakietów dobrze zaprojektowanego ASIC. Kiedy mówię o wydajności, mówię o wskaźnikach RFC 2544 , takich jak szybkość przesyłania pakietów NDR na sekundę (NUT), przepustowość i opóźnienie.

Nie oznacza to, że nie ma miejsca na router z procesorem; po prostu nasze doświadczenia życiowe mówią nam, że procesor nie może przełączać pakietów tak szybko, jak ASIC lub FPGA. Mój wniosek o tym, że ASIC / FPGA są szybsze niż procesor wielordzeniowy, wydaje się być wzmocniony przez te pytania i odpowiedzi na temat Electronics.SE .

Wydajność magistrali PCI

Wiem, że prędkości magistrali x86 narzucają teoretyczne maksimum przepustowości przełączania, szczególnie gdy prędkości przekraczają 1 Gb / s.

Nie jestem pewien, do których ograniczeń autobusu się tu odnosisz, ale informacje, które posiadasz, mogą być nieco nieaktualne. Magistrala PCI Express stosowana obecnie w większości systemów jest znacznie wyższa niż 10 Gb / s.

PCIe 2.0 wykorzystuje schemat kodowania 8b / 10b , który ukarał go w przybliżeniu 20% za narzut kodowania linii PCI; przed karą za kodowanie PCIe 2.0 zapewnia przepustowość 4 Gb / s na linię. Jednak nawet z karą 20% 8b / 10b, PCIe 2.0 x8 (8 linii PCIe) wypiera ponad 25 Gb / s; dzięki temu możesz łatwo uruchomić pojedynczy adapter 10GE z dwukierunkową szybkością linii na karcie PCIe 2.0 x8.

PCIe 3.0 (stosowane w chipsetach Intel Ivy Bridge) wykorzystuje kodowanie 128b / 130b, co znacznie poprawia wydajność magistrali PCI i podwaja przepustowość na linię. Tak więc karta PCIe 3.0 x8 może zapewnić 63 Gb / s (8,0 * 8 * 128/132). Nie ma na co kichać; możesz bezpiecznie spakować dwie liniowe stawki 10GE na jednym pionie z tymi wskaźnikami wydajności.

Wydajność Cisco vs Vyatta

Uwaga: do wszystkich porównań używam materiałów marketingowych dostarczonych przez dostawcę.

  1. Jak na przykład prędkość przełączania Catalyst 6500 Sup2T ASIC jest porównywalna z realistycznymi prędkościami przełączania x86 występującymi w ogólnych systemach operacyjnych lub SDN?

Jest to nieco trudne, ponieważ zamierzamy porównać w pełni rozproszony system przełączania (Sup2T) z systemem przełączania scentralizowanego (Vyatta), więc ostrożnie interpretuj wyniki.

  • Sup2T może przesyłać dalej z prędkością do 60 Mb / s bez zrzutu, z włączonymi funkcjami . Odniesienie: Biała księga dotycząca architektury Catalyst 6500 Sup2T . Zauważ, że to tylko nagi system Sup2T bez kart rozproszonego przekazywania (DFC). Notatka 1
  • Znalazłem wyniki testu RFC 2544 dla przekazywania Vyatta 5600 przy prędkości do 20,58 Mb / s bez zrzutu i 70 Mb / s, jeśli możesz zaakceptować niektóre krople. Przepustowość NDR wynosiła 72 Gb / s. Odniesienie: Vyatta 5600 vRouter Performance Test (SDN Central) . SDN Centralna rejestracja jest wymagana, aby zobaczyć pełny raport.
  1. Jak na przykład porównuje szybkość przełączania Cisco 7200VXR-NPE-G2 z tym samym ...

Vyatta wydmuchuje NPE-G2 z wody pod względem wydajności; NPE-G2 może wykonać do 2Mpps na podstawie arkusza danych Cisco NPE-G2 . To nie jest tak naprawdę uczciwe porównanie, biorąc pod uwagę wiek NPE-G2, w porównaniu do zupełnie nowego 10-rdzeniowego systemu Intel wyposażonego w karty 10GE.

Jak typowe opóźnienia routera lub przełącznika różnią się od ogólnych systemów operacyjnych wykonujących tę samą funkcję?

To fantastyczne pytanie. Ten artykuł wskazuje, że Vyatta ma większe opóźnienia, ale chciałbym zobaczyć tego rodzaju testy przeprowadzone na procesorach z serii Intel E5.

streszczenie

Podsumowanie porównania Sup2T z Brocade Vyatta 5600:

  • Sup2T: 60 Mb / s NDR IPv4 z funkcjami (takimi jak listy ACL)
  • Vyatta i Intel E5: do 20 Mb / s NDR IPv4 bez funkcji lub 70 Mb / s, jeśli akceptujesz niewielką liczbę kropli.

Moim zdaniem Sup2T wciąż wygrywa, szczególnie gdy spojrzysz na to, co otrzymujesz dzięki Sup2T (skala rozproszona do 720Mpps, MPLS, niezliczone MIB, przełączanie Layer2 i Layer3 itp.).

Jeśli zależy Ci tylko na nieprzetworzonej wydajności przełączania, możesz uzyskać przyzwoitą wydajność z procesora x86. Jednak w prawdziwych sieciach często nie chodzi tylko o to, kto ma najlepsze liczby wyścigów drag; większość ludzi musi się martwić o funkcje (patrz: Kiedy powinienem skupić się na każdej wartości do oceny przełącznika? ). Dużym czynnikiem, który należy wziąć pod uwagę, jest liczba dostępnych funkcji i ich integracja z resztą sieci.

Warto również spojrzeć na wykonalność operacyjną wykorzystania systemów opartych na architekturze x86 w Twojej firmie. Sam nie korzystałem z Brocade + Vyatta, ale mogliby zrobić porządną robotę, budując dobre komendy pokazowe i podpierając haczyki do pudełka. Jeśli rzeczywiście obsługują wystarczającą liczbę funkcji, a ich system dobrze skaluje się w prawdziwych sieciach , wybierz to, jeśli lubisz.

Jednak jeśli ktoś pójdzie tanio i po prostu zbuduje pole linux + bird/ quagga+ ACL + qos, nie chciałbym być facetem wspierającym to rozwiązanie. Zawsze utrzymywałem, że społeczność Open Source wykonuje świetną robotę, wprowadzając innowacje, ale obsługa ich systemów jest blada w porównaniu z głównymi dostawcami sieci (Arista / Cisco / Force10 / Juniper). Wystarczy tylko spojrzeć iptablesi tcprzekonać się, jak skomplikowane jest tworzenie CLI. Od czasu do czasu odpowiadam na pytania od osób, które patrzą na dane wyjściowe ip link showlub ifconfigwpadają w błąd, ponieważ liczniki pakietów są nieprawidłowe; zazwyczaj główni dostawcy sieci wykonują znacznie lepszą pracę testując swoje liczniki, w porównaniu do tego, co widzę w sterownikach NIC dla systemu Linux.


Uwagi końcowe :

Uwaga 1 Nikt, kto dba o wydajność, nigdy nie kupiłby Sup2T i nie zapełniłby obudowy DFC. Sup2T może przełączać się z prędkością 60 Mb / s, ale obciążona obudowa z DFC skaluje się do 720 Mb / s.

Uwaga 2 Test Vyatta został przeprowadzony na dwuprocesorowym, 10-rdzeniowym procesorze Intel E5-2670v2 przy częstotliwości 2,5 GHz na rdzeń; jeśli policzymy pojedynczy rdzeń jako dwa wirtualne rdzenie (tj. hiperwątkowość), to łącznie 40 rdzeni do przełączania pakietów. Vyatta została skonfigurowana z kartami sieciowymi Intel x520-DA2 i używała Brocade Vyatta w wersji 3.2.


1
Czy wiesz, jakie były rozmiary ramek na tych rysunkach? W podsumowaniu dla Vyatty stwierdzono, że osiągnęli 70 Mb / s przy ramkach 64B; czy ten sam rozmiar ramki jest używany w testach Sup2T?
Ryan Foley

0

Seria 7200 jest przestarzała na korzyść serii ASR, ponieważ nie mogą one obsługiwać przełączania wielogigabitowego z szybkością linii. Katalizatory i przełączniki Nexus mają przewagę przekazywania w stosunku do procesora ogólnego przeznaczenia, JEŚLI przełączanie pakietów pozostaje w krzemie. Jeśli ruch musi zostać przełączony na proces (tj. Musi być oceniany na CPU zamiast w ASIC / FPGA), twoja przepustowość spada i opóźnienie wzrasta. Z tego powodu, jeśli potrzebujesz przełączania o wysokiej przepustowości, oddzielasz płaszczyznę przekazywania od płaszczyzny routingu i optymalizujesz, aby zachować jak najwięcej przełączeń w krzemie, jak to możliwe.

W niektórych przypadkach zobaczysz krzem przełączający specjalnego przeznaczenia połączony z procesorem ogólnego przeznaczenia (np. Przełączniki białej skrzynki przeznaczone do użycia Big Switch lub innego SDN do górnej części szafy, dystrybucji lub nakładki), a w tych przypadkach możesz zobaczyć to, co najlepsze ze wszystkich światów (wysoka przepustowość, przełączanie z niskim opóźnieniem; przetwarzanie dużej mocy do określania tras i zasad; integracja z systemami zarządzania, takimi jak Puppet lub Chef).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.