indirect (dynamic) networks

42
NC 論(No.2) 1 Indirect (dynamic) Networks • Communication between any two nodes has to be carried through some switches. • Classified into: Crossbar network Multistage interconnection networks (MIN) • Nonblocking networks • Rearrangeable nonblocking networks • Blocking networks Single-stage interconnection networks

Upload: kimi

Post on 01-Feb-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Indirect (dynamic) Networks. Communication between any two nodes has to be carried through some switches . Classified into: Crossbar network Multistage interconnection networks (MIN) Nonblocking networks Rearrangeable nonblocking networks Blocking networks - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Indirect (dynamic) Networks

NC 論2 (No.2) 1

Indirect (dynamic) Networks

• Communication between any two nodes has to be carried through some switches.

• Classified into:– Crossbar network

– Multistage interconnection networks (MIN)• Nonblocking networks

• Rearrangeable nonblocking networks

• Blocking networks

– Single-stage interconnection networks

Page 2: Indirect (dynamic) Networks

NC 論2 (No.2) 2

Crossbar (nonblocking, 1-hop)

An N x M crossbar

The cost increases as N x M.

Switch point

(crosspoint)

M outputs

N

inputs

N:1 multiplexer

Page 3: Indirect (dynamic) Networks

NC 論2 (No.2) 3

A large crossbar0

1

2

3

Page 4: Indirect (dynamic) Networks

NC 論2 (No.2) 4

MINs

Three-stage MIN

first stage

second stage

third stage

N

inputs

M outputs

Page 5: Indirect (dynamic) Networks

NC 論2 (No.2) 5

Nonblocking MIN

• Any input port can be connected to any free output port without affecting the existing connections.

• Same functionality as a crossbar.

• The Clos network is proposed to reduce the cost of crossbar by decreasing the number of switches (1953).

Page 6: Indirect (dynamic) Networks

NC 論2 (No.2) 6

History (telephone net.)

• Early telephone networks were built from elector-mechanical crossbars.

• Key developments in telephone switching include the Clos network in 1953 and the Benes network in 1962.

• Many large telephone switches today are still built from Clos or Clos-like networks.

Page 7: Indirect (dynamic) Networks

NC 論2 (No.2) 7

3-stage Clos network (m,n,r)

Nonblocking: m >= 2n-1

Rearrangeable: 2n-1 > m >= n

N

inputsN

outputs

1

2

r

1

n

1

n

1

n

1

2

m

1

2

r

1

n

1

n

1

n

n×m r×r m×n

Page 8: Indirect (dynamic) Networks

NC 論2 (No.2) 8

Rearrangeable nonblocking MIN

• Any input port can be connected to any free output port with rearrangement of paths for the existing connections.

• Less stages or smaller switches than a nonblocking networks.

• The best known example is the Benes network.

Page 9: Indirect (dynamic) Networks

NC 論2 (No.2) 9

Benes   network

An 8x8 Benes network (Eσ 3-1 E σ 2

- 1 Eσ 2 Eσ 3  E)

N(2log2N - 1) / 2 switches, 2log2N - 1 hops, E: stage

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

σ 3-1 σ 2

-1 σ 2 σ 3

010

001

(2,2,2) clos

(2,2,2) clos

(2,4,2) Clos

Page 10: Indirect (dynamic) Networks

NC 論2 (No.2) 10

2x2 switch (radix: 2)

straight exchange lowerbroadcast

upperbroadcast

Page 11: Indirect (dynamic) Networks

NC 論2 (No.2) 11

Permutation  • Permutations are traffic patterns in which all traffic

from each source is directed to one destination.• It can be compactly represented by a permutation

function that maps source to destination.• Bit (digit) permutation are those in which each bit

(digit) of the destination address is a function of one bit (digit) of the source address.– di = sj or dx = f(sx)

Page 12: Indirect (dynamic) Networks

NC 論2 (No.2) 12

Permutation functions (1/2)Communication from node address x(an,an-1,an-2,…, a1) to

• Perfect shuffle: σ(x)=(an-1,an-2,…, a1,an)

• k sub-shuffule: σk(x)=(an,an-1,…, ak+1,ak-1, … , a1,ak)

• k supershuffule: σk(x)=(an-1,an-2,…, an-k+1, an, an-k, … , a1)

• Inverse perfect shuffle: σ-1(x)=(a1 , an , an-1,an-2,…, a2)

• k sub-inverse shuffule: σk-1

(x)=(an , …, ak+1 , a1,ak,…, a2)

• Butterfly: β(x)=(a1 , an-1,an-2,…, a2 , an)

• k sub-butterfly: βk (x)=(an,…, ak+1 , a1,ak-1, … , a2,ak)

