• Nie Znaleziono Wyników

NIEBLOKOWALNE W SZEROKIM SENSIE WIELOPŁASZCZYZNOWE POLA KOMUTACYJNE ZBUDOWANE Z KOMUTATORÓW d × d ∗

N/A
N/A
Protected

Academic year: 2021

Share "NIEBLOKOWALNE W SZEROKIM SENSIE WIELOPŁASZCZYZNOWE POLA KOMUTACYJNE ZBUDOWANE Z KOMUTATORÓW d × d ∗"

Copied!
7
0
0

Pełen tekst

(1)

Grzegorz Danilewicz, Wojciech Kabaci´nski, Marek Michalski, Mariusz ˙Zal

Politechnika Pozna´nska

Katedra Sieci Telekomunikacyjnych i Komputerowych ul. Polanka 3, 60-965 Pozna´n, Polska

e-mail:(kabacins, mzal)@et.put.poznan.pl

NIEBLOKOWALNE W SZEROKIM SENSIE WIELOPŁASZCZYZNOWE POLA KOMUTACYJNE ZBUDOWANE Z KOMUTATORÓW d × d

Streszczenie: W Katedrze STiK został niedawno zapropo- nowany nowy algorytm steruj ˛ acy polami komutacyjnymi typu log

2

(N, 0, p), które s ˛ a zbudowane z elementów ko- mutacyjnych 2 × 2. Pola typu log

2

(N, 0, p) z parzyst ˛ a liczb ˛ a sekcji s ˛ a nieblokowalne w szerokim sensie (WSNB) przy zastosowaniu tego algorytmu i maj ˛ a t˛e sam ˛ a liczb˛e płaszczyzn p jak pola przestrajalne (RNB). W tym artykule rozszerzono działanie algorytmu na pola komutacyjne typu log

d

(N, 0, p) zbudowane z komutatorów d × d. Dodatko- wo w artykule udowodniono warunki nieblokowalno´sci w szerokim sensie tego typu pól z parzyst ˛ a liczb ˛ a sekcji. Zo- stało udowodnione, ˙ze liczba płaszczyzn w przypadku pól WSNB jest taka sama jak dla pól przestrajalnych zbudo- wanych z komutatorów d × d.

1. WPROWADZENIE

Pola nieblokowalne w szerokim sensie (WSNB) za- pewniaj ˛ a mo˙zliwo´s´c zestawienia poł ˛ aczenia mi˛edzy do- wolnym wolnym wej´sciem a dowolnym wolnym wyj-

´sciem pola pod warunkiem zastosowania odpowiedniego algorytmu wyboru drogi poł ˛ aczeniowej. Pola WSNB za- proponował Beneš [1]. Wykazał on, ˙ze pewna klasa pól Clos’a jest nieblokowalna w szerokim sensie, jednak˙ze pola te zawieraj ˛ a wi˛ecej punktów komutacyjnych ni˙z ko- mutator kwadratowy o tej samej pojemno´sci i st ˛ ad nie ma- j ˛ a one praktycznego zastosowania. Inn ˛ a, szeroko rozwa˙za- n ˛ a w literaturze, struktur ˛ a pól komutacyjnych dla zastoso- wa´n w bardzo szybkich przeł ˛ acznikach optycznych i elek- tronicznych jest pole typu log

d

(N, m, p). Przypadkiem szczególnym tego typu pól jest pole zło˙zone z elementów komutacyjnych 2 × 2 (d = 2). Pole takie nazywane jest w ogólno´sci polem typu log

2

(N, 0, p) lub multi-log

2

N [2], [3]. W tym artykule rozwa˙zane s ˛ a pola typu log

d

(N, 0, p), gdzie liczba dodatkowych sekcji m równa si˛e 0. Niezb˛ed- na liczba płaszczyzn dla pól typu log

2

(N, 0, p) nieblo- kowalnych w w ˛ askim sensie (SSNB) i dla pól przestra- jalnych z poł ˛ aczeniami punkt-punkt została podana odpo- wiednio w [2] i [3]. Warunki WSNB tego typu pól dla po- ł ˛ acze´n rozgłoszeniowych były przedstawione w [4]. Wa- runki konieczne WSNB pól typu log

2

(N, 0, p) dla poł ˛ a- cze´n typu punkt-punkt i dla wielu algorytmów wyboru drogi poł ˛ aczeniowej były rozwa˙zane w [5].

W tym artykule rozwa˙zana jest ogólna struktura pól typu log

d

(N, 0, p). Warunki RNB dla poł ˛ acze´n ty- pu punkt-punkt zostały przedstawione przez Hwang’a w [6]. Z kolei warunki SSNB dla pól typu log

d

(N, 0, p)

Praca wykonana w ramach Grantu KBN 3T11D 003 29.

dla poł ˛ acze´n rozsiewczych i f -castowych (to znaczy, dla poł ˛ acze´n gdzie ˙z ˛ ada si˛e maksymalnie f wyj´s´c) uzyska- ne równie˙z przez Hwang’a były prezentowane w [7], [8], [9]. Hwang przedstawił tak˙ze warunki nieblokowalno´sci w szerokim sensie dla poł ˛ acze´n f -castowych i dla pól typu log

d

(N, m, p) w [7]. Warunki WSNB dla rozgłoszenio- wych pól log

d

(N, 0, p), gdy ma zastosowanie algorytm oparty na koncepcji okien blokowania, podał Danilewicz w [10].

Niedawno Kabaci´nski i Michalski zaproponowali nowy algorytm steruj ˛ acy dla pól typu log

2

(N, 0, p) [11].

Wykazali oni, ˙ze przy wykorzystaniu tego algorytmu w pól typu log

2

(N, 0, p) z parzyst ˛ a liczb ˛ a sekcji wymagane jest u˙zycie tylu samo płaszczyzn co w polu przestrajal- nym. Gdy liczba płaszczyzn jest nieparzysta pole WSNB wymaga u˙zycia wi˛ekszej liczby płaszczyzn ni˙z RNB, ale znacznie mniej ni˙z w polu nieblokowalnym w w ˛ askim sensie [12]. W tym artykule zaproponowany algorytm zo- stał rozszerzony do ogólnego przypadku, gdy d > 2.

Przedstawiono tak˙ze warunki WSNB, gdy w polu u˙zywa- ny jest rozszerzony algorytm.

