56
ICN’s The n-D hypercube (n-cube) The n-D hypercube (n-cube) contains 2^n nodes contains 2^n nodes (processors). (processors). The nodes are neighbors in the The nodes are neighbors in the n-cube iff their end bit n-cube iff their end bit binary addresses differ in a binary addresses differ in a single bit single bit

ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

ICN’s

The n-D hypercube (n-cube) The n-D hypercube (n-cube) contains 2^n nodes (processors).contains 2^n nodes (processors).

The nodes are neighbors in the n-The nodes are neighbors in the n-cube iff their end bit binary cube iff their end bit binary addresses differ in a single bitaddresses differ in a single bit

Page 2: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Neighbor nodes

Two nodes are neighbors in the n-Two nodes are neighbors in the n-cube iff their end bit binary cube iff their end bit binary addresses differ by a single bitaddresses differ by a single bit

Page 3: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Hypercubes

Hypercubes are designed recursively

How ?

Page 4: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

2 - Cube

2^2 = 4 nodes00 01

10 11

Page 5: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

3 - Cube

2^3 = 8 nodes00 01

1011

1110

00 01

Page 6: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

3 - Cube

2^3 = 8 nodes100 101

110111

011010

000001

Page 7: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

4 - Cube

2^4 = 16 nodes

100 101

110111

011010

000 001

100 101

000

010 011

111

110

001

Page 8: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

4 - Cube

2^4 = 16 nodes

100 101

110111

011010

000 001

100 101

000

010 011

111

110

001

Page 9: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

100

101

110

111

011

010000

001

100

101000 010

011

111

110

001

Page 10: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

100

101

110

111

011

010000

001

100

101000 010

011

111

110

001

Page 11: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

1100

1101

0110

1111

1011

10101000

1001

0100

01010000 0010

0011

0111

1110

0001

Page 12: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

4 - Cube

0100

0101

0110

0111

0011

0010

0000

0010

Page 13: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Reduced hypercube

100 101

110111

011010

000001

Page 14: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Folded hypercube (4)

100 101

110111

011010

000001

Page 15: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

3-cube routing: data exchange

100 101

110111

011010

000001

The nodes are

coded as XYZ

Page 16: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Routing by inverting X

100 101

110111

011010

000001

The nodes are

coded as XYZ

Page 17: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Routing by inverting Y

100 101

110111

011010

000001

The nodes are

coded as XYZ

Page 18: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Routing by inverting Z

100 101

110111

011010

000001

The nodes are

coded as XYZ

Page 19: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Hemming distance

100 101

110111

011010

000001

The shortest path ,

between nodes,

is determined by

the Hamming

distance.

Page 20: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Hemming distance

100 101

110111

011010

000001

XOR

(source

and

destination)

and count the 1’s

Page 21: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Examples

100 101

110111

011010

000001

010 -> 111 =

Page 22: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Examples

100 101

110111

011010

000001

010 -> 111 = 010 XOR 111 = 101 = 2 hops

Page 23: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Examples

100 101

110111

011010

000001

010 -> 110 =

Page 24: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Examples

100 101

110111

011010

000001

010 -> 110 = 010 XOR 110 = 100 = 1 hops

Page 25: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Examples

100 101

110111

011010

000001

010 -> 101 = 010 XOR 010 = 111 = 3 hops

Page 26: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Examples

100 101

110111

011010

000001

010 -> 101 = 010 XOR 010 = 111 = 3 hops

Page 27: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Hypercube

The hypercube can emulate The hypercube can emulate (simulate) other ICN’s(simulate) other ICN’s

The hypercube is a general The hypercube is a general purpose or universal ICNpurpose or universal ICN

Page 28: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Embedding a linear array

How can we embed other ICN’s How can we embed other ICN’s into a hypercube ?into a hypercube ?

Page 29: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Algorithm

Bits must differ by a single bitBits must differ by a single bit Use the binary Reflected Gray Use the binary Reflected Gray

CodeCode

Page 30: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Binary Reflected Code

RGC(n); n-bit binary Reflected Gray RGC(n); n-bit binary Reflected Gray CodeCode

RGC(n) = [ 0 . RGC(n-1), 1 . RGC (n-1) ]RGC(n) = [ 0 . RGC(n-1), 1 . RGC (n-1) ]

-1

Page 31: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

1-cube/2-node array RGC(n); n-bit binary Reflected Gray CodeRGC(n); n-bit binary Reflected Gray Code

RGC(n) = [ 0 . RGC(n-1), 1 . RGC^{-1}(n-1) ]RGC(n) = [ 0 . RGC(n-1), 1 . RGC^{-1}(n-1) ]

= [ 0 . RGC(1-1), 1 . RGC^{-1}(1-1) ]= [ 0 . RGC(1-1), 1 . RGC^{-1}(1-1) ]

= [ 0. RGC(0) , 1 . RGC^{-1}(0) ]= [ 0. RGC(0) , 1 . RGC^{-1}(0) ]

= [ 0 1 ]= [ 0 1 ]

or or

0 1

1 - Cube

Page 32: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

2-cube/4-node array RGC(n); n-bit binary Reflected Gray CodeRGC(n); n-bit binary Reflected Gray Code

RGC(2) = [ 0 . RGC(2-1), 1 . RGC^{-1}(2-1) ]RGC(2) = [ 0 . RGC(2-1), 1 . RGC^{-1}(2-1) ]

