8x8 Omega

37
1 Omega Network • The omega network is another example of a banyan multistage interconnection network that can be used as a switch fabric • The omega differs from the delta network in the pattern of interconnections between the stages • The omega MIN uses the “perfect shuffle”

Transcript of 8x8 Omega

Page 1: 8x8 Omega

1

Omega Network

• The omega network is another example of a banyan multistage interconnection network that can be used as a switch fabric

• The omega differs from the delta network in the pattern of interconnections between the stages

• The omega MIN uses the “perfect shuffle”

Page 2: 8x8 Omega

2

Perfect Shuffle

• The interconnections between stages are defined by the logical “rotate left” of the bits used in the port ids

• Example: 000 ---> 000 ---> 000 ---> 000

• Example: 001 ---> 010 ---> 100 ---> 001

• Example: 011 ---> 110 ---> 101 ---> 011

• Example: 111 ---> 111 ---> 111 ---> 111

Page 3: 8x8 Omega

3

8 x 8 OMEGA NETWORK

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Page 4: 8x8 Omega

4

Self Routing

• Omega network has self-routing property

• The path for a cell to take to reach its destination can be determined directly from its routing tag (i.e., destination port id)

• Stage k of the MIN looks at bit k of the tag

• If bit k is 0, then send cell out upper port

• If bit k is 1, then send cell out lower port

• Works for every possible input port (really!)

Page 5: 8x8 Omega

5

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

Example of Self RoutingCell destined for output port 4 (= 100 )2

Page 6: 8x8 Omega

6

Example of Self RoutingCell destined for output port 4 (= 100 )2

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

Page 7: 8x8 Omega

7

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Example of Self RoutingCell destined for output port 4 (= 100 )2

4

Page 8: 8x8 Omega

8

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Example of Self RoutingCell destined for output port 4 (= 100 )2

4

Page 9: 8x8 Omega

9

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Example of Self RoutingCell destined for output port 4 (= 100 )2

4

Page 10: 8x8 Omega

10

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Example of Self RoutingCell destined for output port 4 (= 100 )2

4

Page 11: 8x8 Omega

11

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Example of Self RoutingCell destined for output port 4 (= 100 )2

4

Page 12: 8x8 Omega

12

Path Contention• The omega network has the problems as the

delta network with output port contention and path contention

• Again, the result in a bufferless switch fabric is cell loss (one cell wins, one loses)

• Path contention and output port contention can seriously degrade the achievable throughput of the switch

Page 13: 8x8 Omega

13

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

Path Contention

5

Page 14: 8x8 Omega

14

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

Path Contention

5

Page 15: 8x8 Omega

15

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

Path Contention

5

Page 16: 8x8 Omega

16

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

Path Contention

5

Page 17: 8x8 Omega

17

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Path Contention

Page 18: 8x8 Omega

18

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Path Contention

5

Page 19: 8x8 Omega

19

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Path Contention

5

Page 20: 8x8 Omega

20

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Path Contention

5

Page 21: 8x8 Omega

21

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

1

0

4

6

7

3

Page 22: 8x8 Omega

22

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

1

4

7

0

6

3

Page 23: 8x8 Omega

23

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

1

0

3

6

Page 24: 8x8 Omega

24

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

1

0

3

6

7

Page 25: 8x8 Omega

25

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

1

0

3

7

6

Page 26: 8x8 Omega

26

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

3

Page 27: 8x8 Omega

27

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

6

3

0

Page 28: 8x8 Omega

28

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

3

0

6

Page 29: 8x8 Omega

29

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Performance Degradation

3

0

6

Page 30: 8x8 Omega

30

A Solution: Batcher Sorter

• One solution to the contention problem is to sort the cells into monotonically increasing order based on desired destination port

• Done using a bitonic sorter called a Batcher

• Places the M cells into gap-free increasing sequence on the first M input ports

• Eliminates duplicate destinations

Page 31: 8x8 Omega

31

Batcher-Banyan Example

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

1

0

4

6

7

3

Page 32: 8x8 Omega

32

Batcher-Banyan Example

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

0

6

1

7

3

4

Page 33: 8x8 Omega

33

Batcher-Banyan Example

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

0

6

1

7

3

4

Page 34: 8x8 Omega

34

Batcher-Banyan Example

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

0

3

6

1

7

4

Page 35: 8x8 Omega

35

Batcher-Banyan Example

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

77

0

3

1

6

4

Page 36: 8x8 Omega

36

Batcher-Banyan Example

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

6

7

4

3

1

0

Page 37: 8x8 Omega

37

Batcher-Banyan Example

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

0

1

3

4

6

7