Dalsza cz˛e´s´c artykułu została zorganizowana w na- st˛epuj ˛ acy sposób. W rozdziale 2 omówiono architektur˛e rozwa˙zanych pól komutacyjnych oraz u˙zyt ˛ a notacj˛e. W nast˛epnym rozdziale przedstawiono sposób reprezentacji stanu pola. Zdefiniowane zostały odpowiednie macierze oraz wyja´sniono ich znaczenie. W rozdziale 3 zapropono- wano algorytm steruj ˛ acy polami log

d

(N, 0, p). W nast˛ep- nym rozdziale podano i udowodniono warunki niebloko- walno´sci WSNB pól log

d

(N, 0, p) dla n parzystego. Ar- tykuł ko´ncz ˛ a wnioski.

2. DEFINICJE I U ˙ZYTA NOTACJA A. ARCHITEKTURA POLA KOMUTACYJNEGO

Pole typu log

d

(N, 0, p) jest zbudowane z równole- gle poł ˛ aczonych p kopii pola typu log

d

(N, 0, 1). Liczba wej´s´c i wyj´s´c pola oznaczana jest przez N , N = d

n

. Ka˙z- de pole typu log

d

(N, 0, 1) zbudowane jest z komutatorów d × d i nazywane jest płaszczyzn ˛ a. Wej´scia i wyj´scia pola numerowane s ˛ a od 0 do N −1 licz ˛ ac z góry na dół. Komu- tatory w ka˙zdej sekcji numerowane s ˛ a od 0 do N/d − 1 z góry na dół. S ˛ a one zorganizowane w sekcje numero- wane od 1 do n z lewej strony na praw ˛ a. Przykład po- la log

3

(27, 0, 1) przedstawiono na rys. 1. Problemem do

2006

Poznańskie Warsztaty Telekomunikacyjne

Poznań 7 - 8 grudnia 2006

(2)

0

3 4 5

8 0

4 0

3 4 5

8 0

2 3 5 6 8 9 11 12 14 15 17 18 20 21 23 24 26

1 4 7 10 13 16 19 22 25

0 2 3 5 6 8 9 11 12 14 15 17 18 20 21 23 24 26 1 4 7 10 13 16 19 22 25

1 2 3

Rys. 1. Przykład pola z trzema sekcjami zbudowanego z elementów 3 × 3

rozwi ˛ azania w tym artykule jest minimalna liczba płasz- czyzn, która jest wystarczaj ˛ aca i konieczna dla niebloko- walnej pracy pola typu log

d

(N, 0, p).

Struktura pola typu log

d

(N, 0, p) mo˙ze by´c formal- nie zdefiniowana. Oznaczmy komutator x w sekcji i, 1 6 i 6 n przez x

i

. Dla ka˙zdego i mamy 0 6 x 6 d

n−1

− 1.

Ka˙zdy komutator x

i

, 2 6 i 6 n, poł ˛ aczony jest z kilkoma komutatorami sekcji poprzedniej i − 1. Oznaczmy przez PS

xi−1i

zbiór tych komutatorów sekcji i − 1, które s ˛ a poł ˛ a- czone z x

i

. Zbiór PS

xi−1i

jest zdefiniowany nast˛epuj ˛ aco:

PS

xi−1i

= n

y

ai−1

: y = j x

i

d

n−i+1

k

× d

n−i+1

+ (1)

+ ¡

x

i

mod d

n−i

¢

× d + a, 0 6 a 6 d − 1 ª . Na przykład w polu przedstawionym na rys. 1 ko- mutator 4 w sekcji 2 poł ˛ aczony jest z komutatorami 3, 4 i 5 z sekcji 1 (z (1) mamy y

01

= 3

3−2+1

¥

4/3

3−2+1

¦ + 3 ¡

4 mod 3

3−2

¢

+ 0 = 3, y

11

= 3

3−2+1

¥

4/3

3−2+1

¦ + 3 ¡

4 mod 3

3−2

¢

+ 1 = 4 i y

12

= 3

3−2+1

¥

3/3

3−2+1

¦ + 3 ¡

3 mod 3

3−2

¢

+ 2 = 5), st ˛ ad PS

412

= {3, 4, 5}.

W podobny sposób mo˙zna zdefiniowa´c zbiór NS

xi+1i

, który zawiera numery tych komutatorów z sekcji nast˛ep- nej i + 1, które s ˛ a poł ˛ aczone z komutatorem x

i

, 1 6 i 6 n − 1. Zbiór ten jest definiowany nast˛epuj ˛ aco:

NS

xi+1i

= n

y

i+1a

: y = j x

i

d

n−i

k

× d

n−i

+ + ³j x

i

d k

mod d

n−i−1

´

+ a × d

n−i−1

, (2) 0 6 a 6 d − 1} .

Na przykład w polu z rys. 1 komutator 4

2

poł ˛ aczony jest z komutatorami 3, 4 i 5 z sekcji 3 (z (2) mamy y

03

= 3

3−2

¥

4/3

3−2

¦ + ¡

b4/3c mod 3

3−2−1

¢

+ 0 = 3, y

13

= 3

3−2

¥

4/3

3−2

¦ + ¡

b4/3c mod 3

3−2−1

¢

+ 1 = 4, y

23

= 3

3−2

¥

4/3

3−2

¦ + ¡

b4/3c mod 3

3−2−1

¢

+ 2 = 5), st ˛ ad NS

432

= {3, 4, 5}.

´Scie˙zka poł ˛aczeniowa mi˛edzy wej´sciem s a wyj-

´sciem t składa si˛e z komutatorów x

1

= bs/dc, y

n

=

bt/dc, komutatorów w sekcjach od 2 do n − 1 oraz od- powiednich ł ˛ aczy mi˛edzysekcyjnych mi˛edzy tymi komu- tatorami. Poł ˛ aczenie b˛edzie oznaczane przez hs, ti. Jed- nak˙ze do poprawnego przedstawienia stanu pola komuta- cyjnego wystarczy zna´c tylko numery komutatorów sekcji skrajnych. St ˛ ad w dalszej cz˛e´sci artykułu b˛edziemy posłu- giwali si˛e tylko numerami komutatorów. Relacja mi˛edzy komutatorami x

1

i y

n

