1 delta network the delta network is one example of a multistage interconnection network that can be...

Post on 19-Dec-2015

242 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Delta 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...

2

8 x 8 DELTA NETWORK

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

3

Self 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!)

4

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

5

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

6

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

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

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

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

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

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

12

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

74

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

13

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

14

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

15

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

16

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

7

5

17

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

5

7

18

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

5

7

19

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

5

7

20

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

5

7

21

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

77

5

22

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

7

5

1

23

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

5

7

1

24

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

5

7

1

25

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

5

7

1

26

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

5

7

1

27

Multiple Concurrent Paths

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

77

5

1

28

Output 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, ...

29

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

4

Output Port Contention

30

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

4

Output Port Contention

31

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

4

Output Port Contention

32

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

4

Output Port Contention

33

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

4

4

Output Port Contention

34

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Output Port Contention

35

44

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Output Port Contention

36

Path 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

37

Path Contention

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

2

3

38

Path Contention

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

2

3

39

Path Contention

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

2

3

40

Path Contention

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

41

Path Contention

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

3

42

Path Contention

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

3

43

Path Contention

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

3

44

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

8 x 8 DELTA NETWORKCell on input port 0 destined for output port 2

45

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

8 x 8 DELTA NETWORKCell on input port 4 destined for output port 3

46

INTERNAL BLOCKING

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

Cell on input port 0 destined for output port 2

Cell on input port 4 destined for output port 3

47

Performance Degradation

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0 5

3

2

0

4

6

48

Performance Degradation

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0

6

5

4

0

2

3

49

Performance Degradation

0

1

2

3

4

5

6

7

3

5

2

0

4

6

1

2

3

4

6

7

5

0

50

Performance Degradation

6

4

5

2

0

3

1

2

3

4

6

7

5

0 0

1

2

3

4

5

6

7

51

Performance Degradation

0

1

2

3

4

5

6

7

0

3

2

6

1

2

3

4

6

7

5

0

52

Performance Degradation

0

1

2

3

4

5

6

7

0

3

2

6

1

2

3

4

6

7

5

0

5

53

Performance Degradation

0

1

2

3

4

5

6

7

5

6

2

3

0

1

2

3

4

6

7

5

0

54

Performance Degradation

0

1

2

3

4

5

6

7

0

3

2

5

6

1

2

3

4

6

7

5

0

55

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

56

Batcher-Banyan

BatcherSorter

Banyan(Delta)

57

Batcher-Banyan Example

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0

5

3

2

0

4

6

58

Batcher-Banyan Example

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0

4

3

6

2

5

0

59

Batcher-Banyan Example

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0 0

5

2

6

3

4

60

Batcher-Banyan Example

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0

4

6

5

2

3

0

61

Batcher-Banyan Example

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0 0

3

2

5

4

6

62

Batcher-Banyan Example

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0 0

3

2

5

4

6

63

Batcher-Banyan Example

0

1

2

3

4

5

6

7

1

2

3

4

6

7

5

0

6

5

4

3

2

0

top related