Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
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
2
8 x 8 OMEGA NETWORK
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
3
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
4
(really!)
Example of Self Routing
Cell destined for output port 4 (= 1002)
0 0
1 4 1
2 2
3 3
4 4
5 5
6 6
7 7
5
Example of Self Routing
Cell destined for output port 4 (= 1002)
0 0
1 1
2 4 2
3 3
4 4
5 5
6 6
7 7
6
Example of Self Routing
Cell destined for output port 4 (= 1002)
0 0
1 1
2 2
3 4 3
4 4
5 5
6 6
7 7
7
Example of Self Routing
Cell destined for output port 4 (= 1002)
0 0
1 1
2 2
3 3
4 4
5 5
6 4 6
7 7
8
Example of Self Routing
Cell destined for output port 4 (= 1002)
0 0
1 1
2 2
3 3
4 4
5 5
6 4 6
7 7
9
Example of Self Routing
Cell destined for output port 4 (= 1002)
0 0
1 1
2 2
3 3
4 4
5 4 5
6 6
7 7
10
Example of Self Routing
Cell destined for output port 4 (= 1002)
0 0
1 1
2 2
3 3
4 44
5 5
6 6
7 7
11
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
12
Path Contention
0 0
1 4 1
2 2
3 5 3
4 4
5 5
6 6
7 7
13
Path Contention
0 0
1 1
2 4 2
3 3
4 4
5 5
6 5 6
7 7
14
Path Contention
0 0
1 1
2 2
3 4 3
4 4
5 5
6 6
7 5 7
15
Path Contention
0 0
1 1
2 2
3 3
4 4
5 5
6 4 6
7 5 7
16
Path Contention
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
17
Path Contention
0 0
1 1
2 2
3 3
4 4
5 5
6 5 6
7 7
18
Path Contention
0 0
1 1
2 2
3 3
4 4
5 5 5
6 6
7 7
19
Path Contention
0 0
1 1
2 2
3 3
4 4
5 55
6 6
7 7
20
Performance Degradation
0 0
1 4 1
2 2
3 6 3
4 1 4
5 7 5
6 0 6
7 3 7
21
Performance Degradation
0 0
1 1 1
2 4 2
3 7 3
4 4
5 0 5
6 6 6
7 3 7
22
Performance Degradation
0 1 0
1 1
2 2
3 3
4 0 4
5 5
6 3 6
7 6 7
23
Performance Degradation
0 1 0
1 1
2 2
3 7 3
4 0 4
5 5
6 3 6
7 6 7
24
Performance Degradation
0 1 0
1 0 1
2 2
3 3
4 4
5 3 5
6 7 6
7 6 7
25
Performance Degradation
0 0
1 1
2 2
3 3
4 4
5 3 5
6 6
7 7
26
Performance Degradation
0 0 0
1 1
2 2
3 3
4 4
5 3 5
6 6
7 6 7
27
Performance Degradation
0 0 0
1 1
2 2
3 3 3
4 4
5 5
6 6
7 6 7
28
Performance Degradation
0 00
1 1
2 2
3 33
4 4
5 5
6 66
7 7
29
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
30
Batcher-Banyan Example
0 0 0
1 1 1
2 3 2
3 4 3
4 6 4
5 7 5
6 6
7 7
31
Batcher-Banyan Example
0 0 0
1 6 1
2 1 2
3 7 3
4 3 4
5 5
6 4 6
7 7
32
Batcher-Banyan Example
0 0 0
1 6 1
2 1 2
3 7 3
4 3 4
5 5
6 6
7 4 7
33
Batcher-Banyan Example
0 0 0
1 3 1
2 6 2
3 3
4 1 4
5 5
6 7 6
7 4 7
34
Batcher-Banyan Example
0 0 0
1 3 1
2 2
3 6 3
4 1 4
5 5
6 4 6
7 7 7
35
Batcher-Banyan Example
0 0 0
1 1 1
2 3 2
3 3
4 4
5 4 5
6 6 6
7 7 7
36
Batcher-Banyan Example
0 00
1 11
2 2
3 33
4 44
5 5
6 66
7 77
37