Network Coding for Routability Improvement in VLSI - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Network Coding for Routability Improvement in VLSI

Description:

A cut (V1,V2) is a partition of the nodes of the graph G into two subsets V1 and V2 = V V1 ... MinCutG(s,t) the minimum size of a cut that separates s and t in G. ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 27
Provided by: www2I
Category:

less

Transcript and Presenter's Notes

Title: Network Coding for Routability Improvement in VLSI


1
Network Coding for Routability Improvement in VLSI
  • Nikhil Jayakumar
  • Kanupriya Gulati
  • Sunil P. Khatri
  • Alexander Sprintson
  • Department of Electrical Computer Engineering,
  • Texas AM University, College Station, TX

2
Outline
  • Introduction to Network Coding
  • Algorithm
  • Using Network Coding in VLSI
  • Examples
  • Experimental Results
  • Conclusions

3
Communication Networks
s1
  • Directed graph G(V,E).
  • Source nodes S.
  • Terminal nodes T.
  • Requirement transfer information from S to T.

s2
t3
t2
t1
G(V,E)
4
The Multicast Setting
  • Multicast
  • One source transmits data to all terminals.
  • There may be several multicast groups.

s
t3
t2
t1
5
What is Network Coding?
  • Nodes of a network in a regular multicast setting
  • transmit, forward, duplicate or receive messages
    (or packets).
  • Network coding uses nodes of the network
  • generate new packets.
  • Perform algebraic operations on incoming packets.

6
Standard Approach
  • Steiner tree packing.
  • Assume s1, s2 have messages m1 and m2
    respectively.
  • Transmit each message on Steiner tree between S
    and T.
  • m1 green.
  • m2 blue.
  • m1 and m2 transmitted to t1, t2 and t3.
  • Nodes forward duplicate messages.

s1
t3
s2
t1
t2
7
Network Coding
  • Nodes do more than forwarding duplication.
  • Information on outgoing link is
  • Encoding of information received on incoming
    links.
  • Ensuring that all messages can be decoded at the
    terminal nodes.

m1
F1(m1,m2,m3)
m2
F2(m1,m2,m3)
m3
encoding
8
Network Coding helps!
  • Network coding can help reduce wiring.

t3
s1
s2
t3
s1
s2
m2
m1
m2
m1
m2
m2
m1
m2
m1
m1
m1?m2
m2
m1
t1
t1
m1?m2
t2
m1?m2
t2
Steiner Tree Packing
Network Coding
9
Advantage of Network Coding
  • Improves throughput of multicast networks.
  • Coding advantage (gain in throughput) as high as
  • where, n number of nodes k number of
    terminals
  • Charikar et al. Chekuri et al.
  • For a network in which the routing topology is
    not pre-determined
  • Coding advantage is at most 2 .
  • Since the Steiner tree packing already exploits
    the additional flexibility.

10
Preliminaries Cut
  • A cut (V1,V2) is a partition of the nodes of the
    graph G into two subsets V1 and V2 V \ V1
  • Size of the cut Number of links between nodes in
    V1 and V2.

V1
G
s
c
V2
t
11
Preliminaries Cut (contd)
  • A cut (V1,V2) separates s and t if s?V1 and t?V2.
  • MinCutG(s,t) the minimum size of a cut that
    separates s and t in G.
  • Mengers Theorem MinCutG(s,t) is equal to
    maximum number of disjoint paths between s and t.

V1
G
s
c
V2
t
12
Algorithm
  • Algorithm Jaggi et al.
  • Input An acyclic coding network N(G,s,T,h)
  • Output A feasible network code for N over a
    field of size k T.

13
Algorithm
  • Stage 1
  • Find for each terminal t1 ?T, a set Pi of h
    disjoint paths between s and ti.

s
t
5
t
1
t
4
t
2
t
3
14
Algorithm
  • Stage 2
  • Visit each node v of the graph G and determine
    the encoding function of all outgoing edges of v.
  • Visit edges in topological order towards
    terminals
  • Choose encoding function of each edge e such that
    all terminals downstream of e receive h linearly
    independent symbols.

15
An Example
s
S
001
100
010
C
B
A
010
010
001
100
D
E
001
100
110
011
???
???
F
G
011
110
110
011
H
101
101
101
I
t1
t2
16
An Example
s
S
001
100
I
II
010
C
B
A
010
010
III
001
100
D
E
001
100
110
011
F
G
011
110
110
011
I
H
II
101
III
101
101
I
t1
t2
17
Algorithm
  • Complexity of algorithm
  • O(EkhVk2h2(kh))
  • Jaggi et al.

18
Using Network Coding in VLSI
  • Signals on a VLSI chip can be viewed as instances
    of multicast communications
  • Any signal with fanout gt 1 is an example of a
    multicast communication within an IC.
  • Network coding can be useful in scenarios where
    wires are long (long buses)
  • For short wires, overhead due to coding logic may
    overshadow wire-length reductions.
  • Buffers are inserted in long wires anyway
  • Augmenting them with coding logic incurs minimal
    overhead.
  • Network coding actually reduces area power.
  • Reduction of wires and buffers for long
    interconnects.

19
A Generic Example
  • Instruction (I) and data (D) buses routed to two
    terminals t1 and t2.
  • Overlapping segment induces network nodes A, B

20
Experiments
  • Assumed 0.1um BPTM process
  • VDD1.2V
  • Assumed dimensions of chip 1cm X 1cm
  • Considered two buses
  • Instruction bus driven by instruction decode
    unit.
  • Data bus driven by data cache.
  • Used metal 3, metal 4 layers for route
  • 0.5um wide wires.
  • Bit-wise XOR used as coding logic.

21
Test Case 1
No Coding
22
Test Case 2
No Coding
23
Future Work
  • 3D routing instance.

S
b
S
a
a
b
b
a
a
t1
b
t1
b
a?b
a
a
b
t3
t3
a
a
a?b
b
t2
t2
b
a?b
Without Network Coding
With Network Coding
24
Future Work
  • 3D routing instance.
  • Search for patterns in routing problems that can
    exploit network coding.
  • Embedding this search in routers or buffer
    insertion routines.

25
Conclusions
  • We have extended the Network Coding paradigm to
    VLSI routing.
  • Network coding for VLSI routing is useful in many
    commonly occurring situations.
  • Several multicast nets with sections routed in
    parallel.
  • In particular, long wires/buses running in
    parallel help reduce the overheads.
  • Reduces wiring area (6 to 10), power (7 to
    9), active area (2 to 3).
  • Small delay penalty (2 to 3)

26
Thank you
Write a Comment
User Comments (0)
About PowerShow.com