• k superbutterfly: βk (x)=(an-k+1, an-1,…, an-k+2 , an,an-k, … , a1)

Page 13: Indirect (dynamic) Networks

NC 論2 (No.2) 13

Permutation functions (2/2)Communication from node address x(an,an-1,an-2,…, a1) to

• Bit reversal: ρ(x)=(a1,a2,…, an-1, an)

• k sub-bit reversal : ρk(x)=(an,an-1,…, ak+1,a1, a2,… , ak-1,ak)

• k super-bit reversal: ρk(x)=(an-k+1,an-k+2,…, an-1, an, an-k, … , a1)

• shift: α(x)= | x+1| (2n), where modulo by 2n

• k sub-shift: αk(x)= | x+1| (2n) +floor(x/2k)2k

• k super-shift: αk (x)= | x+ 2n-k | (2n)

• Exchange: Ei(x)=(an,an-1, …, ~ai,…, a1)

Page 14: Indirect (dynamic) Networks

NC 論2 (No.2) 14

Perfect shuffle (1/2)000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

Perfect shuffle

σ(x)=(an-1,an-2,…, a1,an)Inverse perfect shuffle

σ-1(x)=(a1,an an-1,an-2,…, a2)

Page 15: Indirect (dynamic) Networks

NC 論2 (No.2) 15

Perfect shuffle (2/2)000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

3 sub-inverse shuffule

σ3-1

(x)=(a1 , a3 , a2)2 sub-inverse shuffle

σ2-1

(x)=(a3, a1, a2)

Page 16: Indirect (dynamic) Networks

NC 論2 (No.2) 16

Butterfly000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

butterfly (bit reversal)

β3(x)=(a1 , a2 , a3)

  = ρ 3 (x)

2 sub-butterfly

β2(x)=(a3, a1, a2)

Page 17: Indirect (dynamic) Networks

NC 論2 (No.2) 17

shift000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

shift

α(x)= | x+1 | (23)2 sub-shift

α 2(x)=| x+1 | (22)+floor(x/ 22) 22

Page 18: Indirect (dynamic) Networks

NC 論2 (No.2) 18

exchange000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

E3(x) = (~a3, a2, a1) E2(x) = (a3, ~a2, a1)

Page 19: Indirect (dynamic) Networks

NC 論2 (No.2) 19

Blocking MIN

• A free input/output pair is not always possible because of conflicts with the existing connections.

• Minimizing the number of switches and stages.

• Unidirectional MIN (Cenju-3, IBM PR3)

• Bidirectional MIN (IBM SP, TMC CM5)

Page 20: Indirect (dynamic) Networks

NC 論2 (No.2) 20

Unidirectional MINs• Channels and switches are unidirectional.• At least ceiling(logkN) stages are required for a MIN

of N input and output ports with k×k switches.• Every path through the MIN crosses all the stages

(same length).• Examples: baseline, butterfly, indirect cube

logN stages for N inputs/outputs with 2x2 switches( binary logN-fly in the form of k-ary n-fly)the number of communication patterns are (√N)N

Page 21: Indirect (dynamic) Networks

NC 論2 (No.2) 21

Baseline networks (1/2)(B = Eσn

-1 Eσn-1-1 E ・・・ Eσ 2

- 1 E)

000

001

010

011

100

101

110

111

000

001 (UUL)

010   (ULU)

011

100

101

110

111

abc cab cbaσ 2

- 1σ 3- 1

001

Page 22: Indirect (dynamic) Networks

NC 論2 (No.2) 22

Baseline networks (2/2)

• To route (an,an-1,an-2,…, a1) to (bn,bn-1,bn-2,…, b1),

select upper link when bi=0, otherwise select lower link on (n-i+1) stage (MSB to LSB).

(path is determined only by the destination address)

switch

upper link

lower linkinputs

Page 23: Indirect (dynamic) Networks

NC 論2 (No.2) 23

Omega networks (1/2) Ω= (σE)n

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

σσσabc bca abccab

Page 24: Indirect (dynamic) Networks

NC 論2 (No.2) 24

Omega networks (2/2)

• To route (an,an-1,an-2,…, a1) to (bn,bn-1,bn-2,…, b1),

set the switch as straight when ai^bi=0, otherwise set it as exchange on (n-i+1) stage (MSB to LSB).

straight exchange

Page 25: Indirect (dynamic) Networks

NC 論2 (No.2) 25

Indirect binary n-cube (1/2)(C = Eβ 2 Eβ 3 ・・・ E β n Eσ - 1)

000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

σ-1β 3β 2

000001

100101

010

110

011

111

abc acb abcbca

Page 26: Indirect (dynamic) Networks

NC 論2 (No.2) 26

Indirect binary n-cube (2/2)

