Title: Delta Network
1Delta Network
- The delta network is one example of a multistage
interconnection network that can be used as a
switch fabric - The delta network is an example of a banyan
network - In banyan networks, there is a single path from
each input port to each output port - A delta network looks like the following...
28 x 8 DELTA NETWORK
0
1
2
3
4
5
6
7
3Self Routing
- Delta 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!)
4Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
4
2
3
4
5
6
7
5Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
4
2
3
4
5
6
7
6Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
4
5
6
7
7Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
4
5
6
7
8Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
4
5
6
7
9Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
4
5
6
7
10Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
5
6
4
7
11Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
5
6
7
4
12Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
5
6
7
4
13Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
5
6
4
7
14Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
4
5
6
7
15Example of Self RoutingCell destined for output
port 4 ( 100 )
2
0
1
2
3
4
4
5
6
7
16Multiple Concurrent Paths
0
1
5
2
3
7
4
5
6
7
17Multiple Concurrent Paths
0
1
5
2
3
7
4
5
6
7
18Multiple Concurrent Paths
0
1
2
3
4
5
5
6
7
7
19Multiple Concurrent Paths
0
1
2
3
4
5
5
6
7
7
20Multiple Concurrent Paths
0
1
2
3
4
5
5
6
7
7
21Multiple Concurrent Paths
0
1
2
3
4
5
5
6
7
7
22Multiple Concurrent Paths
0
1
5
2
3
7
4
5
6
1
7
23Multiple Concurrent Paths
0
1
5
2
3
7
4
5
6
1
7
24Multiple Concurrent Paths
0
1
2
3
1
4
5
5
6
7
7
25Multiple Concurrent Paths
0
1
2
1
3
4
5
5
6
7
7
26Multiple Concurrent Paths
0
1
1
2
3
4
5
5
6
7
7
27Multiple Concurrent Paths
0
1
1
2
3
4
5
5
6
7
7
28Output Port Contention
- Up to now, all examples have worked wonderfully
because each incoming cell was destined to a
different output port - What happens if more than one cell destined to
same output port? - Answer output port contention
- Result cell loss in a bufferless network
- Alternatives buffering, deflection routing,
recirculation, tandem banyans, ...
29Output Port Contention
0
1
4
2
3
4
5
6
4
7
30Output Port Contention
0
1
4
2
3
4
5
6
7
4
31Output Port Contention
0
1
2
3
4
4
5
6
7
4
32Output Port Contention
0
1
2
3
4
4
5
6
4
7
33Output Port Contention
0
1
2
3
4
4
4
5
6
7
34Output Port Contention
0
1
2
3
4
5
6
7
35Output Port Contention
0
1
2
3
4
4
4
5
6
7
36Path Contention
- It is also possible for two incoming cells that
are destined to different output ports to require
the same internal link in the switch - Called path contention or internal blocking
- 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
37Path Contention
0
2
1
2
3
4
3
5
6
7
38Path Contention
0
0
2
1
1
2
2
3
3
4
3
4
5
5
6
6
7
7
39Path Contention
0
2
1
3
2
3
4
5
6
7
40Path Contention
0
1
2
3
4
5
6
7
41Path Contention
0
1
3
2
3
4
5
6
7
42Path Contention
0
1
2
3
3
4
5
6
7
43Path Contention
0
1
2
3
3
4
5
6
7
448 x 8 DELTA NETWORK
Cell on input port 0 destined for output port 2
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
458 x 8 DELTA NETWORK
Cell on input port 4 destined for output port 3
46INTERNAL BLOCKING
Cell on input port 0 destined for output port 2
Cell on input port 4 destined for output port 3
47Performance Degradation
0
5
1
2
0
3
3
4
2
5
4
6
6
7
48Performance Degradation
0
0
5
1
1
3
2
2
3
2
3
4
0
4
4
5
5
6
6
7
6
7
49Performance Degradation
0
0
3
1
1
5
2
2
2
3
3
4
0
4
4
5
5
6
6
7
6
7
50Performance Degradation
0
0
3
1
1
0
2
2
2
3
3
4
5
4
4
5
5
6
6
7
6
7
51Performance Degradation
0
0
0
1
1
3
2
2
3
2
3
4
4
5
5
6
6
7
6
7
52Performance Degradation
0
0
0
1
1
3
2
2
3
2
3
4
5
4
5
5
6
6
7
6
7
53Performance Degradation
0
0
0
1
1
2
2
3
3
2
3
4
5
4
5
5
6
6
7
6
7
54Performance Degradation
0
0
0
1
1
2
2
2
3
3
3
4
4
5
5
5
6
6
6
7
7
55A 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
56Batcher-Banyan
Batcher Sorter
Banyan (Delta)
57Batcher-Banyan Example
0
0
1
2
2
3
3
4
5
4
6
5
6
7
58Batcher-Banyan Example
0
0
1
5
2
2
6
3
3
4
5
4
6
7
59Batcher-Banyan Example
0
0
1
5
2
2
6
3
3
4
5
6
4
7
60Batcher-Banyan Example
0
0
1
3
2
2
3
5
4
5
6
6
4
7
61Batcher-Banyan Example
0
0
1
3
2
2
3
5
4
5
4
6
6
7
62Batcher-Banyan Example
0
0
1
2
3
2
3
5
4
4
5
6
6
7
63Batcher-Banyan Example
0
0
1
2
2
3
3
4
4
5
5
6
6
7