= [ 0 . RGC(1) , 1 . RGC^{-1}(1) ]= [ 0 . RGC(1) , 1 . RGC^{-1}(1) ]

= [ 0 . ( 0,1) , 1 . (1,0) ]= [ 0 . ( 0,1) , 1 . (1,0) ]

= [ 00, 01 , = [ 00, 01 , 11, 1011, 10 ] ]

00

10

01

11

2- cube

Page 33: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Linear array; n = 3

RGC(n); n-bit binary Reflected Gray CodeRGC(n); n-bit binary Reflected Gray Code

RGC(3) = [ 0 . RGC(3-1), 1 . RGC^{-1}(3-1) ]RGC(3) = [ 0 . RGC(3-1), 1 . RGC^{-1}(3-1) ]

= [ 0 . RGC(2) , 1 . RGC^{-1}(2) ]= [ 0 . RGC(2) , 1 . RGC^{-1}(2) ]

= [ 0.(00,01,11,10 ) , 1.(10,11,01,00) ]= [ 0.(00,01,11,10 ) , 1.(10,11,01,00) ]

= [000,001,011,010,110,111,101,100= [000,001,011,010,110,111,101,100AddressesAddresses

ARRAY ARRAY = = 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7

HYPERCUBEHYPERCUBE = 0 1 3 2 6 7 5 4 = 0 1 3 2 6 7 5 4

Page 34: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Linear array - Hypercube

100 101

110111

011010

000001

HYPERCUBE = 0 1 3 2 6 7 5 4

Page 35: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Linear array - Hypercube

100 101

110111

011010

000001

HYPERCUBE = 0 1 3 2 6 7 5 4

Page 36: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Linear array - Hypercube

100 101

110111

011010

000001

HYPERCUBE = 0 1 3 2 6 7 5 4

Page 37: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Linear array - Hypercube

100 101

110111

011010

000001

HYPERCUBE = 0 1 3 2 6 7 5 4

Page 38: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Linear array - Hypercube

100 101

110111

011010

000001

HYPERCUBE = 0 1 3 2 6 7 5 4

Page 39: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Linear array - Hypercube

100 101

110111

011010

000001

HYPERCUBE = 0 1 3 2 6 7 5 4

Page 40: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Linear array - Hypercube

100 101

110111

011010

000001

HYPERCUBE = 0 1 3 2 6 7 5 4

Page 41: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

3-Cube/16-node array

100 101

110111

011010

000001

HYPERCUBE = 0 1 3 2 6 7 5 4

3-cube

Page 42: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Embed an 8-leave Binary Tree into a 3-Cube

Page 43: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Embed an 8-leave Binary Tree into a 3-Cube

1. Choose the address of the parent to be the

address of the left child.

000 001 010 011 100 101 110 111

000

000

000

Page 44: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Embed an 8-leave Binary Tree into a 3-Cube

Choose the address of the parent to be the

address of the left child.

000 001 010 011 100 101 110 111

000

000

000

010 100 110

Page 45: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Embed an 8-leave Binary Tree into a 3-Cube

Choose the address of the parent to be the

address of the left child.

000 001 010 011 100 101 110 111

000

000

000

010 100 110

100

Height = n = 4

Nodes = 2^n-1

Page 46: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Embed an 8-leave Binary Tree into a 3-Cube

000 001 010 011 100 101 110 111

000

000

000

010 100 110

100

Level- 0

Level- 1

Level- 2

Level- 3

Page 47: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Create Tables (connection) for each level

000 001 010 011 100 101 110 111

000

000

000

010 100 110

100

Level- 0

Level- 1

Level- 2

Level- 3

Page 48: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Table: Level -1

000 001 010 011 100 101 110 111

000

000

000

010 100 110

100

Level- 0

Level- 1

Level- 2

Level- 3

001 ->> 000

011 ->> 010

Page 49: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Table: Level -1

000 001 010 011 100 101 110 111

000

000

000

010 100 110

100

Level- 0

Level- 1

Level- 2

Level- 3

001 ->> 000

011 ->> 010

101 ->> 100

111 ->> 110

Page 50: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Table: Level -2

000 001 010 011 100 101 110 111

000

000

000

010 100 110

100

Level- 0

Level- 1

Level- 2

Level- 3

010 ->> 000

110 ->> 100

Page 51: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Table: Level -3

000 001 010 011 100 101 110 111

000

000

000

010 100 110

100

Level- 0

Level- 1

Level- 2

Level- 3

100 ->> 000

Page 52: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Draw: Level - 1

100 101

110111

011010

000001

001 ->> 000

011 ->> 010101 ->> 100

111 ->> 110

Page 53: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Draw: Level - 2

100 101

110111

011010

000001

001 ->> 000

011 ->> 010101 ->> 100

111 ->> 110010 ->> 000

110 ->> 100

Page 54: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

Draw: Level - 3

100 101

110111

011010

000001

001 ->> 000

011 ->> 010101 ->> 100

111 ->> 110010 ->> 000

110 ->> 100

100 ->> 000

Page 55: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

8-leave Tree/3-cube

100 101

110111

011010

000001

Page 56: ICN’s The n-D hypercube (n-cube) contains 2^n nodes (processors). The n-D hypercube (n-cube) contains 2^n nodes (processors). The nodes are neighbors in

8-leave Tree/3-cube

100101

110111

011010

000

001