b˛edzie oznaczana jako (x, y). Dla ka˙zdej relacji (x, y) mo˙zliwe jest wyznaczenie numerów komutatorów r

i

, 2 6 i 6 n, sekcji po´srednich, które znaj- duj ˛ a si˛e w ´scie˙zce poł ˛ aczeniowej danej relacji. Numery tych komutatorów mog ˛ a by´c wyznaczone z nast˛epuj ˛ ace- go wzoru:

^

16i6n−1

r

i+1

= j r

i

d

n−i

k

× d

n−i

+

+ ³j r

i

d k

mod d

n−i−1

´

+ (3)

+ ³j y

d

n−i−1

k

mod d ´

× d

n−i−1

, gdzie r

1

= x.

Na przykład w polu z rys. 1 ma by´c zestawione poł ˛ aczenie h19, 26i. Jest to poł ˛ aczenie w relacji (6, 8).

Z zale˙zno´sci (3) mo˙zna wyznaczy´c numer komutatora w sekcji 2, który bierze udział w tym poł ˛ aczeniu. Dla x = 6 i y = 8 mamy r

2

= 9 b6/9c + (b6/3c mod 3) + 3 (b8/3c mod 3) = 8. Poł ˛ aczenie to zaznaczone jest na rys. 1 pogrubion ˛ a lini ˛ a przerywan ˛ a.

Pola typu log

d

(N, 0, 1) charakteryzuj ˛ a si˛e tym, ˙ze mi˛edzy ka˙zdym wej´sciem i ka˙zdym wyj´sciem istnieje tyl- ko jedna droga poł ˛ aczeniowa. Je˙zeli dwie ´scie˙zki spoty- kaj ˛ a si˛e w przynajmniej jednym ł ˛ aczu mi˛edzysekcyjnym wtedy jedno z poł ˛ acze´n jest blokowane. St ˛ ad wynika ko- nieczno´s´c budowania pól wielopłaszczyznowych, ponie- wa˙z zablokowane w jednej płaszczy´znie poł ˛ aczenie mo˙z- na wtedy zestawi´c w innej, dost˛epnej dla tego poł ˛ aczenia płaszczy´znie.

B. REPREZENTACJA STANÓW POLA Ka˙zdy komutator pierwszej sekcji ma d wej´s´c a ka˙z- dy komutator ostatniej sekcji ma d wyj´s´c. Jednak w roz- wa˙zaniach stanów pola komutacyjnego nie jest istotne, pomi˛edzy którymi z tych d wej´s´c i wyj´s´c jest zestawiane poł ˛ aczenie. Na przykład poł ˛ aczenia h0, 0i lub hd−1, d−1i jak równie˙z h0, d − 1i i hd − 1, 0i przechodz ˛ a przez ko- mutatory o numerach 0 we wszystkich sekcjach komuta- torów. St ˛ ad, numery elementów komutacyjnych w pierw- szej i ostatniej sekcji s ˛ a wystarczaj ˛ ace do analizy stanów pola komutacyjnego.

Rozwa˙zmy pole log

3

(27, 0, p). Poł ˛ aczenie h0, 0i blokuje wszystkie pozostałe poł ˛ aczenia realizowane z ko- mutatora 0

1

do komutatorów 0, 1 i 2 w trzeciej sekcji.

Jednocze´snie poł ˛ aczenie h0, 0i blokuje wszystkie inne po- ł ˛ aczenia z komutatorów 1

1

i 2

1

do komutatora 0 w trzeciej sekcji. Oznacza to, ˙ze poł ˛ aczenie h0, 0i blokuje wszystkie inne poł ˛ aczenia, które mog ˛ a by´c zestawione przez ł ˛ acza mi˛edzysekcyjne wykorzystywane przez to poł ˛ aczenie.

Stan pola komutacyjnego zaznaczany jest w k ma-

cierzach B

k

, 1 6 k 6 p. Ka˙zda macierz B

k

reprezen-

(3)

tuje stan płaszczyzny k pola. Macierz zbudowana jest z N/d wierszy, z których ka˙zdy odpowiada jednemu z ko- mutatorów wej´sciowych oraz z N/d kolumn, gdzie ka˙zda z nich odpowiada jednemu z komutatorów wyj´sciowych.

Macierz B

k

mo˙zna zdefiniowa´c nast˛epuj ˛ aco:

B

k

=

 

 

 

 

 

b

k

[x, y] =

 

 

 

 

 

 

 

 

 

 

 

t gdy (x, y) jest blokowana w płaszczy´znie k przez t innych relacji, 0 gdy (x, y) nie jest

blokowana w płaszczy´znie k.

 

 

 

 

 

 (4)

W macierzy B

k

zaznaczane s ˛ a poł ˛ aczenia zabloko- wane w płaszczy´znie k. Zapis b

k

[x, y] = t, t > 1, ozna- cza, ˙ze relacja (x, y) jest blokowana w płaszczy´znie k przez t innych relacji, a zapis b

k

[x, y] = 0 wskazuje na to, ˙ze w tej płaszczy´znie relacja (x, y) nie jest blokowana.

Notacja ta jest podobna do notacji stosowanej w [11] w przypadku pól gdzie dopuszczalne s ˛ a przesłuchy oraz w [13] dla pól gdzie przesłuchy s ˛ a całkowicie zabronione.

Poniewa˙z mi˛edzy ka˙zdym wej´sciem i wyj´sciem pola istnieje tylko jedna droga poł ˛ aczeniowa, to mo˙zliwe jest okre´slenie zbioru poł ˛ acze´n, które s ˛ a zablokowane przez zestawione ju˙z w płaszczy´znie poł ˛ aczenia. Poniewa˙z po- ł ˛ aczenie hs, ti blokuje wszystkie te poł ˛ aczenia, które mo- g ˛ a by´c zestawione przez ł ˛ acza mi˛edzysekcyjne wyko- rzystywane przez poł ˛ aczenie hs, ti, to nale˙zy wyznaczy´c wszystkie takie poł ˛ aczenia. W tym celu zdefiniujmy zbiór wszystkich komutatorów pierwszej sekcji, które s ˛ a osi ˛ a- galne z komutatora w sekcji i. Komutator pierwszej sekcji y

1

nazywamy osi ˛ agalnym z komutatora x

i

