PLANOWANIE PRZEPŁYWU PAKIETÓW W POLACH CLOSA TYPU MSM Z WYKORZYSTANIEM STAŁYCH SCHEMATÓW POŁĄCZEŃ



Podobne dokumenty
OCENA WYBRANYCH ALGORYTMÓW PLANOWANIA PRZEPŁYWU PAKIETÓW W TRZYSEKCYJNYM POLU CLOSA

BADANIE STABILNOŚCI ALGORYTMU STEROWANIA POLEM CLOSA TYPU MSM

BADANIE ALGORYTMÓW STEROWANIA PAKIETOWYMI POLAMI KOMUTACYJNYMI

Redukcja kosztów połączeń telekomunikacyjnych przy wykorzystaniu central ISDN PABX

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór

ZiMSK. VLAN, trunk, intervlan-routing 1

ARCHITEKTURA GSM. Wykonali: Alan Zieliński, Maciej Żulewski, Alex Hoddle- Wojnarowski.

Uproszczenie mechanizmów przekazywania pakietów w ruterach

Mosty przełączniki. zasady pracy pętle mostowe STP. Domeny kolizyjne, a rozgłoszeniowe

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

GMPLS based control plane for Optical Burst Switching Network

Rodzaje, budowa i funkcje urządzeń sieciowych

Szeregowanie pakietów

Wybrane mechanizmy gwarantowania jakości usług w sieciach IP. Dariusz Chaładyniak, Maciej Podsiadły * Warszawska Wyższa Szkoła Informatyki

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Sterowanie ruchem w sieciach szkieletowych

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

Komutacja ATM i IP. Dr inż. Robert Wójcik. na podstawie wykładu Prof. dr hab. inż. Andrzeja Jajszczyka

dwójkę liczącą Licznikiem Podział liczników:

Ćw. 7: Układy sekwencyjne

router wielu sieci pakietów

(57) Tester dynamiczny współpracujący z jednej strony (13) B1 (12) OPIS PATENTOWY (19) PL (11) PL B1. (54) Tester dynamiczny

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Struktury Danych i Złożoność Obliczeniowa

Spacery losowe generowanie realizacji procesu losowego

Programowanie współbieżne Wykład 2. Iwona Kochańska

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA CZĘŚĆ I

TELEFONIA INTERNETOWA

Colloquium 1, Grupa A

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Wprowadzenie do programowania

Algorytmy sztucznej inteligencji

Dlaczego Meru Networks architektura jednokanałowa Architektura jednokanałowa:

Wykorzystanie linii kwantylowych zakumulowanego procesu FARIMA do modelowania samopodobnego ruchu pakietowego

dr inż. Jarosław Forenc

Instrukcja do ćwiczenia : Matryca komutacyjna

