• Nie Znaleziono Wyników

WARUNKI KONIECZNE NIEBLOKOWALNOŚCI W SZEROKIM SENSIE PÓL log

N/A
N/A
Protected

Academic year: 2021

Share "WARUNKI KONIECZNE NIEBLOKOWALNOŚCI W SZEROKIM SENSIE PÓL log"

Copied!
6
0
0

Pełen tekst

(1)

Wojciech Kabaciński, Piotr Karbowiak,

Marek Michalski

Wydział Elektroniki i Telekomunikacji

Katedra Sieci Telekomunikacyjnych i Komputerowych ul. Piotrowo 3A, 60-965 Poznań, Polska

e-mail: (wojciech.kabacinski, piotr.karbowiak, marek.michalski)@et.put.poznan.pl

WARUNKI KONIECZNE NIEBLOKOWALNOŚCI W SZEROKIM

SENSIE PÓL log

2

(N, 1, p)

Streszczenie: Pola komutacyjne log2(N, m, p) to jedna z propozycji dla przełączników o duŜych prędkościach i pojemnościach. W literaturze były rozwaŜane warunki nieblokowalności w wąskim sensie i przestrajalności tego typu pól. Warunki nieblokowalności w szerokim sensie rozwaŜono tylko dla pól z m = 0. W tym artykule rozwaŜane są warunki konieczne nieblokowalności w szerokim sensie takich pól z jedną dodatkową sekcją, dla róŜnych algorytmów wyboru drogi połączeniowej. Pokazano, Ŝe dla większości znanych algorytmów warunki konieczne dla nieblokowalności w szerokim sensie są takie same jak dla nieblokowalności w wąskim sensie. Przedstawiono takŜe warunki konieczne nieblokowalności w szerokim sensie dla dowolnego algorytmu.

1. WSTĘP

Zagadnienia dotyczące nieblokowalności w szerokim sensie pól komutacyjnych są przedmiotem badań od dawna. Tematyka ta została po raz pierwszy zaproponowana przez Beneša [1]. Idea działania takiego pola polega na tym, Ŝe zawsze moŜna połączyć wolne wejście z wolnym wyjściem, pod warunkiem, Ŝe stosowany jest odpowiedni algorytm sterujący wyborem drogi połączeniowej. Beneš przedstawił warunki nieblokowalności w szerokim sensie (WSNB) dla trzysekcyjnego pola Closa C(m, n, r), w którym m oznacza liczbę komutatorów w sekcji środkowej, n liczbę wejść (wyjść) w sekcji pierwszej (ostatniej) a r opisuje liczbę komutatorów w sekcji pierwszej i ostatniej. Z jego badań wynikało, Ŝe pole to jest nieblokowalne w szerokim sensie, jeŜeli m wnosi

3n 2

a liczba komutatorów w sekcji pierwszej to 2. Pola komutacyjne log2(N, 0, p) zostały opisane m.in. w artykule [2]. Przedstawiono tam nowy algorytm, który przy załoŜeniu, Ŝe n (określa liczbę płaszczyzn) jest wartością parzystą to nieblokowaność w szerokim sensie wykorzystuje tyle samo płaszczyzn co pola przestrajalne. O ile nam wiadomo, nigdzie w literaturze nie rozwaŜano WSNB w polu komutacyjnym log2(N, 1, p). W tym artykule wykazano, Ŝe w przypadku pól log2(N, 1, p) znane z literatury algorytmy wyboru drogi połączeniowej równieŜ wymagają takiej samej liczby płaszczyzn jak pola nieblokowalne w wąskim sensie. Artykuł został podzielony na rozdziały. I tak w drugim rozdziale przedstawiono ogólną terminologię dotyczącą pól komutacyjnych log2(N, m, p) oraz sposób zapisu połączeń. W części trzeciej omówiono podstawowe algorytmy sterujące wyborem drogi połączeniowej. Następny rozdział (czwarty) zawiera warunki nieblokowalności w szerokim sensie pól

log2(N, 1, p) dla wybranych algorytmów sterowania. Udowodniono w nim takŜe ogólne warunki konieczne nieblokowalności w szerokim sensie, tzn. wykazano, Ŝe nie istnieje algorytm sterujący wyborem drogi połączeniowej, dla którego pole log2(N, 1, p) wzmagałoby mniejszej liczby płaszczyzn. W ostatniej części przedstawiono wnioski wynikające z powyŜszych badań.