je˙zeli mo˙zli- we jest zestawienie drogi poł ˛ aczeniowej mi˛edzy y

1

i x

i

. Dla komutatora y

1

zbiór osi ˛ agalnych komutatorów pierw- szej sekcji ograniczony jest do tego komutatora. Zbiór osi ˛ agalnych komutatorów pierwszej sekcji dla danego ko- mutatora x

i

oznaczany b˛edzie przez I

xi

. Dla ka˙zdego x

i

, 1 6 i 6 n, mamy:

I

xi

= ©

y

1

: y = ¡

x

i

mod d

n−i

¢

× d

i−1

+ a, 0 6 a 6 d

i−1

− 1 ª

. (5)

Zdefiniujmy tak˙ze zbiór osi ˛ agalnych z komutatora sekcji i komutatorów ostatniej sekcji. Komutator ostatniej sekcji y

n

jest osi ˛ agalny z komutatora x

i

je˙zeli mo˙zliwe jest zestawienie drogi poł ˛ aczeniowej mi˛edzy komutatora- mi x

i

i y

n

. Dla ka˙zdego komutatora ostatniej sekcji y

n

zbiór osi ˛ agalnych komutatorów ograniczony jest do tego komutatora. Zbiór osi ˛ agalnych z komutatora x

i

komutato- rów ostatniej sekcji oznaczany jest przez O

xi

. Dla ka˙zdego x

i

, 1 6 i 6 n, mamy:

O

xi

= n

y

n

: y = j x

i

d

n−i

k

× d

n−i

+ a, 0 6 a 6 d

n−i

− 1 ª

(6) Na przykład w polu z rys. 1 zbiór I

61

dla ko- mutatora 6

1

zawiera tylko jeden element. Z (5) mamy y = (6 mod 9) = 6 i st ˛ ad I

61

= {6}. Z kolei zbiór

osi ˛ agalnych komutatorów ostatniej sekcji dla komutato- ra 6

1

zawiera wszystkie komutatory sekcji trzeciej (O

61

= {0, 1, 2, 3, 4, 5, 6, 7, 8}). Dla komutatora 4

2

mamy I

42

= {3, 4, 5} i O

42

= {3, 4, 5}.

Rozwa˙zmy teraz dowoln ˛ a drog˛e poł ˛ aczeniow ˛ a mi˛e- dzy wej´sciem i wyj´sciem. Na ´scie˙zce tej znajduj ˛ a si˛e ko- mutatory x

i

i y

i+1

. Oznacza to, ˙ze komutatory te s ˛ a poł ˛ a- czone ł ˛ aczem mi˛edzysekcyjnym, i ˙ze ł ˛ acze to jest u˙zywa- ne do zestawienia poł ˛ aczenia. Ł ˛ acze to jest zablokowane dla wszystkich innych poł ˛ acze´n, które mog ˛ a by´c zestawio- ne mi˛edzy komutatorami x

i

i y

i+1

. Mo˙zemy zidentyfiko- wa´c wszystkie te poł ˛ aczenia jako wszystkie relacje mi˛e- dzy osi ˛ agalnymi z komutatora x

i

komutatorami pierwszej sekcji a komutatorami ostatniej sekcji osi ˛ agalnymi z ko- mutatora y

i+1

.

Na przykład w polu z rys. 1 w relacji (6, 8) wyko- rzystywane jest ł ˛ acze mi˛edzysekcyjne mi˛edzy komutato- rami 6

1

i 8

2

. Mamy nast˛epuj ˛ ace zbiory osi ˛ agalnych ko- mutatorów: I

61

= {6} i O

82

= {6, 7, 8}. Oznacza to, ˙ze relacja (6, 8) w polu log

3

(27, 0, p) blokuje relacje (6, 6), (6, 7), i (6, 8). Przedstawione tu zablokowane relacje nie wyczerpuj ˛ a wszystkich przypadków poniewa˙z dla skom- pletowania pełnej listy blokowanych relacji nale˙zy roz- wa˙zy´c wszystkie ł ˛ acza mi˛edzysekcyjne wykorzystywane przez poł ˛ aczenie w danej relacji.

W ogólno´sci, poł ˛ aczenie w danej relacji (x, y) blo- kuje inne relacje. Zablokowane relacje tworz ˛ a zbiór Z.

Zbiór Z jest zdefiniowany nast˛epuj ˛ aco:

Z = (

(s, t) : ^

s

s ∈ I

qi

,

^

t

t ∈ O

ri+1

, 1 6 i 6 n − 1 )

, (7)

gdzie q = q

i

i r = r

i+1

s ˛ a numerami komutatorów u˙zy- wanych w ´scie˙zce poł ˛ aczeniowej w relacji (x, y) i s ˛ a wy- znaczone z zale˙zno´sci (3).

Na przykład dla relacji (6, 8) i dla i = 1 zbiór za- blokowanych relacji wyznaczony z (7) był ju˙z prezen- towany (zawiera on relacje (6, 6), (6, 7) i (6, 8)). Dla i = 2 (to znaczy, dla ł ˛ acza mi˛edzysekcyjnego mi˛e- dzy 8

2

i 8

3

) mamy: I

82

= {6, 7, 8} i O

83

= {8}.

Oznacza to, ˙ze kolejne trzy relacje s ˛ a zablokowane i s ˛ a to relacje (6, 8), (7, 8) i (8, 8). St ˛ ad zbiór Z = {(6, 6) , (6, 7) , (6, 8) , (6, 8) , (7, 8) , (8, 8)}.

Za pomoc ˛ a zale˙zno´sci (7) mo˙zna znale´z´c wszystkie

relacje, które s ˛ a blokowane przez relacj˛e (x, y). Jednak˙ze

w zbiorze Z niektóre relacje powtarzaj ˛ a si˛e. W przedsta-

wionym przykładzie jest to relacja (6, 8), która jest blo-

kowana w obu ł ˛ aczach mi˛edzysekcyjnych. St ˛ ad zbiór Z

nie mo˙ze by´c wykorzystywana do uaktualnienia wpisów

w macierzy B. Zdefiniujmy zatem ograniczony zbiór blo-

kowanych relacji i oznaczmy go przez Z

l

. Zbiór Z

l

za-

wiera wszystkie zablokowane relacje wyznaczone z za-

le˙zno´sci (7), gdzie ka˙zda relacja wyst˛epuje w tym zbio-