Dr Michał Tanaś(

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Elementy Modelowania Matematycznego

Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii

Sieci Komputerowe 2 / Ćwiczenia 2

Metody optymalizacji soft-procesorów NIOS

Architektura komputerów

Ćwiczenie 1. Badanie struktury pola komutacyjnego centrali S12

Konfigurowanie sieci VLAN

Architektura komputerów. Układy wejścia-wyjścia komputera

Pamięci masowe. ATA (Advanced Technology Attachments)

Pola komutacyjne pusty

Lista propozycji tematów prac dyplomowych

RODZAJE PAMIĘCI RAM. Cz. 1

(12) OPIS PATENTOWY (19) PL (11) (13) B1 PL B1 H04M 11/00 H04L 12/16 G06F 13/00 RZECZPOSPOLITA POLSKA. (21) Numer zgłoszenia:

Kondensator wygładzający w zasilaczu sieciowym

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

5. Algorytm genetyczny przykład zastosowania

Wykład 3. Interfejsy CAN, USB

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

Routing i polityka bezpieczeństwa w Śląskiej Akademickiej Sieci Komputerowej

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

dr Adam Sojda Wykład Politechnika Śląska Badania Operacyjne Teoria kolejek

MASKI SIECIOWE W IPv4

Hierarchiczna analiza skupień

Architektura potokowa RISC

Z A P Y T A N I E O F E R T O W E

ĆWICZENIE 15 BADANIE WZMACNIACZY MOCY MAŁEJ CZĘSTOTLIWOŚCI

Planowanie przydziału procesora

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Sieci obliczeniowe poprawny dobór i modelowanie

ARP Address Resolution Protocol (RFC 826)

ROADSHOW2016. Wprowadzenie. Rynek telekomunikacji w Polsce. Marcin Bieńkowski. kontakt: marcin.w.bienkowski@gmail.com

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny

Planowanie przydziału procesora

Sieci WAN. Mgr Joanna Baran

Działanie komputera i sieci komputerowej.

Maciej Piotr Jankowski

Problematyka sieci miejscowej LIN

Katedra Inżynierii Systemów Sterowania WEiA PG. Przemysłowe Sieci Informatyczne Laboratorium

- na terenach pozbawionych technicznych możliwości tradycyjnego dostępu do Internetu

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Wykład IV. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

IP Multi-site Connect Application. Spis treści

Warstwy i funkcje modelu ISO/OSI

NAT (Network Address Translation)

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Planowanie przydziału procesora

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

Mikroprocesor Operacje wejścia / wyjścia

Ćwiczenie: "Pomiary mocy w układach trójfazowych dla różnych charakterów obciążenia"

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Urządzenia wejścia-wyjścia

Transkrypt:

Janusz Kleban janusz.kleban@et.put.poznan.pl Sławomir Węclewski sweclewski@omnitel.pl Wydział Elektroniki i Telekomunikacji Politechnika Poznańska 2006 Poznańskie Warsztaty Telekomunikacyjne Poznań 7-8 grudnia 2006 PLANOWANIE PRZEPŁYWU PAKIETÓW W POLACH CLOSA TYPU MSM Z WYKORZYSTANIEM STAŁYCH SCHEMATÓW POŁĄCZEŃ Streszczenie: W pracy przedstawiono algorytmy planowania przepływu pakietów w trzysekcyjnym polu Closa MSM bazujące na stałych schematach połączeń. Zaproponowano nowy algorytm pozwalający na osiągnięcie lepszych wyników dla ruchu nierównomiernego, w szczególności dla transdiagonalnego. Na bazie eksperymentów symulacyjnych porównano średnie opóźnienie komórek oraz długości kolejek VOQ przy zastosowaniu algorytmów proponowanych w literaturze oraz algorytmów i.. WSTĘP Rozwój Internetu w kierunku sieci multimedialnej świadczącej różnego rodzaju usługi zależy w dużej mierze od możliwości zbudowania pakietowych węzłów komutacyjnych o bardzo dużej pojemności. Pojedyncze porty nowoczesnych routerów już obecnie powinny obsługiwać ruch na poziomie 622 Mb/s, 2,5 Gb/s, czy nawet 0 Gb/s []. Tak dużych przepustowości węzłów nie można osiągnąć przy wykorzystaniu stosowanych obecnie w routerach rozwiązań technologicznych, stąd bardzo intensywnie poszukuje się nowych, skalowalnych architektur. Obecnie operatorzy sieciowi zainteresowani są głównie routerami/przełącznikami o przepustowości 20-640 Gb/s, ale przewiduje się, że węzły o większej pojemności będą potrzebne już wkrótce. Umiarkowane zainteresowanie węzłami terabitowymi spowodowane jest głównie wolniejszym niż przypuszczano rozwojem usług wymagających dużych szybkości transmisji np. wideo na żądanie. Ze względu na ograniczenia technologiczne konstruowanie węzłów sieciowych o przepustowościach sięgających Tb/s lub Pb/s jest ogromnym wyzwaniem. Węzły sieciowe o większych pojemnościach buduje się aktualnie na zasadzie tworzenia klastrów routerów o mniejszych pojemnościach. Rozwiązanie to jest jednak drogie i nie zapewnia żądanej skalowalności. Większość proponowanych obecnie rozwiązań, dla pakietowych systemów komutacyjnych o bardzo dużych przepływnościach, wykorzystuje do przesłania przez pole komutacyjne pakiety o stałej długości zwane komórkami. Oznacza to, że pakiety o zmiennej długości napływające do węzła sieciowego (np. pakiety IP) są dzielone na segmenty o stałej długości, które następnie są pakowane do komórek i przesyłane przez pole komutacyjne do portów wyjściowych. Pakiety opuszczają węzeł komutacyjny po procesie desegmentacji, podczas którego odzyskują pierwotną wielkość [2]. Jednym z bardzo istotnych elementów architektury pola komutacyjnego routera są bufory wykorzystywane do rozwiązywania konfliktów wynikających z kierowania pakietów do tych samych wyjść. Bufory mogą być umieszczone po stronie wejściowej, wyjściowej lub wewnątrz pola komutacyjnego [3]. W zależności od umiejscowienia wyróżniamy pola komutacyjne z buforowaniem: wejściowym IQ (ang. Input Queued), wyjściowym OQ (ang. Output Queued), mieszanym wejściowo-wyjściowym CIOQ (ang. Combined Input and Output Queued), mieszanym wejściowo-wewnętrznym CICQ (ang. Combined Input and Crosspoint Queued). Szeroko dyskutowane w literaturze rozwiązanie z buforowaniem wejściowym zakłada wykorzystanie tzw. wirtualnych kolejek wyjściowych VOQ (ang. Virtual Output Queuing) [4], [5]. W tym przypadku bufor wejściowy w każdym porcie wejściowym jest dzielony na k równoległych kolejek, z których każda przechowuje pakiety kierowane do danego wyjścia pola komutacyjnego. Pakiety przybywające na wejście są buforowane w odpowiedniej kolejce wyjściowej i oczekują na przesłanie przez pole komutacyjne. W tym rozwiązaniu prędkość pamięci pozostaje porównywalna z szybkością linii, ale istnieje potrzeba zastosowania dobrego algorytmu planowania przepływu pakietów przez pole komutacyjne, zapewniającego osiągnięcie dużej przepływności i małego opóźnienia. Wydajność przełącznika może być zwiększona, gdy szybkość pracy pola komutacyjnego jest większa od szybkości łączy wejściowych i wyjściowych, ale w tym przypadku również wymagane są pamięci o krótkim czasie zapisu i odczytu. Różne algorytmy planowania przepływu pakietów były rozpatrywane w literaturze, większość z nich zapewnia uzyskanie 00% przepustowości dla ruchu równomiernego [2, 6-0]. W implementacji pakietowych systemów komutacyjnych o dużej przepływności coraz częściej zakłada się możliwość wykorzystania wielosekcyjnych pól komutacyjnych Closa. Pola tego typu są bardzo ciekawym rozwiązaniem ze względu na możliwość łatwej rozbudowy i zwiększania pojemności. Wyróżnia się pola Closa z buforowaniem w pierwszej i trzeciej sekcji - MSM (ang. Memory-Space-Memory) i bez buforowania - SSS (ang. Space-Space-Space).

Dalsza część artykułu dotyczy trzysekcyjnego pola Closa typu MSM. W rozdziale 2. przedstawiono budowę pola tego typu oraz stosowane oznaczenia. W rozdziale 3. omówiono algorytmy planowania przepływu pakietów wykorzystywane w trzysekcyjnym polu Closa, a w szczególności algorytmy i. Rozdział 4. zawiera charakterystykę eksperymentów symulacyjnych, otrzymane wyniki badań i ich dyskusję. Wnioski końcowe zamieszczono w rozdziale 6. 2. POLE CLOSA TYPU MSM Pole Closa jest strukturą dobrze znaną i szeroko opisaną w literaturze []. Na rys. przedstawiono pole Closa z kolejkami VOQ. Przyjęto następujące oznaczenia: IM(i) - (i+). komutator pierwszej sekcji (wejściowy), 0 i k-; CM(r) - (r+). komutator drugiej sekcji, 0 r m-; OM(j) - (j+). komutator trzeciej sekcji (wyjściowy), 0 j k-; n -liczba we/wy w każdym IM/OM; k liczba komutatorów IM/OM; m -liczba komutatorów CM; IP(i,h) - (h+). port wejściowy w IM(i), 0 h n-; OP(j,l) - (l+). port wyjściowy w OM(j), 0 l n-; VOQ(i,j,h) - wirtualna kolejka wyjściowa w IM(i), przechowuje komórki przeznaczone dla OP(j,h); L I (i,r) - wyjście komutatora IM(i), połączone z komutatorem CM(r); L C (r,j) - wyjście komutatora CM(r), połączone z komutatorem OM(j). IP (0,0) IP (0,n-) IP (i,0) IP (i,n-) IP (k-,0) IP (k-,n-) IM (0) VOQ(0,0,0) VOQ(0,k-,n-) IM (i) VOQ(i,0,0) VOQ(i,k-,n-) IM (k-) VOQ(k-,0,0) VOQ(k-,k-,n-) CM (0) OM (0) CM (r) CM (m-) LI (i, r) LC (r, j) Rys.. Pole Closa typu MSM OM (j) OM (k-) OP (0,0) OP (0,n-) OP (j,0) OP (j,n-) OP (k-,0) OP (k-,n-) Pierwsza sekcja składa się z k komutatorów wejściowych (IM), z których każdy ma n portów wejściowych i m wyjściowych. Druga sekcja składa się z m, pozbawionych buforów, komutatorów (CM), z których każdy ma k portów wejściowych i k wyjściowych. Trzecia sekcja składa się z k komutatorów wyjściowych (OM), z których każdy ma m portów wejściowych i n wyjściowych. Każdy IM(i) zawiera n*k kolejek VOQ, których zadaniem jest eliminacja efektu HOL (ang. Head-of Line blocking). Kolejka VOQ jest oznaczana jako VOQ(i,j,h). Każda kolejka VOQ(i,j,h) przechowuje komórki pochodzące z wejść komutatora IM(i), przeznaczone dla portów wyjściowych OP(j,h). W pojedynczej szczelinie czasowej, VOQ może otrzymywać maksymalnie n komórek z n portów wejściowych. Każdy IM(i) ma m portów wyjściowych L I (i,r) i jest połączony z każdym k- wyjściowym komutatorem CM(r). Porty wyjściowe komutatorów CM(r) oznaczane są jako L C (r,j) i są podłączone do jednego z k komutatorów OM(j). OM(j) ma n portów wyjściowych, każdy jest oznaczony jako OP(j,h) i posiada bufor. W pojedynczej szczelinie czasowej, bufor może otrzymać maksymalnie m komórek, ale tylko jedną z nich może przekazać do portu wyjściowego. Bufory te działają na zasadzie First- In-First-Out (FIFO). Przyjmujemy założenie, że bufory te mają nieskończoną długość. 3. ALGORTMY PLANOWANIA PRZEPŁYWU PAKIETÓW W POLU CLOSA MSM Ze względu na zjawisko blokady zewnętrznej i wewnętrznej przesłanie komórki przez pakietowe pole komutacyjne musi być poprzedzone decyzjami, które komórki z poszczególnych wejść będą w danej szczelinie czasowej przesłane do żądanych wyjść. W praktyce stosuje się układy planowania zwane także arbitrami, których zadaniem jest rozstrzyganie sporów o dostęp do żądanych wyjść. Stosowane są różne metody arbitrażu decydujące o akceptacji bądź odrzuceniu żądania przesłania komórki z wejścia na wyjście pola komutacyjnego. Można wyróżnić trzy podstawowe metody wykorzystywane w arbitrażu: wybór przypadkowy (ang. Random Selection), wybór zgodnie z zasadą FIFO (and. First In First Out) oraz round-robin (quasiprzypadkowy) jest to najczęściej stosowany algorytm polegający na rozpoczęciu poszukiwania komórki do przesłania od kolejki o numerze o większym w stosunku do numeru kolejki, która otrzymała akceptację w poprzedniej szczelinie czasowej. W procesie wyboru komórki, która będzie transmitowana przez pole komutacyjne z danego wejścia do żądanego wyjścia przesyłane są następujące sygnały: Żądanie (ang. Request) sygnał żądania połączenia wysyłany z buforów wejściowych do arbitrów powiązanych z wyjściami. Potwierdzenie (ang. Grant) sygnał potwierdzający możliwość zrealizowania żądania. Akceptacja (ang. Accept) sygnał ostatecznej akceptacji, po którym dochodzi do transmisji komórki. Proces podejmowania decyzji o tym, która komórka z wejścia zostanie przesłana do wyjścia składa się co najmniej z trzech etapów, w których przesyłane są sygnały żądania, potwierdzenia oraz akceptacji. Przykładowe algorytmy planowania przepływu pakietów w polach jednosekcyjnych to [2]: PIM (ang. Parallel Iterative Matching), irrm (ang. Iterative Round-Robin Matching), islip (ang. Iterative Round- Robin with SLIP) oraz DRRM (ang. Dual Round-Robin Matching). Przykładowe algorytmy wykorzystywane w trzysekcyjnych polach Closa to [7], [8]: RD (ang. Random Dispatching), CRRD (ang. Concurrent Round Robin Dispatching), CM (ang. Concurrent Master

Slave Round Robin Dispatching). Algorytm CM jest ulepszoną wersją algorytmu CRRD, dlatego wyniki uzyskiwane dla tego algorytmu są w rozdz. 4 wykorzystane do porównania z wynikami otrzymanymi za pomocą nowych algorytmów. Implementacje pól komutacyjnych w obecnie produkowanych węzłach komutacyjnych bazują na technologii SERDES. Jedna szczelina czasowa w polu z portami 0 Gb/s trwa ok. 50 ns. W tak krótkim czasie bardzo trudno zrealizować arbitraż oparty na przesyłaniu sygnałów żądanie-potwierdzenie-akceptacja, które muszą być parokrotnie przesłane przez złącza szeregowe zrealizowane zgodnie z technologią SERDES. Istnieje zatem potrzeba poszukiwania algorytmów, które minimalizowałyby liczbę interakcji między poszczególnymi elementami pola komutacyjnego. Kryterium to spełniają algorytmy oparte na stałych schematach połączeń. Do grupy tej należą: (ang. Static Desynchronization) i MM (ang. Maximal Matching Static Desynchronization) [0]. Statyczną desynchronizację wskaźników wykorzystano w algorytmach: SSRR (ang. Single Static Round-Robin), DSRR (ang. Double Static Round-Robin) and (ang. Static Round-Robin Dispatching) zaproponowanych w [8]. Dla porównania w rozdziale 4. zamieszczono wyniki uzyskane dla algorytmu. Algorytmy należące do tej grupy nie minimalizują liczby interakcji między poszczególnymi elementami pola komutacyjnego, lecz wymuszają cykliczną realizację określonych schematów połączeń w każdym komutatorze wejściowym. Algorytm W algorytmie (ang. Static Dispatching), dzięki stałemu schematowi połączeń w środkowej sekcji pola oraz odpowiedniemu dopasowaniu wyjść L I (i,r) z kolejkami VOQ, możliwe jest uniknięcie konfliktu komórek przy jednoczesnej eliminacji potrzeby arbitrażu. Stały schemat połączeń w komutatorach środkowej sekcji pola Closa typu MSM umożliwia utworzenie drogi połączeniowej między dowolnym komutatorem IM(i) a dowolnym komutatorem OM(j), przy czym między parą komutatorów zewnętrznych istnieje wyłącznie jedna droga. Oznacza to, że każdy z komutatorów IM może przesłać komórkę do każdego z komutatorów OM, lecz poszczególne wyjścia L I przesyłają komórki do innego komutatora OM. W związku z powyższym, istnieje możliwość wyeliminowania drugiej sekcji pola i połączenie wyjść komutatorów IM bezpośrednio z wejściami komutatorów OM, co będzie przedmiotem dalszych badań. Schemat stałych połączeń w komutatorach drugiej sekcji (CM) dla przykładowego pola C(3,3,3) przedstawiono na rys. 2. Zgodne z architekturą trzysekcyjnego pola Closa, każde wyjście L I (i,r), jest połączone z innym komutatorem centralnym i wyczytuje komórki z ściśle określonych kolejek VOQ przechowujących komórki do wyjść danego modułu wyjściowego OM. Wyjście L I (i,r) może więc wysyłać komórki do komutatora OM(j), gdzie j=(i+r) mod k. Kolejki, które posiadają komórki do danego OM(j) będziemy nazywali skojarzonymi z wyjściem L I (i,r). CM(0) CM() CM(2) Rys. 2. Stały schemat połączeń w komutatorach środkowej sekcji w polu C(3,3,3) Kroki algorytmu : Krok : Każde wyjście L I (i,r) przeszukuje skojarzone z nim kolejki VOQ i wybiera pierwszą napotkaną, niepustą kolejkę. Krok 2: Z kolejki wybranej w kroku w następnej szczelinie czasowej jest przesyłana najstarsza komórka. Krok 3: Jeśli w kroku nie znaleziono komórki, która może być przesłana przez dane wyjście L I (i,r), to w następnej szczelinie czasowej pozostaje ono nieobsadzone. Algorytm Autorzy proponują algorytm (ang. Static Dispatching with Buffers Load Monitoring) jako rozwinięcie algorytmu. Jego cechą charakterystyczną jest możliwość rozładowania najbardziej obciążonych buforów. Rzeczywisty rozkład ruchu w węźle pakietowym jest daleki od równomiernego, z tego względu część kolejek VOQ wypełnia się szybciej od innych. Przykładem ruchu nierównomiernego, jest ruch transdiagonalny, w którym połowa komórek kierowana jest do komutatora wyjściowego o takim samym numerze jak komutator wejściowy, a druga połowa komórek jest równomiernie rozsyłana do reszty wyjść. Możliwość rozładowania najbardziej obciążonych buforów powoduje, że komórki zajmujące dalsze miejsca w kolejkach zostaną szybko przesunięte do przodu, co obniża średnią wartość opóźnienia komórek w polu komutacyjnym. W celu realizacji algorytmu konieczne jest wprowadzenie liczników OMCC(i,j) (ang. OM s Cells Counter) zliczających komórki przechowywane w wirtualnych kolejkach wyjściowych VOQ(i,j,h) w modułach IM(i) i kierowanych do danego OM(j). Licznik, który osiągnął wartość większą lub równą n, wysyła sygnał przeciążonego bufora do arbitra centralnego. Arbiter centralny posiada bitową macierz obciążenia buforów, w której zapisuje czy dana para komutator wejściowy komutator wyjściowy posiada co najmniej n komórek do przesłania. Wiersze tej macierzy określają numer komutatora IM(i), kolumny natomiast numer komutatora OM(j). Elementy macierzy przyjmują wartość 0 lub, przy czym wartość wskazuje, że jest co najmniej n komórek do przesłania między IM(i) oraz OM(j). Na rys. 3 przedstawiono przykładową macierz obciążenia buforów, po otrzymaniu sygnałów od liczników OMCC. Przedstawiona na rysunku sytuacja może wystąpić w ruchu transdiagonalnym. W tym przypadku arbiter wymusza takie zestawienie połączeń

w polu, aby komórki z IM() były przesyłane do OM(), z IM(2) do OM(2) itd. Faza rozładowania buforów jest realizowana tylko wówczas, gdy każdy IM(i) ma do przesłania co najmniej n komórek do OM(i). Jeśli wypełnienie buforów nie osiągnęło wartości n stosowany jest algorytm. 0 0 0 0 0 0 Rys. 3. Macierz obciążenia buforów, pole C(3,3,3) Etapy algorytmu : Etap: Aktualizacja liczników OMCC oraz wysłanie sygnałów do arbitra centralnego Krok: Po zapamiętaniu nowych komórek, dokonaj aktualizacji liczników OMCC(i,j) w każdym module wejściowym. Krok2: Jeśli wartość licznika OMCC(i,j) jest równa lub większa od n, wyślij sygnał do arbitra centralnego. Krok3: Po otrzymaniu sygnałów od liczników OMCC arbiter centralny sprawdza, czy na przekątnej macierzy obciążenia buforów występują jedynki. Jeśli jedynki nie występują, to przejdź do kroku 4, jeśli występują to przejdź do Etapu 2. Krok4: Realizuj przesyłanie komórek zgodnie z algorytmem. Przejdź do kroku. Etap2: Dopasowanie modułów IM-OM przez arbitra centralnego Krok: W każdym komutatorze IM(i), wybierz dokładnie n komórek spośród n kolejek przechowujących komórki do wyjść komutatora OM(i) wskazanego przez arbitra. Krok3: W następnej szczelinie czasowej prześlij z komutatora IM(i) n komórek do komutatora OM(i). Przejdź do Etapu. 4. EKSPERYMENTY SYMULACYJNE W celu przeprowadzenia badań symulacyjnych zaprezentowanych algorytmów planowania pakietów w polach Closa z buforowaniem w pierwszej i trzeciej sekcji, powstał program komputerowy ClosNetSimulla. Umożliwia on symulowanie działania pola Closa dla dowolnego algorytmu oraz zadanego obciążenia. Środowisko symulacyjne ClosNetSimulla można podzielić na trzy zasadnicze elementy. Pierwszym z nich jest program będący właściwym symulatorem, który pozwala na przeprowadzanie eksperymentów symulacyjnych, definiowanie rodzaju pola, wybór algorytmu i określenie przebiegu symulacji (obciążenie, liczba powtórzeń, długość serii, itp.). Drugim elementem jest biblioteka Network, która zawiera wszystkie niezbędne elementy do budowy pól Closa oraz algorytmów sterujących, takie jak: klasy komutatora, arbitrów, buforów, itp. Trzecim elementem są właściwe algorytmy dołączone w postaci biblioteki Algorithms. Eksperymenty symulacyjne wykonano dla wartości obciążenia z przedziału od 0,05 do z krokiem równym 0,05. Czas poprzedzający symulację wynosił 5000 cykli (szczelin czasowych), natomiast czas obserwacji w jednej serii obejmował 35000 cykli. Badane było opóźnienie pakietów rozumiane, jako czas potrzebny do dokonania wyboru kolejki i przesłania komórki z wejścia na wyjście komutatora sekcji pierwszej pola Closa. Inne mierzone wartości to średnia i maksymalna długość kolejek VOQ. Opóźnienie wprowadzane przez bufory wyjściowe w sekcji trzeciej nie było brane pod uwagę. Symulacji poddano algorytmy CM,, oraz w polu Closa C(8,8,8). Pomiary przeprowadzono dla ruchu równomiernego, paczkowego (długość paczki równa 0) oraz dla ruchu transdiagonalnego. W przypadku algorytmu CM przeprowadzono osobno symulacje dla jednej i czterech iteracji wewnątrz modułu IM (oznaczonych jako iim), jednak ze względu na przejrzystość wykresów podano jedynie wyniki dla czterech iteracji, ponieważ są one zawsze lepsze od wyników dla jednej iteracji. Większa liczba iteracji nie powodowała widocznej poprawy jakości działania algorytmu. Wyniki eksperymentów symulacyjnych przedstawiono na rys. 4-0, ze względu na małe wartości pominięto 95% przedziały ufności. Ruch równomierny W eksperymentach symulacyjnych ruch równomierny był generowany zgodnie z rozkładem Bernoulliego. Wszystkie symulowane algorytmy osiągnęły 00% przepustowość (rys. 4). Na podkreślenie zasługuje fakt uzyskania przez prosty algorytm dobrych wyników, w porównaniu z algorytmami opartymi na skomplikowanym arbitrażu. Dla algorytmu mierzone wartości praktycznie pokrywały się z wynikami uzyskanymi dla algorytmu. Wynika to z tego, że arbiter centralny bardzo rzadko i to jedynie w przypadku obciążenia bliskiego potrafił dopasować odpowiednie moduły IM-OM. Można stwierdzić, że przez zdecydowaną większość czasu, algorytm pracował jak. Pomimo czterech iteracji w algorytmie CM dla obciążenia powyżej 0,7, średnie opóźnienie komórek rosło znacznie szybciej niż w przypadku proponowanych w artykule algorytmów i. Zgodnie z przewidywaniami, średnia długość kolejek VOQ była największa dla algorytmów oraz CM (rys.5). Wynika to z prostego faktu, że im mniejsze średnie opóźnienie komórek tym szybciej opuszczają one kolejki VOQ i trafiają do buforów wyjściowych. Widoczne jest zatem pogorszenie wartości średniej długości kolejek VOQ dla algorytmu CM w stosunku do i dla obciążenia powyżej 0,75. Algorytm SSRD osiągnął najsłabsze rezultaty w zakresie średniego opóźnienia komórek, tak więc średnia długość kolejek VOQ w przypadku tego algorytmu odstaje od pozostałych algorytmów dla każdej wartości obciążenia wejściowego. Podobną tendencję można zauważyć obserwując wykres przedstawiający maksymalną liczbę komórek w kolejkach VOQ (rys. 6).

Średnie opóźnienie komórek [szczeliny czasowe] 000 00 0 CM iim=4 Średnie opóźnienie komórek [szczeliny czasowe] 000 00 0 CM iim=4 0 0, 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 Rys. 4. Średnie opóźnienie komórek (ruch równomierny) Średnia długość VOQ 0 0,0 0,00 0,000 0,0000 0 0, 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0, CM iim=4 Rys. 5. Średnia długość VOQ (ruch równomierny) 0 0, 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 Rys. 7. Średnie opóźnienie komórek (ruch paczkowy, b=0) Średnia długość VOQ 00 0 0 0, 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0, 0,0 0,00 CM iim=4 Rys. 8. Średnia długość VOQ (ruch paczkowy, b=0) Maksymalna długość VOQ 000 00 0 CM iim=4 Maksymalna długość VOQ 0000 000 00 0 CM iim=4 0 0, 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 Rys. 6. Maksymalna długość VOQ (ruch równomierny) Ruch paczkowy Dla ruchu paczkowego przyjęto długość paczki równą 0. Średnie opóźnienie komórek w przypadku wszystkich algorytmów pogorszyło się, lecz tendencje są zbliżone do zaobserwowanych w przypadku ruchu równomiernego. Uzyskane wyniki obejmujące średnie opóźnienie komórek, średnią długość VOQ i maksymalną długość VOQ przedstawiono na rys. 7-9. 0 0, 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 Rys. 9. Maksymalna długość VOQ (ruch paczkowy, b=0) Ruch nierównomierny Jako przykład ruchu nierównomiernego w eksperymentach symulacyjnych wykorzystano ruch transdiagonalny, który jest ruchem bardzo trudnym z punktu widzenia planowania przepływu pakietów. W tym przypadku następuje koncentracja ruchu między komutatorami pierwszej i trzeciej sekcji o tych samych numerach. Prawdopodobieństwo skierowania pakietu z komutatora IM(i) do danego komutatora OM(j) można opisać następująco: ρ / 2 = ρ / 2( N p i, j ) dla i = j w przeciwnym wypadku

Eksperymenty symulacyjne pokazały, że algorytmy:, CM oraz nie osiągnęły 00% przepustowości (rys. 0), gdy rozkład ruchu jest transdiagonalny. Powyżej określonego obciążenia średnie opóźnienie komórek dla tych algorytmów przekracza 000 szczelin czasowych. Na rys. 0 nie przedstawiono większego opóźnienia niż wspomniana wartość, gdyż uznano, że stosowanie tych algorytmów w rzeczywistym sprzęcie nie ma sensu. Ze względu na to, że w algorytmie, w ciągu jednej szczeliny czasowej, z jednego komutatora IM można wysłać co najwyżej jedną komórkę do jednego z komutatorów wyjściowych, nie nadaje się on do planowania przepływu pakietów, gdy rozkład ruchu ma charakter diagonalny. Dla obciążenia na poziomie 0,25 średnie opóźnienie komórek wyniosło powyżej 000 szczelin czasowych. Powoduje to konieczność umieszczenia bardzo dużych buforów w węźle pakietowym i skutkuje nieakceptowalnymi opóźnieniami w transmisji. Średnie opóźnienie komórek dla algorytmu, dla obciążenia powyżej 0,3 waha się w okolicach 50 szczelin czasowych, co wskazuje na dużą rolę wprowadzonego mechanizmu rozładowania buforów. Wraz z wzrostem obciążenia, do wejść napływa coraz więcej komórek, z drugiej strony arbiter centralny coraz częściej podejmuje decyzję o rozładowaniu VOQ poprzez narzucenie określonego schematu połączeń pozwalających na przesłanie komórek pomiędzy IM(i) oraz OM(i). W przypadku algorytmu CM, osiąga on małe średnie opóźnienie poniżej obciążenia o wartości 0,65. Dla wyższych obciążeń, średnie opóźnienie dla tego algorytmu przekracza 000 szczelin czasowych, mimo czterokrotnej iteracji. Algorytm osiągnął średnie opóźnienie komórek porównywalne do algorytmu, choć jego złożoność implementacyjna jest zdecydowanie większa. Średnie opóźnienie komórek [szczeliny czasowe] 000 00 0 CM iim=4 0 0, 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 Rys. 0. Średnie opóźnienie komórek (ruch transdiagonalny) 5. UWAGI KOŃCOWE W niniejszej pracy zaprezentowano dwa algorytmy oparte na stałych schematach połączeń. Są one dużo prostsze w implementacji sprzętowej niż algorytmy oparte na skomplikowanym arbitrażu, natomiast uzyskiwane wyniki są porównywalne lub lepsze od wyników uzyskiwanych za pomocą zaawansowanych algorytmów. Eliminują one również konieczność przesyłania sygnałów żądanie-potwierdzenie-akceptacja, co znacznie upraszcza podejmowanie decyzji odnośnie komórek, które mają być przesłane z wejść do wyjść pola komutacyjnego. Zaproponowany w pracy algorytm może być adoptowany do ruchów o różnym rozkładzie. W artykule przedstawiono jego zastosowanie dla ruchu o rozkładzie transdiagonalnym. W przypadku innych rozkładów ruchu arbiter centralny będzie reagował na inny układ jedynek w macierzy obciążeń. Dalszych badań wymaga konkretna implementacja sprzętowa zaproponowanych algorytmów oraz sygnalizowana w rozdz. 3 możliwość uproszczenia struktury pola komutacyjnego. SPIS LITERATURY [] F. M. Chiussi, A. Francini: Scalable Electronic Packet Switches, IEEE Journal of Selected Areas in Communications, vol. 2, no. 4, 2003. [2] H. J. Chao, C. H. Lam, and E. Oki: Broadband Packet Switching Technologies: A Practical Guide to ATM Switches and IP Routers, Willey, New York, 200. [3] K. Yoshigoe and K.J. Christensen: An evolution to crossbar switches with virtual ouptut queuing and buffered cross points', IEEE Network, vol. 7, no. 5, pp. 48-56, 2003. [4] Y. Tamir and G. Frazier: High performance multiqueue buffers for VLSI communications switches, in Proc. Computer Architecture, pp., 343-354. [5] T. Anderson, et al.: High-speed switch scheduling for local-area networks, ACM Trans. on Computer Systems, vol., no. 4, pp. 39-352, 993. [6] E. Oki, R. Rojas-Cessa, and H. J. Chao: A pipeline-based approach for maximal-sized matching scheduling in input-buffered switches, IEEE Communications Letters, vol. 5, no. 6, pp. 263-265, 200. [7] E. Oki, Z. Jing, R. Rojas-Cessa, and H. J. Chao: Concurrent Round-Robin-Based Dispatching Schemes for Clos-Network Switches, IEEE/ACM Trans. on Networking, vol. 0, no.6, pp. 830-844, 2002. [8] K. Pun, M. Hamdi: Dispatching schemes for Clos-network switches Computer Networks no. 44, pp.667-679, 2004. [9] J. Kleban, A. Wieczorek: "CRRD-OG: A Packet Dispatching Algorithm with Open Grants for Three-Stage Buffered Clos-Network Switches", IEEE High Performance Switching and Routing 2006, Poznań, June 07-09, 2006, pp.35-320. [0] J. Kleban, H. Santos: "Packet Dispatching Algorithms with Static Desynchronization for Three-Stage Buffered Clos-Network Switches", 4th Polish-German Teletrafic Symposium PGTS 2006, Wrocław, September 2-22, 2006, pp. 87-94. [] C. Clos: A Study of Non-Blocking Switching Networks, Bell Sys. Tech. Jour., pp. 406-424, March 953.