2. TERMINOLOGIA

Pole komutacyjne log2(N, m, p) składa się z p pól log2(N, m, 1) połączonych równolegle. Wejścia (wyjścia) pola log2(N, m, p) są połączone z odpowiednimi wejściami (wyjściami) pól log2(N, m, 1) przez komutatory 1 x p (p x 1). KaŜde pole log2(N, m, 1) nazywa się płaszczyzną i jest zbudowane z komutatorów 2 x 2 pogrupowanych n + m sekcji, n = log2N. Komutatory w sekcji od 1 do n tworzą pole komutacyjne log2(N, 0, 1) (moŜe to być pole omega, baselinie, banyan). Wzór połączeń miedzy komutatorami sekcji

n + 1 do m,

m

n

1

, stanowi lustrzane odbicie połączeń miedzy komutatorami sekcji od 1 do m. JeŜeli połączenia są blokowane w danej płaszczyźnie, czyli nie ma moŜliwości zestawienia drogi pomiędzy wolnym wejściem a wolnym wyjściem, to połączenie to jest przenoszone na następną płaszczyznę. Taka sytuacja się powtarza aŜ do momentu, kiedy zestawiona droga będzie mogła być zrealizowana w danej płaszczyźnie. Na rysunku 1 przedstawiono pole komutacyjne log2(16,1,1), w postaci grafu.

Rys. 1. Graf pola komutacyjnego log2(16,1,1). W reprezentacji grafowej głównymi elementami łączącymi przejścia miedzy sekcjami są łącza, które zaczynają się i kończą w węzłach. Kiedy więcej niŜ

2007

Poznańskie Warsztaty Telekomunikacyjne

Poznań 6 - 7 grudnia 2007 POZNAN UNIVERSITY OF TECHNOLOGY ACADEMIC JOURNALS

(2)

jedno połączenie uŜyje tego samego węzła, pojawia się blokada. JeŜeli węzły przez które połączenie ma przebiegać są zajęte, potrzebna jest kolejna płaszczyzna, aby moŜna było je zestawić. Algorytm sterujący przedstawia zasadę szukania drogi w płaszczyźnie oraz numer płaszczyzny, od której zaczynamy przeszukiwanie.

W dalszej części artykułu następująca notacja będzie uŜywana. W polu komutacyjnym log2(N, 1, p) sekcje będą numerowane od 1 do n + 1 zaczynając od strony lewej do prawej a płaszczyzny będą numerowane od 1 do p. Wejścia będą numerowane od 0 do N-1 zaczynając od góry. Połączenie pomiędzy i-tym wejściem a j-tym wyjściem oznaczono jako (i, j).

3. ALGORYTMY STERUJĄCE

Zadaniem algorytmu sterującego w polach log2(N, 1, p) jest określenie płaszczyzny do zestawiania połączenia. Naszym zdaniem algorytmy, na które warto zwrócić uwagę zostały rozwaŜone w poniŜszym artykule. Oto one:

RAND – Random Routing. Zasada działania polega na

losowym wyborze płaszczyzny oraz zestawieniu połączenia przez pierwszą wolną płaszczyznę.

SEQ – Sequential Routing. Zasada działania polega na

sprawdzaniu zajętości płaszczyzn kolejno zaczynając od płaszczyzny i oraz zestawieniu połączenia przez pierwszą wolną płaszczyznę.

MINX – Minimum Index Routing. Zasada działania

jest taka sama jak w SEQ z tą róŜnicą, Ŝe wartość i wynosi 1.

Q-RAND-CD – Quasi-Random Routing. Zasada

działania jest taka sama jak w SEQ z tą róŜnicą, Ŝe wartość i = P + 1, gdzie P oznacza płaszczyznę uŜytą podczas poprzedniego połączenia. Algorytm ten nazywany jest takŜe round-robin.

Q-RAND-CS – Quasi-Random Routing. Zasada

działania jest taka sama jak w Q-RAND-CD z tą róŜnicą,

Ŝe wartość i = P.

STU – Save The Unused. Zasada działania polega na