rze tylko jeden raz. W rozwa˙zanym przykładzie zbiór

Z

l

= {(6, 6) , (6, 7) , (6, 8) , (7, 8) , (8, 8)}. Zbiór Z

l

jest

wykorzystywany do aktualizacji wpisów w macierzy B

k

.

Gdy w polu jest zestawiane poł ˛ aczenie w danej relacji

wtedy wpis w macierzy B

k

jest zwi˛ekszany o jeden dla

(4)

Procedura Update_B(x, y, k)

Dane: x, y, k, connection, B

k

/* connection = false w przypadku rozł ˛ aczenia */.

Wynik: uaktualniona macierz B

k

. begin

if (connection = true) then z := 1;

else z := −1;

endif;

Z := ®;

for i = 1 to n − 1 do wyznacz q

i

z (3);

wyznacz r

i+1

z (3);

wyznacz I

qi

z (5);

wyznacz O

ri+1

z (6);

wyznacz relacje z (7) i dodaj do zbioru Z;

endfor;

ogranicz zbiór Z i utwórz zbiór Z

l

; for ka˙zda relacja (s, t) ∈ Z

l

do

b

k

[s, t] := b

k

[s, t] + z;

endfor;

end.

Rys. 2. Procedura Update_B(x, y, k)

ka˙zdej relacji ze zbioru Z

l

. Wpisy w macierzy B

k

s ˛ a mo- dyfikowane po ka˙zdym poł ˛ aczeniu lub rozł ˛ aczeniu. Proce- dura Update_B(x, y, k) została przedstawiona na rys. 2.

3. ALGORYTM STERUJ ˛ ACY

Prezentowany algorytm wyboru drogi poł ˛ aczeniowej oparty jest na algorytmie stosowanym w polach komu- tacyjnych log

2

(N, 0, p) opisanym w [11]. Ogólna zasa- da działania tego algorytmu polega na zestawianiu no- wego poł ˛ aczenia przez płaszczyzn˛e, w której zablokuje on jak najmniejsz ˛ a liczb˛e innych, kolejnych poł ˛ acze´n. Do wyznaczenia numeru takiej płaszczyzny niezb˛edny jest jeszcze jeden zbiór macierzy. Ka˙zda płaszczyzna k re- prezentowana jest przez jedn ˛ a macierz C

k

o wymiarach N/d × N/d. Podobnie jak w macierzy B

k

numer wier- sza odpowiada numerowi komutatora sekcji pierwszej na- tomiast numer kolumny – numerowi komutatora sekcji ostatniej. Warto´s´c elementu c

k

[x, y] = t oznacza, ˙ze je-

´sli relacja (x, y) jest zestawiana przez płaszczyzn˛e k to spowoduje ona niedost˛epno´s´c tej płaszczyzny dla t mo˙z- liwych przyszłych relacji.

Warto´s´c elementu c

k

[x, y] wyznaczana jest na pod- stawie zawarto´sci macierzy B

k

. W celu wyznaczenia licz- by relacji, które mog ˛ a by´c zablokowane przez (x, y), ko- nieczne jest okre´slenie liczby niezerowych elementów w okre´slonym obszarze macierzy B

k

. Obszar ten mo˙ze by´c wyznaczony z (7). Jednak w naszym algorytmie zosta- nie zaadaptowana metoda prezentowana w pracy [11]. Na rysunku 3 przedstawiono przykładowe zbiory dost˛epnych komutatorów sekcji pierwszej i ostatniej. Pogrubion ˛ a lini ˛ a zaznaczono poł ˛ aczenie h0, 0i (relacja (x, y), gdzie x = 0 i y = 0). Na rysunku 4 przedstawiono obszar blokowany przez relacj˛e (0, 0) odpowiadaj ˛ acy poszczególnym zbio-

rom osi ˛ agalnych komutatorów pierwszej i ostatniej sek- cji. Powi ˛ azanie miedzy zbiorami osi ˛ agalnych komutato- rów sekcji skrajnych a poszczególnymi fragmentami ob- szaru blokowania tak˙ze przedstawiono na rys. 4.

Poł ˛ aczenia mog ˛ a by´c blokowane w ró˙znych sekcjach pola komutacyjnego. Obszary macierzy (zbiory pozycji macierzy) reprezentuj ˛ ace poł ˛ aczenia, które mo˙ze bloko- wa´c dane poł ˛ aczenie nie s ˛ a zbiorami rozdzielnymi. W sek- cji 1, relacja (x, y) blokuje relacje odpowiadaj ˛ ace pozy- cjom macierzy w wierszu x i kolumnach od w

1

= y − y mod d

n−2

do w

1

+ d

n−2

− 1. W sekcji 2, relacja (x, y) blokuje relacje opowiadaj ˛ ace pozycjom macierzy w wier- szach od v

2

= x−x mod d do v

2

+d−1 i kolumnach od w

1

= y − y mod d

n−3

do w

1

+ d

n−2

− 1. Nale˙zy jednak zaznaczy´c, ˙ze pozycje macierzy w wierszu x oraz kolum- nach od w

1

= y − y mod d

n−3

do w

1

+ d

n−2

− 1 były ju˙z poprzednio uwzgl˛ednione. Dlatego te˙z, w tym kroku pozycje te powinny by´c pomini˛ete. Ogólnie mówi ˛ ac, rela- cje blokowane przez relacj˛e (x, y) w komutatorze sekcji i, 2 6 i 6 n − 1, odpowiadaj ˛ a pozycjom macierzy w wier- szach od v

i

= x − x mod d

i−1

do v

i

+ d

i−1

− 1 i kolum- nach od w

i

= y − y mod d

n−1−i

do w

1

+ d

n−1−i

− 1.

Oczywi´scie nale˙zy pami˛eta´c, ˙ze pozycje macierzy w wier- szach od v

0i

= x − x mod d

i−2

do v

i0

+ d

i−2

− 1 i kolum- nach od w

i

= y − y mod d

n−1−i

do w

1

+ d

n−1−i

− 1 były ju˙z uwzgl˛edniane podczas rozwa˙zania sekcji i − 1.

Maksymaln ˛ a liczb˛e pozycji, która mo˙ze by´c blokowana w macierzy B

k

