Wiele razy w swojej pracy spotkałem się z dwukrotnie zawyżonym opisem wydajności matrycy przełączającej, wyrażonym jako tzw. “half-duplex”.
Pragnę przedstawić wszystkim zainteresowanym jak wygląda architektura tego komponentu współczesnych routerów klasy operatorskiej dostępnych na rynku oraz zastanowić się, czy to, co jest często reklamowane jako “dwa razy wydajniej half-duplex” ma szansę na transfer danych z deklarowaną wydajnością.
Na początku cofnijmy się w czasie do momentu, gdy w routerach klasy operatorskiej stosowano tzw. magistrale przełączające (BUS). Stąd bowiem wywodzi się pojęcie transmisji half-duplex w routerze o architekturze przełączania rozdystrybuowanego.
Przyjrzyjmy się rysunkowi nr 1. Widzimy na nim trzy schematy połączeń kart liniowych wewnątrz urządzenia. Górny schemat (1) to rzeczona architektura magistrali przełączającej (BUS). Ogólna zasada tego rozwiązania to podłączenie wszystkich modułów do wspólnego kanału komunikacji – który zazwyczaj był projektowany z zapasem przepustowości. Jednak ponieważ był to jeden kanał komunikacji – transmisja danych mogła odbywać się tylko w formie half-duplex – czyli jeden moduł w danym czasie miał dostęp do magistrali i mógł na niej albo nadawać, albo odbierać.
Do tego momentu nazewnictwo half-duplex w tym przypadku jest trafne i naturalne.
Przejdźmy zatem do kolejnego etapu ewolucji – są to tzw. podłączenia szeregowe (2) – czyli połączenia z kart liniowych do scentralizowanego modułu przełączającego – osobne dla każdej karty liniowej. W ramach połączenia występowały dwie ścieżki – TX i RX.
W tym przypadku znowu mamy bardzo trafne nazewnictwo – full-duplex, ponieważ każda karta może wysyłać i odbierać dane w tym samym czasie. Schemat transmisji charakteryzował się komunikacją punkt-punkt z modułem scentralizowanym.
I wreszcie popatrzmy przez szkło powiększające na współczesne routery operatorskie (3). Są one wyposażane w tzw. bezstanową matrycę przełączającą (nazywaną po angielsku crossbar switch fabric, nazwa crossbar pochodzi od pierwotnych przełącznic telefonicznych – takich, jak np. Western Electric Type B z 1960 roku).
Technologia ta pozwala na stworzenie prawdziwej matrycy połączeń między wszystkimi modułami. Dlaczego zatem tak często słyszy się o zawyżonej wydajności matrycy przełączającej wyrażonej jako “half-duplex”? Być może dlatego, by podkreślić odejście od architektury magistrali (BUS). Jednak jest to mylne określenie. Zapoznajmy się ogólną budową matrycy przełączającej (rysunek 2).
Większości routerów na rynku jest w tym obszarze podobna – jeden wymiar matrycy to jej wejścia podłączane do każdego modułu, drugi wymiar to wyjścia – również podłączane do każdego modułu.
Taka architektura pozwala na komunikację każdy z każdym, bez obciążania modułu kontrolnego. Na przykładowym rysunku widać 4 karty liniowe. Załóżmy, iż każda karta ma wydajność 10Gbps.
Zatem wydajność matrycy przełączającej winna być opisana jako 4 * 10Gbps. Dlaczego? Ponieważ maksimum ruchu unicast, jaką możemy przesłać w danym czasie wynosi właśnie 40Gbps i nie więcej.
Dlaczego więc niektórzy opisują taką matrycę jako 80Gbps half-duplex? Nie wiem.
Można pomyśleć, że na rzeczy jest transmisja ruchu multicast (rysunek nr 3), gdy jeden strumień może zostać zreplikowany w matrycy na wiele kart liniowych. Jednak i wtedy nie uzyskamy podwójnej wydajności – mamy bowiem do dyspozycji na wyjściu do każdej karty liniowej 10Gbps, nie zaś 20Gbps, 40Gbps, lub więcej.
Warto przy tym podkreślić, iż Cisco jest jedną z niewielu firm, która w swoich najnowszych routerach operatorskich (ASR9000, CRS) stosuje replikację ruchu multicast w matrycy przełączającej. Dużo producentów, ze względu na wiek produktu i starszą technologie, wykorzystuje inne metody replikacji – jak np. replikacja wg drzewa binarnego przez karty liniowe.
Zatem należy postawić pytanie czy nie należy stosować opisu wydajności 40Gbps zamiast matrycy 80Gbps half-duplex w tym przypadku i analogicznie w innych, rzeczywistych?
1 Comments
Sensownie, temat zawsze sporny i warto jasno pisać, czy to jest z protekcją lub nie i czy jest non-blocking.