2004
Poznańskie Warsztaty Telekomunikacyjne Poznań 9 - 10 grudnia 2004 Wojciech Kabaciński
Marek Michalski
Instytut Elektroniki i Telekomunikacji Politechniki Poznańskiej
(Wojciech.Kabaciński,
Marek.Michalski)@et.put.poznan.pl
WARUNKI KONIECZNE NIEBLOKOWALNOŚCI W SZEROKIM SENSIE PÓL KOMUTACYJNYCH MULTI-LOG 2 N
Streszczenie: Warunki nieblokowalności w wąskim sensie dla połączeń punkt-punkt, a także warunki nieblokowalności w wąskim sensie dla połączeń multicastowych były rozważane w różnych publikacjach.
W tym artykule zostaną wskazane i udowodnione warunki konieczne dla nieblokowalności pól w szerokim sensie przy zastosowaniu różnych algorytmów sterowania polem multi-log
2N dla połączeń punkt-punkt.
1 . WPROWADZENIE
Pola nieblokowalne w szerokim sensie (Wide Sense Nonblocking – WSNB) po raz pierwszy zostały opisane przez Benesa w jego książce opublikowanej w 1965 roku [1]. Różnią się one od pól nieblokowalnych w wąskim sensie (Strict Sense Nonblocking – SSNB) tym, że zawsze można w nich wskazać drogę połączenia wolnego wejścia i wolnego wyjścia stosując odpowiedni sposób wyboru dróg dla zestawianych wcześniej połączeń. W polach nieblokowalnych w wąskim sensie drogę połączenia wolnego wejścia z wolnym wyjściem można wskazać zawsze bez względu na stan pola i sposób określania drogi dla wcześniej zestawianych połączeń. Trzecią klasę pól nieblokolwalnych stanowią pola przestrajalne. Są to pola, w których również zawsze możliwe jest określenie drogi dla połączenia wolnego wejścia z wolnym wyjściem, jednak może się okazać konieczna rekonfiguracja istniejących połączeń. Również pola, w których w celu uniknięcia stanu blokady, po zakończeniu połączenia są realizowane przestrojenia były rozważane w literaturze [2,3]. Pola takie noszą nazwę pól przepakowywanych.
Istnieje silna zależność pomiędzy złożonością sprzętową pola komutacyjnego a jego sterowaniem.
W polach nieblokowalnych w wąskim sensie algorytmy sterujące mogą być bardzo proste, jednak pole takie zbudowane jest z dużej liczby punktów komutacyjnych. Pole nieblokowalne w szerokim sensie może składać się z mniejszej liczby elementów komutacyjnych, jednak sterowanie takim polem jest bardziej złożone. Pola przestrajalne i przepakowywalne można zbudować z jeszcze mniejszej liczby elementów
komutacyjnych, lecz algorytm wyboru drogi połączeń jest bardzo skomplikowany.
Wiadomo, że trzysekcjne pole Closa C(m,n,r) zbudowane z m komutatorów w sekcji środkowej oraz r komutatorów sekcji pierwszej i trzeciej z n wejściami (wyjściami) w sekcjach zewnętrznych jest polem nienblokowalnym w wąskim sensie wtedy i tylko jeżeli m>2n-1. Benes wykazał, że pole C(m, ⎣ 3n/2 ⎦ , 2) jest polem nieblokowalnym w szerokim sensie, lecz fakt ten nie ma praktycznego znaczenia, ponieważ pole takie zbudowane jest z większej liczby elementów komutacyjnych niż komutator kwadratowy o tej samej pojemności. W 1979 Melas i Milewski wykazali, że kolejnościowe zestawianie połączeń przez najbardziej obciążony komutator nie pozwoli zredukować zasobów dla pól o praktycznych rozmiarach [4]. Rezultaty ich badań zostały rozszerzone przez Hwanga [5] oraz Yang i Wanga [6]
na pola o innych parametrach (liczba wejść i wyjść na komutator oraz liczba komutatorów w sekcjach).
W literaturze dokładniej są analizowane nieblokowalne w szerokim sensie trzysekcyjne pola Closa dla połączeń multicastowych [7-11] oraz dla połączeń multirate [5, 12-17].
Kolejnym rodzajem pól komutacyjnych rozważanych w literaturze są pola multi-log
2N [18-20].
Są one zbudowane z p kopii pola log
2N (mianowicie baseline, banyan lub omega [19, 21]) zwanymi płaszczyznami. C.-T. Lea określił liczbę płaszczyzn potrzebną do nieblokowalności pola multi-log
2N w wąskim sensie i pól przestrajalnych [18, 20, 22, 23]
dla permutacji połączeń punkt-punkt. Nieblokowalność w szerokim sensie dla połączeń multicastowyowych i multirate była rozważana w literaturze [24-29].
Nie są znane publikacje opisujące warunki
nieblokowalności w szerokim sensie dla pól multi-
log
2N. W niniejszym artykule przedstawimy
i udowodnimy twierdzenia na warunki konieczne
nieblokowalności w szerokim sensie przy
wykorzystaniu różnych algorytmów. W sekcji
2 zostanie przedstawiona architektura pól multi-log
2N
oraz omówiona terminologia używana
w artykule. W sekcji 3 zostaną przedstawione
algorytmy sterowania polem multi-log
2N, a w sekcji
4 udowodnione warunki konieczne dla uzyskania
nieblokowalności w szerokim sensie. W sekcji 5 zostaną podsumowane przedstawione twierdzenia.
2. PODSTAWOWE DEFINICJE
Pole multi-log
2N jest zbudowane z wielu kopii jednej płaszczyzny. Każda taka płaszczyzna składa się z elementów komutacyjnych 2 × 2 i ma dokładnie określoną strukturę. Pole ma N wejść, N wyjść n=log
2N sekcji składających się z N/2 komutatorów każda.
Tylko elementy sąsiednich sekcji są ze sobą połączone.
Istnieje kilka konfiguracji podstawowej płaszczyzny pola, które wydają się różnić, jednak topologicznie są takie same [21]. Na rysunku 1 przedstawione są różne konfiguracje płaszczyzny log
2N. Takie pole jest samosterujące, tzn. informacja o numerze wejścia i wyjścia pola jest wystarczająca do określenia drogi
dla takiego połączenia. Nie jest konieczna znajomość stanu pola i tras innych połączeń. Co więcej, dla każdej pary wejście-wyjście istnieje dokładnie jedna droga połączeniowa w każdej płaszczyźnie. Niektóre połączenia mogą wykorzystywać ten sam fragment pola. Wówczas takie połączenia nawzajem się blokują i w danej płaszczyźnie może być zrealizowane tylko jedno takie połączenie. Do analizy stanu jednej płaszczyzny można wykorzystać graf dwudzielny pola.
W takiej reprezentacji każdemu wejściu i łączu pola odpowiada węzeł grafu, natomiast krawędzie grafu reprezentują możliwe połączenia. Gdy więcej niż jedno połączenie wykorzystuje ten sam wierzchołek, wówczas występuje stan blokady. Algorytm sterujący polem musi tak wybierać płaszczyzny do zestawienia połączenia, aby nie dopuścić do wystąpienia stanu blokady.
Rys. 1. Różne konfiguracje płaszczyzny log
2N – baselinie, banyan, omega.
3. ALGORYTMY
W polach multi-log
2N zadaniem algorytmu sterującego jest określenie płaszczyzny do zestawienia połączenia. W każdej płaszczyźnie istnieje tylko jedna droga, którą można poprowadzić rozważane połączenie. Można zaproponować różne algorytmy, jednak większość z nich wywodzi się z algorytmów sterowania trzysekcyjnymi polami Closa.
W niniejszym artykule będą rozważane algorytmy:
Algorytm przypadkowy - Random Ruting (RAND) – losowo wybiera kolejność sprawdzania płaszczyzn i zestawia połączenie w pierwszej dostępnej płaszczyźnie;
Algorytm Sekwencyjny (SEQ) – kolejno sprawdza płaszczyzny począwszy od płaszczyzny i i zestawia połączenie w pierwszej dostępnej płaszczyźnie;
Algorytm Minimum Index (MINX) – tak samo jak algorytm sekwencyjny, z tym, że sprawdzanie rozpoczyna od płaszczyzny o numerze i=1;
Algorytm Quasi przypadkowy (QRAND-CD) – tak samo jak algorytm sekwencyjny, z tym, że sprawdzanie rozpoczyna od płaszczyzny o numerze i = P + 1, gdzie P to numer płaszczyzny, w której
zestawiono ostatnio rozważane połączenie. Algorytm ten bywa również nazywany Cyclic Dynamic lub Round-Robin;
Algorytm Cyclic Static (QRAND-CS) – działa podobnie jak algorytm QRAND-CD, z tym, że sprawdzanie płaszczyzn rozpoczyna od płaszczyzny o numerze i = P, gdzie P jest numerem płaszczyzny, w której ostatnio zestawiono połączenie;
Algorytm „oszczędzaj nieużywane” – Save the Unused (STU) - wolnych płaszczyzn używa dopiero wówczas, gdy we wszystkich pozostałych zestawiane połączenie jest zablokowane;
Algorytm używający najbardziej obciążonej płaszczyzny (PACK) – do zestawienia połączenia wybiera najbardziej obciążoną z dostępnych płaszczyzn.
Pierwsze pięć algorytmów jest jasno określone.
W przypadku algorytmu STU pojawia się wątpliwość jak wybierać płaszczyzny spośród już zajętych, a jeszcze dostępnych dla rozważanego połączenia.
Można np. wybrać płaszczyznę najbardziej obciążoną – wówczas widać, że algorytm PACK jest algorytmem STU – lub płaszczyznę o najniższym numerze.
Podobny problem to jest w przypadku stosowania
algorytmu PACK – jak wybrać płaszczyznę spośród
równo obciążonych dostępnych płaszczyzn. Dlatego ten algorytm pojawia się w dwóch odmianach:
PACK + minimum index – spośród równo obciążonych płaszczyzn wybiera tę o najniższym numerze,
PACK + last used – spośród równo obciążonych płaszczyzn wybiera tę, które była ostatnio używana.
4. WARUNKI KONIECZNE DLA RÓŻNYCH ALGORYTMÓW
W pracy [18] pokazano, że aby pole multi-log
2N było nieblokowalne w wąskim sensie, musi się składać przynajmniej z p płaszczyzn, gdzie
⎪ ⎪
⎩
⎪⎪ ⎨
⎧
−
= −
+
. 1
2 1 2 2 3
2 1
2
ych nieparzyst n
dla
parzystych n
dla p
n n