przez jedn ˛ a relacj˛e zestawion ˛ a w płaszczy´z- nie k b˛edziemy oznacza´c przez m. Liczba ta mo˙ze by´c wyliczona z równania:

m = d

n−2

+

n−1

X

i=2

(d − 1)d

i−2

d

n−2

d

i−1

=

= d

n−2

+ (d − 1)(n − 2)d

n−3

. (8) Sposób liczenia pozycji w macierzach, które odpo- wiadaj ˛ a relacjom blokowanym przez relacj˛e (x, y) mo˙ze by´c wykorzystany do wyliczenia warto´sci wszystkich po- zycji C

k

na podstawie wpisów w macierzy B

k

. Warto´s´c pozycji c

k

[x, y] mo˙ze by´c wyznaczona ze wzoru:

c

k

[x, y] =

½ m + 1 ⇔ b

k

[x, y] > 0

m − q ⇔ b

k

[x, y] = 0 , (9) gdzie

q =

W2

X

w=W1

f (b

k

[x, w]) +

+ X

n

i=2 W4

X

v=W3

W6

X

w=W5

g (b

k

[v, w] , v), (10)

f (b

k

[s, t]) =

½ 0 ⇔ b

k

[s, t] = 0

1 ⇔ b

k

[s, t] > 0 , (11)

g(b

k

[s, t, ] , l) =

 

0 ⇔ W

7

6 l 6 W

8

f (b

k

[s, t, ]) ⇔ w innych przypadkach

, (12) oraz

W

1

= y − y mod d

n−2

, (13)

(5)

Rys. 3. Przykład zbiorów dost˛epnych komutatorów sekcji pierwszej i ostatniej pola komutacyjnego log

d

(N, 0, p)

X

0 0

d

n/2

-1

d

n/2

-1

X X

X

Rys. 4. Przykład obszarów w macierzy B

k

reprezentuj ˛ acej pole komutacyjne z rys. 3 W

2

= W

1

+ d

n−2

− 1, (14) W

3

= x − x mod d

i−1

, (15) W

4

= W

3

+ d

i−1

− 1, (16) W

5

= y − y mod d

n−i−1

, (17) W

6

= W

5

+ d

n−i−1

− 1, (18) W

7

= x − x mod d

i−2

, (19) W

8

= W

7

+ d

i−2

− 1. (20) Macierz C

k

po ka˙zdym zestawieniu lub rozł ˛ acze- niu poł ˛ aczenia musi by´c uaktualniona. Do uaktualnienia mo˙zna wykorzysta´c procedur˛e podobn ˛ a do prezentowanej w [11], jednak wymagane jest wyliczanie warto´sci zmien- nych na podstawie nowych wzorów. Procedura uaktual- nienia tej macierzy została przedstawiona na rys. 5.

Procedura Update_C(x, y, k) Dane: x, y, k, m, B

k

, C

k

. Wynik: uaktualniona macierz C

k

. begin

v := x − x ⊕ d

n−1

; w := y − y ⊕ d

n−1

;

for x = v to v + d

n−1

− 1 do for y = w to w + d

n−1

− 1 do

if b

k

[x, y] > 0 then c

k

[x, y] := m + 1 else

begin calculate q;

c

k

[x, y] := m − q;

end;

endif;

endfor;

endfor;

end.

Rys. 5. Procedura Update_C(x, y, k)

Algorytm steruj ˛ acy mo˙ze by´c okre´slony w ten sam sposób jak w pracy [11]. Algorytm został przedstawiony na rys. 6.

4. WARUNKI NIEBLOKOWALNO ´SCI WSNB Wyznaczona teraz zostanie wymagana liczba płasz- czyzn pola log

d

(N, 0, p), dla której pole to jest niebloko- walne przy zastosowaniu Algorytmu 1. Rozwa˙zany b˛edzie tylko przypadek n parzystego.

Twierdzenie 1: Pole komutacyjne log

d

(N, 0, p), dla n parzystego, gdzie n = log

d

N , jest polem nieblo- kowalnym przy zastosowaniu Algorytmu 1, wtedy i tylko wtedy, gdy p > d

n/2

.

Dowód. Warunek konieczny jest oczywisty, i wyni-

ka on z minimalnej liczby płaszczyzn wymaganych dla

zestawienia wszystkich poł ˛ acze´n, przechodz ˛ acych przez

ł ˛ acze mi˛edzysekcyjne pomi˛edzy komutatorami sekcji n/2

i n/2 + 1. Ze wzoru (5) mo˙zliwe jest wyznaczenie licz-

by komutatorów sekcji pierwszej dost˛epnych z komuta-

tora sekcji n/2, natomiast na podstawie wzoru (6) okre-

(6)

Algorytm 1 Zestawienie poł ˛ aczenia Dane: x, y, m, B, C.

Wyniki: P , uaktualnione macierze B

P

, C

P

. begin

P := 1;

c := m;

for k = 1 to p do if c

k

[x, y] < c then

begin

c := c

k

[x, y];

P := k;

end;

endif;

endfor;

Procedura Update_B(x, y, P );

Procedura Update_C(x, y, P );

end.

Rys. 6. Algorytm steruj ˛ acy

´slana jest liczba komutatorów sekcji n dost˛epnych z ko- mutatora sekcji n/2 + 1. W obu przypadkach liczba ele- mentów tych zbiorów zale˙zy od warto´sci a. Mamy za- tem

¯ ¯

¯I

xn/2

¯ ¯

¯ = d

n/2−1

i

¯ ¯

¯O

x(n/2)+1

¯ ¯

¯ = d

n/2−1

. Ozna- cza to, ˙ze ł ˛ acze mi˛edzysekcyjne mi˛edzy komutatorami w sekcjach n/2 i n/2 + 1 mo˙ze by´c wykorzystane przez d

n/2−1

relacji. Oznacza to równie˙z, ˙ze wymagane jest d · d

n/2−1

= d

n/2

ró˙znych płaszczyzn, poniewa˙z w ka˙z- dej relacji mo˙zliwe jest zestawienie do d poł ˛ acze´n (ka˙zdy komutator ma d wej´s´c i d wyj´s´c).

Wyka˙zemy teraz, ˙ze stosuj ˛ ac Algorytm 1 w polu log

d