tym, Ŝe nowe połączenie jest zestawiane w wolnej płaszczyznę tylko wtedy, jeŜeli nie ma innej moŜliwości. Stąd wywodzi się jego nazwa „oszczędzaj nieuŜywane”.

PACK. Zasada działania polega na tym, Ŝe nowe

połączenie jest zestawiane przez najbardziej obciąŜoną płaszczyznę, w której moŜna zestawić to połączenie.

4. MINIMALNA LICZBA PŁASZCZYZN DLA RÓśNYCH ALGORYTMÓW

W następnych częściach tego rozdziału zostaną przedstawione odpowiednie warunki i załoŜenia dla róŜnych algorytmów sterujących. W [3], [4], [5] przedstawiono warunki na nieblokowalność w wąskim sensie, z której wynika, Ŝe p musi wynosić

) 1 ( . , 1 1 2 2 3 ; , 1 2 1 2

→ + − − − ∗ + → + − + − + ≥ parzyste m n m n m e nieparzyst m n m n m p

Takie pole jest nieblokowalne w wąskim sensie, czyli kaŜda moŜliwa kombinacja połączeń moŜe być

zrealizowana bez względu na sposób wyboru płaszczyzny do zestawiania połączenia oraz aktualny stan pola. MoŜliwe jest otrzymanie pola nieblokowalnego przez uŜycie specjalnego wyboru płaszczyzny do zestawienia połączenia. Takie pole będzie nieblokowalne w szerokim sensie. Zaprezentowane przykłady pokazują, Ŝe algorytmy opisane w poprzedniej sekcji mają warunki konieczne nieblokowalności w szerokim sensie takie same jak nieblokowalność w wąskim sensie.

4.1.Algorytm Random i Quasi-Random

W tej części rozwaŜono algorytmy sterowania takie jak: RAND, Q-RAND-CD, i Q-RAND-CS. Udowodnimy następujące twierdzenie:

Twierdzenie 1 Pole komutacyjne log2(N, m, p) dla m = 1 jest nieblokowalne w szerokim sensie, przy uŜyciu algorytmów sterowania RAND, RAND-CD, i Q-RAND-CS, wtedy i tylko wtedy, jeśli liczba płaszczyzn wynosi p i jej wartość jest określona przez nierówność (1).

Dowód 1 RozwaŜymy tylko algorytmy Q-RAND-CD i

Q-RAND-CS. Dla algorytmu RAND moŜemy wybrać, dla przykładu, tą samą płaszczyznę jak w jakimkolwiek z pozostałych dwóch algorytmów. Na początku rozwaŜymy algorytm Q-RAND-CS. ZałoŜyliśmy, Ŝe na początku nie ma Ŝadnych połączeń w polu komutacyjnym i pierwsza płaszczyzna, która będzie sprawdzana to płaszczyzna numer 1. Zapisy połączeń między poszczególnymi węzłami na wszystkich płaszczyznach, opisuje procedura:

k = 0 For i = 1 to





2

m

n

do For j =

2

i−1to

2

i

1

do { If (k equal 0) {connect (2k j, 3*(

2

nmi−1+ j - i))

connect (3*(

2

nmi−1+ j-i), 4*(

2

nmi−1+ j-i)) connect (3*(

2

nmi−1 + j - i)+1, 2k j) disconnect (3*(

2

nmi−1+ j - i), 4*(

2

nmi−1+ j - i)) k = 1 connect (0, 0) * disconnect (0, 0)} connect (2j, 2*(

2

nmi−1+ j - i)) connect (2j+1, 2*(

2

nmi−1+ j - i)+1) connect (0, 0) * disconnect (0, 0) * If (connection (2*(

2

nmi−1+ j - i), 2j) doesn’t exist) {connect (2*(

2

nmi−1+ j - i), 2j) connect (2*(

2

nmi−1+ j - i)+1, 2j+1) connect (0, 0) * disconnect (0, 0) *}}

W wyniku procedury otrzymaliśmy, Ŝe dla m = 1 pole komutacyjne nieblokowalne w szerokim sensie wymaga p płaszczyzn, gdzie p określa nierówność (1). Dowód dotyczący algorytmu Q-RAND-CD jest

(3)

podobny. RóŜnica polega na tym, Ŝe z powyŜszej procedury usuwamy linijki zaznaczone gwiazdką. Sprawdzanie płaszczyzny rozpoczyna się od następnej, w której ostatnio zestawiano połączenie. 

PoniŜej przedstawimy dwa przykłady względem zaleŜności między m i n. Niech m + n = x, to pierwszy przykład dotyczy dobrania takich parametrów m i n, aby wartość parametru x była liczbą parzystą. RozwaŜymy pole komutacyjne log2(32, 1, p) posiadające jedną sekcję dodatkową, czyli n = 5 i m = 1 (x = 6). Ze wzoru (1) otrzymaliśmy, Ŝe wartość p jest większa równa 6. Zestaw połączeń, oraz numer płaszczyzny, na której są wykonywane, zostały przedstawione w tabeli 1.

Tabela 1. Ciąg zdarzeń dla n = 5 i m = 1.

Krok Dane

we/wy Operacja Płaszczyzna

1. (1,12) Połączenie 1 2. (12,16) Połączenie 1 3. (13,1) Połączenie 1 4. (12,16) Rozłączenie 1 5. (0,0) Połączenie 2 6. (0,0) Rozłączenie 2 7. (2,8) Połączenie 2 8. (3,9) Połączenie 2 9. (0,0) Połączenie 3 10. (0,0) Rozłączenie 3 11. (8,2) Połączenie 3 12. (9,3) Połączenie 3 13. (0,0) Połączenie 4 14. (0,0) Rozłączenie 4 15. (4,4) Połączenie 4 16. (5,5) Połączenie 4 17. (0,0) Połączenie 5 18. (0,0) Rozłączenie 5 19. (6,6) Połączenie 5 20. (7,7) Połączenie 5 21. (0,0) Połączenie 6 22. (0,0) Rozłączenie 6

Natomiast drugi przykład dotyczy takiej zaleŜności między m i n, Ŝe wartość parametru x jest liczbą nieparzystą. RozwaŜymy pole komutacyjne log2(16, 1, p) posiadające jedną sekcję dodatkową, czyli n = 4 i m = 1 (x = 5). Ze wzoru (1) otrzymaliśmy, Ŝe wartość p jest większa równa 4. Zestaw połączeń, oraz numer płaszczyzny, na której są wykonywane, zostały przedstawione w tabeli 2.

Tabela 2. Ciąg zdarzeń dla n = 4 i m = 1.

Krok Dane

we/wy Operacja Płaszczyzna

1. (1,6) Połączenie 1 2. (6,8) Połączenie 1 3. (7,1) Połączenie 1 4. (6,8) Rozłączenie 1 5. (0,0) Połączenie 2 6. (0,0) Rozłączenie 2 7. (2,4) Połączenie 2 8. (3,5) Połączenie 2 9. (0,0) Połączenie 3 10. (0,0) Rozłączenie 3 11. (4,2) Połączenie 3 12. (5,3) Połączenie 3 13. (0,0) Połączenie 4 14. (0,0) Rozłączenie 4

4.2.Algorytm PACK i STU

Algorytm PACK wykorzystuje najbardziej obciąŜoną płaszczyznę, do utworzenia połączenia, jeśli tylko jest to moŜliwe. Wynika z tego, Ŝe dopiero w momencie niemoŜliwości zestawienia połączenia w danej płaszczyźnie, będzie uŜyta nowa pusta płaszczyzna. Algorytm PACK jest zarazem algorytmem STU. ZałoŜono, Ŝe w momencie, kiedy kilka płaszczyzn jest równo obciąŜonych, pierwszą sprawdzana płaszczyzną, będzie ta o najniŜszym indeksie.

Twierdzenie 2 Pole komutacyjne log2(N, m, p) dla m = 1 jest nieblokowalne w szerokim sensie, przy uŜyciu algorytmów sterowania PACK i STU, wtedy i tylko wtedy jeśli liczba płaszczyzn wynosi p i jej wartość jest określona przez nierówność (1).

Dowód 2

Został podzielony ze względu na zaleŜności między m i

n. Niech m + n = x, to do rozwaŜenia są dwa przypadki.

Pierwszy, kiedy wartość parametru x jest liczbą parzystą oraz drugi, gdy x jest liczbą nieparzystą.

Dla wartości parametru x, gdy jest liczbą nieparzystą wygenerowany ciąg zdarzeń zajmie liczbę płaszczyzn p, określoną wzorem (1). For i = 0, 2, 4,…,

2

2 

4

   nm do For j = 1 to

2

2

1

     nm do connect (

i

j

m n

+

      −

2

*

2

2 ,

1

)

3

2

(

*

2

2 

+

+

    −

j

i

m n ) connect(

2

2 

*

(

2

+

1

)

+

1

    −

j

i

m n ,

j

i

m n

+

+

      −

)

2

2

(

*

2

2 ) For j = 1 to       − 2

2

m n do connect (

2

n

j

,

2

n

j

) connect (

j

n n

2

2

2

,

j

n n

2

2

2

) For j = 1 to 1 2

2

−    nm do disconnect ( n

j

2

, n

j

2

) disconnect (

j

n n

2

2

2

,

j

n n

2

2

2

) For j = 1 to

2

2 

1

   nm do

(4)

connect (

(

i

)

j

m n

+

+

      −

1

2

*

2

2 ,

1

)

2

2

(

*

2

2 

+

+

    −

j

i

m n ) connect (

i

j

m n

+

+

      −

)

2

2

(

*

2

2 ,

1

2

*

2

2 

+

    −

j

i

m n ) connect (

2

2 

*

(

2

+

3

)

+

1

    −

j

i

m n ,

j

i

m n

+

      −

2

*

2

2 ) For j = 1 to

2

2 

1

   nm do connect (

2

2

*

(

2

+

2

)

+

1

      −

j

i

m n ,

(

i

)

j

m n

+

+

      −

1

2

*

2

2 ) disconnect (

i

j

m n

+

+

      −

)

2

2

(

*

2

2 ,

1

2

*

2

2 

+

    −

j

i

m n ) connect (

i

j

m n

+

+

      −

)

3

2

(

*

2

2 ,

1

2

*

2

2 

+

    −

j

i

m n ) connect (

i

j

m n

+

+

      −

)

2

2

(

*

2

2 ,

(

2

1

)

1

*

2

2 

+

+

    −

j

i

m n ) disconnect (

i

j

m n

+

+

      −

)

3

2

(

*

2

2 ,

1

2

*

2

2 

+

    −

j

i

m n ) connect (

2

n

2

n,

2

n

2

n)

Połączenia utworzone w pierwszej podpętli zajmują płaszczyzny od 1 do

2

2

1

     nm i w kaŜdej z tych płaszczyzn jest       − 2

2

m n

połączeń. Po kaŜdym przejściu przez druga podpętlę, kolejna płaszczyzna jest zajęta przez połowę połączeń zapisanych w drugiej podpętli. Rozłączenia w trzeciej podpętli skutkują tym, Ŝe ta płaszczyzna jest najbardziej obciąŜoną płaszczyzną. Kolejne podpętle powodują, Ŝe połączenia w nich realizowane wymagają tej lub następnej płaszczyzny. W wyniku takich działań zajęte jest

2

2

1

     nm płaszczyzn i połączenie (0,0) potrzebuje kolejnej płaszczyzny. Liczba płaszczyzn wykorzystana dla tej procedury wynosi       − 2

2

m n .

Dla wartości parametru x, gdy jest liczbą parzystą wygenerowany ciąg zdarzeń zajmie liczbę płaszczyzn p, określoną wzorem (1). k = 0 początek: For j = 1 to

2

nm−1do connect (

2

n

j

,

2

n

j

) For j = 1 to

2

nm−1-2 do disconnect (

2

n

j

,

2

n

j

) For j = 1 to

2

2 −1

1

m n do connect (

j

,

2

2 +1

+

+

1

j

m n ) connect (

j

+

1

,

j

m n

+

+ − 1 2

2

) disconnect (

2

n

2

nm−1,

2

n

2

nm−1) For j = 1 to

2

nm−1 -2 do connect ( n

j

2

, n

j

2

) connect (

j

n n



    2

2

2

,

j

n n



    2

2

2

) For j = 1 to

2

nm−1-4 do disconnect (

2

n

j

,

2

n

j

) disconnect (

j

n n



    2

2

2

,

j

n n



    2

2

2

) For j = 1 to

2

2 −1

1

m n do connect (

j

m n

+

− − 1 2

2

,

2

2 +1

+

1

j

m n ) connect (

j

m n

+

− 2

2

, 2 2

2

− −m n ) connect (

2

2

+

1

j

m n ,

j

m n

+ − 1 2

2

) disconnect (

j

m n

+

− 2

2

, 2 2

2

− −m n ) For j =

2

nm−1-4 to

2

nm−1

2

do disconnect (

2

n

j

,

2

n

j

) disconnect (

j

n n



    2

2

2

,

j

n n



    2

2

2

) For j = 1 to

2

nm−1-4 do connect (

2

n

j

,

2

n

j

) connect (

j

n n



    2

2

2

,

j

n n



    2

2

2

) For j = 1 to 1 2

2

− −m n do disconnect (

2

n

j

,

2

n

j

) disconnect (

j

n n



    2

2

2

,

j

n n



    2

2

2

) For j = 1 to

2

2 −1

1

m n do connect (

j

m n

+

− 2

2

,

2

2

+

+

1

j

m n )

(5)

connect (

2

2

+

+

1

j

m n ,

j

m n

+

− 2

2

) For j = 1to

2

nm−1-4 do disconnect (

2

n

j

,

2

n

j

) disconnect (

j

n n



    2

2

2

,

j

n n



    2

2

2

) For j = 1 to 1 2

2

− −m n do connect (

2

n

j

,

2

n

j

) connect(

j

n n



    2

2

2

,

j

n n



    2

2

2

) For j = 1 to

2

2 −1

1

m n do connect (

j

m n

+

+ − 2 2

2

,

j

+

1

) connect (

2

2 +1

+

+

1

j

m n ,

j

) For j = 1 to 1 2

2

− −m n do disconnect (

2

n

j

,

2

n

j

) disconnect(

j

n n



    2

2

2

,

j

n n



    2

2

2

) If (k equal 0) {connect (0,0) For j = 1 to

2

2 +1

+

2

m n do disconnect (

j

,

j

m n

+

+ −

3

2

2 1 ) connect (

2

2 +1

1

m n ,

2

2 m n− ) disconnect (0,0) connect ( 1 2

2

+ −m n ,

2

2

1

m n ) k = k + 1; goto poczatek} connect (0,0)

Działanie powyŜszych procedur polega na obciąŜaniu płaszczyzn. Następnie rozłączamy połączenia w płaszczyznach o niŜszych numerach niŜ ostatnia obciąŜona płaszczyzna. Na niej wykonujemy połączenia blokujące połączenie (0,0). Rozłączamy połączenia obciąŜające najbardziej obciąŜona płaszczyznę. To zadanie powtarzamy do momentu zablokowania moŜliwości wykonania połączenia (0,0) na poszczególnych płaszczyznach i potrzebujemy dodatkowej płaszczyzny do połączenia (0,0). 

Przedstawimy przykład względem parametru x, gdzie x dotyczy wartości nieparzystej. RozwaŜymy pole komutacyjne log2(16, 1, p) posiadające jedną sekcję dodatkową, czyli n = 4 i m = 1. Ze wzoru (1) otrzymaliśmy, Ŝe wartość p jest większa równa 3. Zestaw połączeń, oraz numer płaszczyzny, na której są wykonywane, zostały przedstawione w tabeli 3.

Tabela 3. Ciąg zdarzeń dla n = 4 i m = 1.

Krok Dane

we/wy Operacja Płaszczyzna

1. (1,6) Połączenie 1 2. (2,5) Połączenie 1 3. (15,15) Połączenie 1 4. (11,11) Połączenie 1 5. (14,14) Połączenie 1 6. (10,10) Połączenie 1 7. (13,13) Połączenie 2 8. (9,9) Połączenie 2 9. (12,12) Połączenie 2 10. (8,8) Połączenie 2 11. (15,15) Rozłączenie 1 12. (11,11) Rozłączenie 1 13. (14,14) Rozłączenie 1 14. (10,10) Rozłączenie 1 15. (3,4) Połączenie 2 16. (5,0) Połączenie 2 17. (6,1) Połączenie 2 18. (4,3) Połączenie 3 19. (5,0) Rozłączenie 2 20. (7,0) Połączenie 2 21. (5,2) Połączenie 3 22. (7,0) Rozłączenie 2 23. (0,0) Połączenie 4

4.3.Ogólny algorytm WSNB dla minimalnej liczby płaszczyzn

PowyŜsze punkty wykazały, Ŝe przedstawione algorytmy wyboru płaszczyzn mają warunki konieczne nieblokowalności w szerokim sensie takie same jak nieblokowalność w wąskim sensie. W poniŜszym twierdzeniu udowodniono warunki konieczne nieblokowalności w szerokim sensie pól log2(N, 1, p).

Twierdzenie 3 Pole komutacyjne log2(N, 1, p) jest WSNB tylko wtedy, gdy:

) 2 ( . , 2 2 ; , 2 1 2 2 3



→ + − → + − − ∗ ≥ parzyste m n m n e nieparzyst m n m n p

Dowód 3 Nierówność (2) określa minimalną liczbę

płaszczyzn, wymaganą, aby pole komutacyjne log2(N, 1, p) było nieblokowalne w szerokim sensie. RozwaŜymy ogólną procedurę tworzenia połączeń, którą podzielono ze względu na sumę wartości parametrów n i

m. Jednak, Ŝe m jest wartością stałą i wynosi jeden,

wyniki uzaleŜniono od parzystości i nieparzystości parametru n. JeŜeli:

parzyste

n

to wykorzystaliśmy następującą procedurę: For i = 0 to

2

2

1

1

     nmdo

{connect (2i, 2i) connect (2i+1, 2i+1)}

For i =       − − 2 1

2

m n to

2

2

1

1

     nm+ do

{connect (2i, 2i) connect (2i+1, 2i+1)}

(6)

For i = 0 to

2

2

1

3

     nmdo {disconnect (2i, 2i)

disconnect (2i+1, 2i+1)}

For i =       − − 2 3

2

*

3

m n to

4

*

2

2

1

3

     nmdo

{disconnect (2i, 2i) disconnect (2i+1, 2i+1)}

For i = 0 to

2

2

1

3

     nmdo connect (2i, 2*( i + 3*       − − 2 3

2

m n ))

Połączenia wykonane w pierwszym kroku mogą przechodzić przez       − − 2 1

2

m n

. Te same płaszczyzny mogą być wykorzystane w kroku 2. Z kolei w kroku piątym wykonane połączenia wymagają

      − − 2 3

2

m n dodatkowych płaszczyzn, czyli całkowita liczba wymaganych płaszczyzn to       − − 2 1

2

m n +       − − 2 3

2

m n =       − −

2 1

2

2

3

n m . PoniewaŜ suma n i m jest wartością nieparzystą i odjęcie od niej liczby jeden powoduje, Ŝe wartość ta staje się liczbą parzystą a kaŜda liczba parzysta, większa od zera, podzielona przez liczbę dwa daje liczbę całkowitą. W związku z tym zaokrąglenie liczby całkowitej nie zmienia jej wartości i w wyniku końcowym moŜna zrezygnować z zapisu zaokrąglenia, czyli wymagana liczba płaszczyzn wynosi 2

1

2

2

3

− −

m n . e nieparzyst nto wykorzystaliśmy następującą procedurę: For i = 0 to

2

2

1

m n do {connect (2i, 2i)

connect (2i+1, 2i+1)}

W tym przypadku wystarczy wykorzystać połączenia na wprost i wynikające z nich zaleŜności pola a otrzymamy

wymaganą liczbę płaszczyzn.  RozwaŜymy pole komutacyjne o n = 4 i m = 1.

Wykonaliśmy połączenia (0,0)/1, (1,1)/1, (2,2)/2, (3,3)/2, (4,4)/1, (5,5)/1, (6,6)/2, (7,7)/2. Następnie rozłączyliśmy połączenia (0,0)/1, (1,1)/1 oraz (6,6)/2, (7,7)/2 a połączenie (0,6)/3 wymaga dodatkowej 3 płaszczyzny. Według wzoru (2) wartość parametru p powinna wynosić 3. Szczegółowy zestaw połączeń został przedstawiony w tabeli 4.

Tabela 4. Ciąg zdarzeń dla n = 4 i m = 1.

Krok Dane

we/wy Operacja Płaszczyzna

1. (0,0) Połączenie 1 2. (1,1) Połączenie 1 3. (2,2) Połączenie 2 4. (3,3) Połączenie 2 5. (4,4) Połączenie 1 6. (5,5) Połączenie 1 7. (6,6) Połączenie 2 8. (7,7) Połączenie 2 9. (0,0) Rozłączenie 1 10. (1,1) Rozłączenie 1 11. (6,6) Rozłączenie 2 12. (7,7) Rozłączenie 2 13. (0,6) Połączenie 3

Drugi przykład rozpatrzmy dla n jako wartości nieparzystej. Niech będzie dane pole log2(32, 1, p). Według wzoru (2) minimalna liczba płaszczyzn wykorzystana przez połączenia zainicjowane przez powyŜszą procedurę powinna wynosić 4. W tabeli 5 przedstawiamy ciąg połączeń, które spowoduje zajęcie takiej liczby płaszczyzn.

Tabela 5. Ciąg zdarzeń dla n = 5 i m = 1.

Krok Dane

we/wy Operacja Płaszczyzna

1. (0,0) Połączenie 1 2. (1,1) Połączenie 1 3. (2,2) Połączenie 2 4. (3,3) Połączenie 2 5. (4,4) Połączenie 3 6. (5,5) Połączenie 3 7. (6,6) Połączenie 4 8. (7,7) Połączenie 4 5. PODSUMOWANIE

W artykule przedstawiono warunek nieblokowalności w szerokim sensie dla pól komutacyjnych log2(N, 1, p) zarówno dla sumy n + m jako wartości nieparzystej jak i parzystej. Wykazano, Ŝe wartość otrzymana dla nieblokowalności w wąskim sensie jest wystarczająca, aby pole było nieblokowalne w szerokim sensie, jednak niezbędne jest do tego wykorzystanie odpowiednich kombinacji połączeń i rozłączeń wejście-wyjście. Obecnie prowadzone są prace nad ciągiem procedur dla dowolnej liczby sekcji dodatkowych, czyli

m

>

0

.

6. SPIS LITERATURY

[1]. V.E. Beneš, Mathematical Teory of Connecting Networks and Telephone Traffic, Academic Press, 1965.

[2]. W. Kabaciński, M. Michalski, Wide-Sense Nonblocking log2(N, 0, p) Switching Networks with Even Number of Stage, Communications, 2005. ICC 2005Page(s):1058 - 1062 Vol. 2.

[3]. W. Kabaciński, Nonblocking Electronic and Photonic Switching Fabrics, 2005.

[4]. F.K. Hwang, The Mathematical Theory of Nonblocking Switching Networks, World Scientific, Singapore, 1998.

[5]. C.T. Lea, Multi-log2N Networks and Their Applications in High Speed Electronic and Photonic Switching System, IEEE Trans. Comun. 38(10) 1990.

Cytaty

Powiązane dokumenty

Zadania do wykładu analiza

Niektóre osoby argumentowaªy nast¦puj¡co, co te» jest prawidªowe: Dla funkcji nie- ujemnej caªka reprezentuje pole obszaru pod wykresem (tak»e caªka niewªa±ciwa, obszar

Znajd¹ oszacowania t miks dla 'hardcore model' omówionego podczas wykªadu.. Rozwa»my nast¦puj¡cy sposób tasowania kart (odwrotny do Top

Zabawa dydaktyczna – „Pola wielokątów” (karty z narysowanymi wielokątami, które należy podzielić na trójkąty, kwadraty, prostokąty, równoległoboki, romby lub

To derive the analogue of Lemma 2.4 without the condition (G3), we would first apply the analogue of Lemma 2.3 to turn the graph into a directed family of frames, then apply Lemma

Rozporządzenie Ministra Zdrowia z dnia 17 grudnia 2019 r. 2448) określa zróżni- cowane dopuszczalne poziomy pól elektromagnetycznych dla miejsc dostępnych dla

Wykaż, że jeśli okręgi te są styczne zewnętrznie, to w trapez ten można wpisać okrąg.. Rozwiązania należy przesłać na adres jareksz@interia.pl do soboty 9 maja

Rozporządzenie Ministra Zdrowia z dnia 17 grudnia 2019 r. 2448) określa zróżni- cowane dopuszczalne poziomy pól elektromagnetycznych dla miejsc dostępnych dla