• To route (an,an-1,an-2,…, a1) to (bn,bn-1,bn-2,…, b1),

set the switch as straight when ai^bi=0, otherwise set it as exchange on i-th stage (LSB to MSB).

• A k-ary n-fly network consists of kn source/destination terminals, n stages of kn-1 k×k crossbar switches.– Degree of the switches: 2k

– Diameter: n+1 or logkN +1 where N = kn

Page 27: Indirect (dynamic) Networks

NC 論2 (No.2) 27

Relation among blocking networks

• For omega, indirect n-cube and Banyan(Y):Ω-1=C=Yσ  

So they are almost functionally equal (isomorphic).

• The communication patterns are different, but same number of combinations ((√N)N).

• Smaller number of communication patterns than nonblocking networks (N!).

Page 28: Indirect (dynamic) Networks

NC 論2 (No.2) 28

Bitonic sort  

8 inputs sorter4 inputs sorter2 inputs sorter

A L

B H

Page 29: Indirect (dynamic) Networks

NC 論2 (No.2) 29

Batcher-banyan network

Bitonic

Sorter

(Batcher stage)

Ω

(banyan

stage)

Non-blocking

5

3

1

・・∞

1

3

5

・・∞

1

3

5

receiver Ordered addresses

Page 30: Indirect (dynamic) Networks

NC 論2 (No.2) 30

Tree saturation (e.g. on Omega)000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

Combining: combine two messages

hotspot

Page 31: Indirect (dynamic) Networks

NC 論2 (No.2) 31

Fault-tolerant MINs

• Blocking MINs provide a single path between any input/output pair.

• If a link becomes congested or fails, the unique path property can easily disrupt the communication (no path diversity).

• A solution is to provide multiple routing paths by adding extra stages or channels.

Page 32: Indirect (dynamic) Networks

NC 論2 (No.2) 32

Fault-tolerant MINs (Omega’s case)000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

σσσAdditional

stage

Page 33: Indirect (dynamic) Networks

NC 論2 (No.2) 33

Fault-tolerant MINs (Baseline’s case)000

001

010

011

100

101

110

111

000

001

010

011

100

101

110

111

σ 2- 1σ 3

- 1

Page 34: Indirect (dynamic) Networks

NC 論2 (No.2) 34

Bidirectional MINs (BMINs)

• Channels and switches are bidirectional.• Information can be transmitted simultaneously in

opposite directions between neighboring switches.• Paths are established in BMINs by crossing stages

in forward, then turnaround, and finally backward.

• Several paths are possible in forward direction, but a single path is available in backward direction.

Page 35: Indirect (dynamic) Networks

NC 論2 (No.2) 35

Bidirectional Banyan networks000

001

010

011

100

101

110

111

β 3β 2

000001

100101

010

110

011

111

000001

100101

010

110

011

111

forward

backward

turnaround

Page 36: Indirect (dynamic) Networks

NC 論2 (No.2) 36

A fat tree BMIN

forwardbackward

Page 37: Indirect (dynamic) Networks

NC 論2 (No.2) 37

Hybrid networks

• Combine mechanisms from shared-medium networks and direct or indirect networks.

• Increase bandwidth and reduce the distance between nodes.

• Examples:– Multiple backplane buses– Hierarchical buses– Cluster-based networks

Page 38: Indirect (dynamic) Networks

NC 論2 (No.2) 38

Multiple backplane buses

device device device

bus

bus

bus

Page 39: Indirect (dynamic) Networks

NC 論2 (No.2) 39

Hierarchical buses

Global bus

Cluster bus

bridge

Page 40: Indirect (dynamic) Networks

NC 論2 (No.2) 40

Cluster-based networks

Cluster bus

ClusterCluster Cluster

ClusterCluster Cluster

router

Page 41: Indirect (dynamic) Networks

NC 論2 (No.2) 41

History (Clos networks, etc.)

• Clos introduced non-blocking networks in1953.• Benes discovered rearrangeable non-blocking

networks in 1965.• Bachter introduced the bitonic sort and the

Batcher sorting network in 1968.• Knuth’s book in 1998 treats sorting networks in

detail.• Multicast in Clos networks was first considered by

Masson and Jordan(1972), and has since been studied by many researchers.

Page 42: Indirect (dynamic) Networks

NC 論2 (No.2) 42

History (indirect networks)

• Processor-memory networks emerged in the late 1960s in the form of indirect netwoks.

• The smallest machine employed crossbar, whereas larger sytems used butterfly, etc..

• Since the early 1990s, a variant of the Clos and Benes networks of telephony has emerged in SMP (MPP) networks in the form of the fat tree.

• Today, the high pin bandwidth of router chips relative to message length motivates the use of networks of higher node degree, such as Clos and fat free.