(N, 0, p), w którym liczba płaszczyzn jest okre´slo- na przez Twierdzenie 1, zawsze mo˙zliwe jest znalezienie płaszczyzny dla nowego poł ˛ aczenia. Bez utraty ogólno´sci rozwa˙za´n załó˙zmy, ˙ze nowym poł ˛ aczeniem b˛edzie poł ˛ a- czenie h0, 0i. Poł ˛ aczenie to mo˙ze by´c blokowane przez poł ˛ aczenia wychodz ˛ ace z komutatorów pierwszej sekcji numerowanych od 0 do d

n/2

− 1 i kierowane do komu- tatorów ostatniej sekcji numerowanych od 0 do d

n/2

− 1.

W najbardziej niekorzystnym przypadku do zestawienia tych poł ˛ acze´n konieczne b˛edzie u˙zycie d

n/2

− 1 ró˙znych płaszczyzn. Poł ˛ aczenie h0, 0i mo˙ze by´c zestawione przez pozostał ˛ a jedn ˛ a woln ˛ a płaszczyzn˛e.

Rozwa˙zmy teraz przypadek, w którym ˙z ˛ adane jest nowe poł ˛ aczenie w relacji (s, t), 0 6 s 6 d

n/2−1

− 1, d

n/2−1

6 t 6 d

n−2

− 1. W tym stanie w polu komu- tacyjnym jest zaj˛etych tylko d

n/2

− 2 płaszczyzn przez relacje mog ˛ ace zablokowa´c poł ˛ aczenie h0, 0i, poniewa˙z przy wykorzystaniu Algorytmu 1 relacja (s, t) i jedno z pozostałych poł ˛ acze´n mo˙ze by´c zestawione w tej samej płaszczy´znie. Wraz ze wzrostem liczby relacji podobnych do (s, t), liczba wymaganych płaszczyzn maleje. Przykład takiego przypadku został przedstawiony na rys. 7. Poł ˛ a- czenia mi˛edzy wej´sciami komutatorów sekcji pierwszej numerowanymi od 0 do d

n/2

− 1 i wyj´sciami komutato- rów ostatniej sekcji numerowanymi od 0 to d

n/2

− 1 (wy- kluczaj ˛ ac poł ˛ aczenie h0, 0i) musz ˛ a by´c zestawione przez d

n/2

− 1 ró˙znych płaszczyzn, poniewa˙z ka˙zda ze ´scie˙zek tych poł ˛ acze´n zawiera w sobie ł ˛ acze mi˛edzysekcyjne L1.

Załó˙zmy, ˙ze dwie relacje (s, s) i (t, t) zostan ˛ a rozł ˛ aczo- ne. Po rozł ˛ aczeniu dwie nowe płaszczyzny s ˛ a dost˛epne dla poł ˛ aczenia h0, 0i. Niech nowymi ˙z ˛ adanymi relacjami b˛ed ˛ a (s, t) i (t, s). Relacje te mog ˛ a by´c zestawione w tej samej płaszczy´znie, poniewa˙z zbiory zajmowanych ł ˛ aczy mi˛edzysekcyjnych przez te relacje s ˛ a zbiorami rozł ˛ aczny- mi.

Rozwa˙zmy teraz inny stan pola komutacyjnego. W tym stanie jest d typów relacji, które s ˛ a oznaczane przez (s

r

, t

r

), 1 6 r 6 d, (r − 1)d

n/2−1

6 s

r

6 (r − 1) · d

n/2−1

− 1, (r − 1)d

n/2−1

6 t

r

6 (r − 1) · d

n/2−1

− 1.

Relacje te mog ˛ a by´c zestawiane przez d

n/2

płaszczyzn.

Płaszczyzny te s ˛ a wymagane przez relacje o indeksach od 2 do d. Relacje (s

1

, t

1

) zajm ˛ a tylko d

n/2

− 1 płasz- czyzn, poniewa˙z poł ˛ aczenie h0, 0i jest nowym, ˙z ˛ adanym poł ˛ aczeniem. Załó˙zmy, ˙ze jedna z relacji (s

1

, t

1

) i jedna z pozostałych typów relacji (oznaczonych jako (s

0r

, t

0r

)) zostan ˛ a rozł ˛ aczone. Niech nast˛epnym poł ˛ aczeniem b˛edzie (s

1

, t

0r

) (lub (s

0r

, t

1

)). Pomimo tego, ˙ze wszystkie poł ˛ acze- nia zestawione w polu komutacyjnym zajm ˛ a d

n/2

płasz- czyzn, nie wi˛ecej ni˙z d

n/2−2

(d − 1)

2

płaszczyzn b˛edzie niedost˛epne dla poł ˛ aczenia (s

1

, t

0r

) (lub (s

0r

, t

1

)). Pozo- staje d

n/2

płaszczyzn do zestawienia poł ˛ acze´n tych poł ˛ a- cze´n. Na rysunku 8 zostały przedstawione te typy relacji.

Wszystkie relacja (s

2

, t

2

) i (s

3

, t

3

) mog ˛ a by´c zestawio- ne przez d

n/2

płaszczyzn, poniewa˙z ´scie˙zki poł ˛ aczeniowe tych relacji zwieraj ˛ a ł ˛ acza mi˛edzysekcyjne odpowiednio L2 lub L3. Załó˙zmy, ˙ze relacje (s

01

, t

01

) i (s

02

, t

02

) zostan ˛ a rozł ˛ aczone. Now ˛ a ˙z ˛ adan ˛ a relacj ˛ a jest (s

01

, t

02

). Relacja ta mo˙ze by´c blokowana przez d

n/2−2

(d − 1)

2

relacji, które s ˛ a zestawiane przez ł ˛ acza mi˛edzysekcyjne L4 i L5. Pozo- stałe płaszczyzny s ˛ a dost˛epne dla poł ˛ aczenia (s

01

, t

02

).

W ogólno´sci, relacja (x, y) mo˙ze by´c blokowana przez d

n/2

− 1 relacji (s, t), x − x mod d

n/2−1

6 s 6 x − x mod d

n/2−1

+ d

n/2−1

− 1, y − y mod d

n/2−1

6 t 6 y − y mod d

n/2−1

+ d

n/2−1

− 1, w d

n/2−1

− 1 płasz- czyznach. Do zestawienia relacji (x, y) wykorzystana zo- stanie płaszczyzna o numerze d

n/2

