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

Slides:



Advertisements
Similar presentations
Shantanu Dutt Univ. of Illinois at Chicago
Advertisements

Efficient Realization of Hypercube Algorithms on Optical Arrays* Hong Shen Department of Computing & Maths Manchester Metropolitan University, UK ( Joint.
Parallel Architectures: Topologies Heiko Schröder, 2003.
Parallel Architectures: Topologies Heiko Schröder, 2003.
1 Interconnection Networks Direct Indirect Shared Memory Distributed Memory (Message passing)
Interconnection Networks 1 Interconnection Networks (Chapter 6) References: [1,Wilkenson and Allyn, Ch. 1] [2, Akl, Chapter 2] [3, Quinn, Chapter 2-3]
CS2420: Lecture 13 Vladimir Kulyukin Computer Science Department Utah State University.
Data Structures Heaps and Graphs i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear.
Parallel Routing Bruce, Chiu-Wing Sham. Overview Background Routing in parallel computers Routing in hypercube network –Bit-fixing routing algorithm –Randomized.
DL Compression – Beeri/Feitelson1 Compression דחיסה Introduction Information theory Text compression IL compression.
Communication operations Efficient Parallel Algorithms COMP308.
CS 684.
Interconnection Network Topologies
CS 584. Algorithm Analysis Assumptions n Consider ring, mesh, and hypercube. n Each process can either send or receive a single message at a time. n No.
Examples Broadcasting and Gossiping. Broadcast on ring (Safe and Forward)
Interconnection Network Topology Design Trade-offs
1 Static Interconnection Networks CEG 4131 Computer Architecture III Miodrag Bolic.
SMI MANAGEMENT INFORMATION WITHIN MANAGED SYSTEMS MUST BE REPRESENTED AS: SCALARS TABLES (= TWO DIMENSIONAL ARRAYS OF SCALARS) THE SNMP PROTOCOL CAN ONLY.
ECE669 L16: Interconnection Topology March 30, 2004 ECE 669 Parallel Computer Architecture Lecture 16 Interconnection Topology.
Interconnect Network Topologies
Interconnect Networks
Network Topologies Topology – how nodes are connected – where there is a wire between 2 nodes. Routing – the path a message takes to get from one node.
Lecture Week 10 Link-State Routing Protocols. Objectives Describe the basic features & concepts of link-state routing protocols. List the benefits and.
CSE Advanced Computer Architecture Week-11 April 1, 2004 engr.smu.edu/~rewini/8383.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 January Session 4.
Parallel Processing, Low-Diameter Architectures
Lecture 8COMPSCI.220.FS.T Algorithm HeapSort J. W. J. Williams (1964): a special binary tree called heap to obtain an O(n log n) worst-case sorting.
InterConnection Network Topologies to Minimize graph diameter: Low Diameter Regular graphs and Physical Wire Length Constrained networks Nilesh Choudhury.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Shared versus Switched Media.
Networking and internetworking devices. Repeater.
1 Interconnection Networks. 2 Interconnection Networks Interconnection Network (for SIMD/MIMD) can be used for internal connections among: Processors,
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture.
CSS446 Spring 2014 Nan Wang.  to study trees and binary trees  to understand how binary search trees can implement sets  to learn how red-black trees.
Ch 22. Routing Direct and Indirect Delivery.
1Computer Sciences. 2 HEAP SORT TUTORIAL 4 Objective O(n lg n) worst case like merge sort. Sorts in place like insertion sort. A heap can be stored as.
HYPERCUBE ALGORITHMS-1
Basic Communication Operations Carl Tropper Department of Computer Science.
Dijkstra animation. Dijksta’s Algorithm (Shortest Path Between 2 Nodes) 2 Phases:initialization;iteration Initialization: 1. Included:(Boolean) 2. Distance:(Weight)
Chapter 6 – Trees. Notice that in a tree, there is exactly one path from the root to each node.
Network Problems A D O B T E C
2.4 Gray Code ReturnNext In a Gray code only one bit changes between each pair of successive code words. Gray code is a reflected code. It can be defined.
Question 4 Tutorial 8. Part A Insert 20, 10, 15, 5,7, 30, 25, 18, 37, 12 and 40 in sequence into an empty binary tree
Interconnection Networks Communications Among Processors.
Computer Network Topology
Shortest Path from G to C Using Dijkstra’s Algorithm
Interconnection topologies
Routing Protocols and Concepts
COMP 3270 Computer Networks
Link-State Routing Protocols
Source Code for Data Structures and Algorithm Analysis in C (Second Edition) – by Weiss
Tree.
THE NETWORK LAYER.
Data Structures and Database Applications Binary Trees in C#
Chapter 3: Dynamic Routing
Butterfly Network A butterfly network consists of (K+1)2^k nodes divided into K+1 Rows, or Ranks. Let node (i,j) refer to the jth node in the ith Rank.
Math 221 Huffman Codes.
Link State Route Calculations
Link-State Routing Protocols
Communication operations
Static Interconnection Networks
Link State Route Calculations
Representing binary trees with lists
Link-State Routing Protocols
Binary and Binomial Heaps
Interconnection Networks
ECE 753: FAULT-TOLERANT COMPUTING
Static Interconnection Networks
Priority Queues Supports the following operations. Insert element x.
OSPF Protocol.
Presentation transcript:

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

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

Hypercubes Hypercubes are designed recursively How ?

2 - Cube 2^2 = 4 nodes 00 01 10 11

3 - Cube 2^3 = 8 nodes 00 01 00 01 10 11 10 11

3 - Cube 2^3 = 8 nodes 100 101 000 001 110 111 010 011

4 - Cube 2^4 = 16 nodes 100 101 100 101 000 001 001 000 110 110 111 111 011 010 010 011

4 - Cube 2^4 = 16 nodes 100 101 100 101 000 001 001 000 110 110 111 111 011 010 010 011

100 110 010 000 101 111 110 100 001 011 101 000 010 111 001 011

100 110 010 000 101 111 110 100 001 011 101 000 010 111 001 011

0100 0110 0010 0000 0101 0111 1110 1100 0001 0011 1101 1000 1010 1111 1001 1011

4 - Cube 0110 0100 0101 0000 0010 0111 0010 0011

Reduced hypercube 100 101 000 001 110 111 010 011

Folded hypercube (4) 100 101 000 001 110 111 010 011

3-cube routing: data exchange The nodes are coded as XYZ 100 101 000 001 110 111 010 011

Routing by inverting X The nodes are coded as XYZ 100 101 000 001 110 111 010 011

Routing by inverting Y The nodes are coded as XYZ 100 101 000 001 110 111 010 011

Routing by inverting Z The nodes are coded as XYZ 100 101 000 001 110 111 010 011

Hemming distance The shortest path , between nodes, is determined by the Hamming distance. 100 101 000 001 110 111 010 011

Hemming distance XOR (source and destination) and count the 1’s 100 101 000 001 110 111 010 011

Examples 010 -> 111 = 100 101 000 001 110 111 010 011

Examples 010 -> 111 = 010 XOR 111 = 101 = 2 hops 100 101 000 001 110 111 010 011

Examples 010 -> 110 = 100 101 000 001 110 111 010 011

Examples 010 -> 110 = 010 XOR 110 = 100 = 1 hops 100 101 000 001 111 010 011

Examples 010 -> 101 = 010 XOR 010 = 111 = 3 hops 100 101 000 001 110 111 010 011

Examples 010 -> 101 = 010 XOR 010 = 111 = 3 hops 100 101 000 001 110 111 010 011

Hypercube The hypercube can emulate (simulate) other ICN’s The hypercube is a general purpose or universal ICN

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

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

Binary Reflected Code RGC(n); n-bit binary Reflected Gray Code RGC(n) = [ 0 . RGC(n-1), 1 . RGC (n-1) ] -1

1-cube/2-node array or 1 - Cube 0 1 RGC(n); n-bit binary Reflected Gray Code RGC(n) = [ 0 . RGC(n-1), 1 . RGC^{-1}(n-1) ] = [ 0 . RGC(1-1), 1 . RGC^{-1}(1-1) ] = [ 0. RGC(0) , 1 . RGC^{-1}(0) ] = [ 0 1 ] or 1 - Cube 0 1

2-cube/4-node array 00 01 10 2- cube 11 RGC(n); n-bit binary Reflected Gray Code RGC(2) = [ 0 . RGC(2-1), 1 . RGC^{-1}(2-1) ] = [ 0 . RGC(1) , 1 . RGC^{-1}(1) ] = [ 0 . ( 0,1) , 1 . (1,0) ] = [ 00, 01 , 11, 10 ] 00 10 01 11 2- cube

Linear array; n = 3 RGC(n); n-bit binary Reflected Gray Code RGC(3) = [ 0 . RGC(3-1), 1 . RGC^{-1}(3-1) ] = [ 0 . RGC(2) , 1 . RGC^{-1}(2) ] = [ 0.(00,01,11,10 ) , 1.(10,11,01,00) ] = [000,001,011,010,110,111,101,100 Addresses ARRAY = 0 1 2 3 4 5 6 7 HYPERCUBE = 0 1 3 2 6 7 5 4

Linear array - Hypercube 100 101 000 001 110 111 010 011

Linear array - Hypercube 100 101 000 001 110 111 010 011

Linear array - Hypercube 100 101 000 001 110 111 010 011

Linear array - Hypercube 100 101 000 001 110 111 010 011

Linear array - Hypercube 100 101 000 001 110 111 010 011

Linear array - Hypercube 100 101 000 001 110 111 010 011

Linear array - Hypercube 100 101 000 001 110 111 010 011

3-Cube/16-node array 100 101 000 001 3-cube 110 111 010 011 HYPERCUBE = 0 1 3 2 6 7 5 4 100 101 000 001 3-cube 110 111 010 011

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

Embed an 8-leave Binary Tree into a 3-Cube 000 000 000 000 001 010 011 100 101 110 111 1. Choose the address of the parent to be the address of the left child.

Embed an 8-leave Binary Tree into a 3-Cube 000 000 000 010 100 110 000 001 010 011 100 101 110 111 Choose the address of the parent to be the address of the left child.

Embed an 8-leave Binary Tree into a 3-Cube 000 000 100 Height = n = 4 Nodes = 2^n-1 000 010 100 110 000 001 010 011 100 101 110 111 Choose the address of the parent to be the address of the left child.

Embed an 8-leave Binary Tree into a 3-Cube 000 Level- 3 000 100 Level- 2 000 010 100 110 Level- 1 Level- 0 000 001 010 011 100 101 110 111

Create Tables (connection) for each level 000 Level- 3 000 100 Level- 2 000 010 100 110 Level- 1 Level- 0 000 001 010 011 100 101 110 111

Table: Level -1 Level- 3 Level- 2 Level- 1 Level- 0 001 ->> 000 100 Level- 2 000 010 100 110 Level- 1 Level- 0 000 001 010 011 100 101 110 111 001 ->> 000 011 ->> 010

Table: Level -1 Level- 3 Level- 2 Level- 1 Level- 0 001 ->> 000 100 Level- 2 000 010 100 110 Level- 1 Level- 0 000 001 010 011 100 101 110 111 001 ->> 000 011 ->> 010 101 ->> 100 111 ->> 110

Table: Level -2 Level- 3 Level- 2 Level- 1 Level- 0 010 ->> 000 100 Level- 2 000 010 100 110 Level- 1 Level- 0 000 001 010 011 100 101 110 111 010 ->> 000 110 ->> 100

Table: Level -3 Level- 3 Level- 2 Level- 1 Level- 0 100 ->> 000 010 100 110 Level- 1 Level- 0 000 001 010 011 100 101 110 111 100 ->> 000

Draw: Level - 1 001 ->> 000 011 ->> 010 100 101 011 ->> 010 100 101 101 ->> 100 111 ->> 110 000 001 110 111 010 011

Draw: Level - 2 001 ->> 000 011 ->> 010 100 101 011 ->> 010 100 101 101 ->> 100 111 ->> 110 000 001 010 ->> 000 110 ->> 100 110 111 010 011

Draw: Level - 3 001 ->> 000 011 ->> 010 100 101 011 ->> 010 100 101 101 ->> 100 111 ->> 110 000 001 010 ->> 000 110 ->> 100 110 111 100 ->> 000 010 011

8-leave Tree/3-cube 100 101 000 001 110 111 010 011

8-leave Tree/3-cube 000 001 011 010 100 101 111 110