. Tak wi˛ec, co najwy˙zej d

n/2

płaszczyzn b˛edzie zaj˛etych przez te relacje. ¤ Zgodnie z Twierdzeniem 1 liczba płaszczyzn jest ta- ka sama jak dla przestrajalnego pola komutacyjnego pre- zentowanego w [6].

5. WNIOSKI

W artykule przedstawiono algorytm sterowania nie-

blokowalnymi w szerokim sensie wielopłaszczyznowymi

polami typu log

d

(N, 0, p). Algorytm ten bazuje na algo-

rytmie prezentowanym w [11]. Do zestawienia nowego

poł ˛ aczenia wybierana jest płaszczyzna, w której zesta-

wienie tego poł ˛ aczenia spowoduje zablokowanie jak naj-

mniejszej liczby nast˛epnych, nowych poł ˛ acze´n. Udowod-

niono równie˙z, ˙ze gdy liczba płaszczyzn pola jest równa

lub wi˛eksza d

n/2

i n jest parzyste, przy zastosowaniu Al-

gorytmu 1 zawsze mo˙zliwe jest znalezienie płaszczyzny

dla nowego poł ˛ aczenia. Oznacza to, ˙ze dla tych warun-

ków i dla prezentowanego algorytmu, pole log

d

(N, 0, p)

jest nieblokowalne w szerokim sensie. Wymagana liczba

płaszczyzn w polu WSNB jest taka sama jak w polu prze-

strajalnym.

(7)

d n

/

2 -1 d

/

n 2

-1

Rys. 7. Przykłady poł ˛ acze´n, które mog ˛ a by´c zestawiane w tej samej płaszczy´znie 0

d n

/

2 -1 d n

/

2 -1

0

( s ,t 1 ) (s

 ,t

1 )

( s ,t 2 ) (s

 ,t

2 )

( s ,t 3 ) (s

 ,t

3 ) L1

L3 s’  L2

t’ 2

L4

L5

Rys. 8. Fragment pola komutacyjnego log

3

(81, 0, 1) z r = 3 typami relacji SPIS LITERATURY

[1] V. E. Beneš, Mathematical Theory of Connecting Networks and Telephone Traffic. Mathematics in Science and Engineering, vol.

17 Academic Press, 1965.

[2] C.-T. Lea, “Multi-log

2

N networks and their applications in high- speed electronic and photonic switching systems,” IEEE Trans.

Commun., vol. 38, s. 1749–1740, wrzesie´n 1990.

[3] C.-T. Lea and D.-J. Shyy, “Tradeoff of horizontal decomposition versus vertical stacking in rearrangeable nonblocking networks,”

IEEE Trans. Commun., vol. 39, s. 899–904, lipiec 1991.

[4] W. Kabaci´nski and G. Danilewicz, “Wide-sens and strict-sense non-blocking operation of multicast multi-log

2

N switching ne- tworks,” IEEE Trans. Commun., vol. 50, s. 1025–1036, lipiec 2002.

[5] W. Kabaci´nski and M. Michalski, “Lower Bounds for WSNB Multi-Log

2

N Switching Networks”. Conference on Telecommuni- cations A-ICT 2005, (Lisbona, Portugalia), s. 202–206, lipiec 2005.

[6] F. K. Hwang, W.-D. Lin, “Necessary and sufficient conditions for rearrangeable log

d

(N, m, p)”, IEEE Transactions on Communi- cations, vol. 53, s. 2020-2023, grudzie´n 2005.

[7] F. K. Hwang, The Mathematical Theory of Nonblocking Switching Networks. Singapur: World Scientific, 2004.

[8] A. Pattavina, Switching Theory - Architectures and Performance in Broadband ATM Networks. John Wiley & Sons, Wielka Brytania, 1998.

[9] W. Kabaci´nski. Nonblocking Electronic and Photonic Switching Fabrics. Springer, 2005.

[10] G. Danilewicz, “Wide-Sense Nonblocking log

d

(N, 0, p) Multi- cast Switching Networks,” IEEE Trans. Commun., przyj˛ete do pu- blikacji.

[11] W. Kabaci´nski and M. Michalski, “Wide-Sense Nonblocking log

2

(N, 0, p) Switching Networks with Even Number of Stages,”

IEEE ICC 2005, Seul, Południowa Korea, maj 2005.

[12] W. Kabaci´nski, M. Michalski, “The Routing Algorithm and Wide- Sense Nonblocking Conditions for Multiplane Baseline Switching Networks,” IEEE Journal on Sel. Area.of Commun., przyj˛ete do publikacji.

[13] G. Danilewicz, W. Kabaci´nski, M. Michalski, M. ˙Zal, “Wide-Sense

Nonblocking Multiplane Banyan-Type Switching Fabrics With Ze-

ro Crosstalk,” IEEE ICC 2006, Istambuł, Turcja, czerwiec 2006.

Cytaty

Powiązane dokumenty

Powróćmy wobec tego do rozważenia kwestii, czy w postępowaniu o podział majątku wspólnego małżonków sąd stosuje odpowiednie przepi­ sy o zniesieniu

Martinowicza stanowi bogaty zarys rozwoju adwokatury Białorusi na tle .ogólnych tendencji kształtowania się tej instytucji w ustroju radzieckim. Mimo że podstawowy

Ten ostatni, w yłączyw szy publikację Andrzeja K ozieła poświęconą organizacyjnym i prawnym problemom prasy w pierwszych latach Polski powojennej, jest monotematyczny i

At far enough distances from the body of the turbulent fluid a radiation field is established, with the entire system of random pressure fluctuations acting as the sound source. Our

Możliwo­ ści zaś usamodzielnienia się dawała w tym czasie rodząca się prasa prowincjo­ nalna, której zainteresowanie okazywały pisma warszawskie, a

jest dwojako: jako melodia, pod którą podkłada się różne teksty (mówi się wówczas o śpiewaniu „na nigun X”) bądź pieśń bez słów, czyli zazwyczaj

W moim artykule przedstawię sposób, w jaki Schubert ustosunkował się do twórczości Zumsteega. Wskażę te elementy, które przejął w swojej twórczości, jak również te, które

Tomasz Morus został przez króla zobligowany do zreferowania na forum Parlamentu wyników owych badań, co też rzeczowo uczynił, jednakże zapytany o jego własne