Incremental and On-demand Random Walk for Iterative Power

Incremental and On-demand Random Walk for
Iterative Power Distribution Network Analysis
Yiyu Shi*, Wei Yao*, Jinjun Xiong+ and Lei He*
*Electrical Engineering Dept., University of California, Los Angeles
+IBM
T. J. Watson Research Center, Yorktown Heights, NY
This paper is supported in part by an NSF CAREER award
CCR0306682 and a UC MICRO grant sponsored by Actel and Fujitsu.
Outline
 PDN analysis and random walk algorithm
 Incremental random walk
 Walk Ordering Optimization
 Experimental Results
 Conclusions
PDN Design Challenges
 Designing reliable supply network is essential



VDD decreases
Wire width decreases
Load current increases
 Efficient power grid analysis tool is needed


To handle large circuit size with millions of nodes

On-demand analysis is necessary

Only calculate the response at the nodes of interest

Random walk based solver is a natural solution
To handle various design changes in the design loop

Incremental analysis is necessary

Update analysis results instead of calculating from scratch
Random Walk Based Solver
 The voltage at an internal node x can be solved from
V1  Vx g1  V2  Vx g 2  V3  Vx g3  V4  Vx g 4  I x
 It can be rewritten as
Vx 
g
I
g1
g
g
V1  2 V2  3 V3  4 V4  x
g g g g g
2
∑
1
g2
g1
 At pad node, we have
Vpad  VDD or 0
g3
x
1
Ix
3
g4
4
Random Walk Based Solver
Vx 
g
I
g1
g
g
V1  2 V2  3 V3  4 V4  x
g g g g g
Vpad  VDD or 0
 Alternatively, the above equations can be viewed as
Vx  px ,1V1  px , 2V2  px ,3V3  px , 4V4  m x
V pad  a pad
4
M walks from i-th
node
Take average
This yields xi
px,4
1
x
px,1
px,2
px,3
2
3
Outline
 PDN analysis and random walk algorithm
 Incremental random walk
 Walk Ordering Optimization
 Experimental Results
 Conclusions
Incremental Analysis of Power Network
 Incremental analysis exists in literature for full-solvers

Fictious Domain Method [Zhao:ICCAD’07]

Large Change Sensitivities
 However, they both require a full solve for every node of the
original circuits

Cannot be applied to the on-demand solutions obtained from
random walk based solver.

Q: How to perform incremental analysis for
random walk based solver?
Basic Idea for Incremental Random Walk
When design changes
25
0.1
25
20 (-5)
0.1
0.1
100
0.1
0.2
25
20 (-5) 0.1
100
0.1
0.1
25
20 (-5)
40 (+15)
Increase or decrease the number of visits from the node of change
Propagate the change throughout the network.
Incremental Random Walk
 Suppose the probability of walking to node i from an adjacent
node j is p j ,i
~
 After design changes it becomes p j ,i
 Then, the number of visits of node i needs to be changed to
N  ( ~
p  p )N
i

j ,i
j ,i
j
j

Ni is positive => Extra random walks are needed

Ni is negative => Remove existing random walks
Negative Random Walk
 It is easy to start extra random walks from a node

But to remove existing walks is difficult

Bookkeeping of all walks is infeasible due to the huge memory
requirement
 Instead of removing ΔN number of random walks starting from a
node directly, we perform ΔN number of extra random walks from
that node.
 Whenever a node is visited, the number of visits at that node is
decreased by one

opposed to the normal random walk which should increase the number
of visits by one.
 It can be proved that the statistical effect of such a strategy is equal
to the removal of ΔN random walks from that node.
Outline
 PDN analysis and random walk algorithm
 Incremental random walk
 Walk Ordering Optimization
 Experimental Results
 Conclusions
Merging of Positive and Negative Walks
 During positive (negative) random walk, when arriving at a node that
requires additional negative (positive) random walks,


The walk terminates.
The number of required additional walks at current node is decreased
by one.
 Order of the incremental random walks matters



Assume ΔN positive walks from A and ΔN negative walks from B
A first, then B => ~2ΔN walks are needed
B first, then A => only ~ΔN walks are needed
ΔN
-ΔN
 Intuitively, when the walks from a node has a higher
probability of hitting the nodes that require opposite walks,
that node should have an earlier start.
Runtime for Different Ordering: an Example
 Runtime distribution on a circuit with 1027 nodes


500 Monte Carlo runs with different node ordering
6X runtime difference can be observed with different ordering
scheme
Walk Ordering Optimization
 We order the nodes according to
P( A)   P( A  i)N i
i
 P(A→i) is the probability of a walk staring from node A to hit
node i can can be computed as
P( A  i ) 



 p
m { c } edge(
j ,k
j k )
where Φc is a set of all paths from node A to i.
m
 In practice, we only need to consider K paths with largest
probability.
P( A  i ) 

 p j ,k where
m {cK } edge( j k )m
 ln p j ,k
ed ge( j k )m
p

e
 j ,k
edge( j k )m
 Can be solved by K shortest paths algorithm.
Outline
 PDN analysis and random walk algorithm
 Incremental random walk
 Walk Ordering Optimization
 Experimental Results
 Conclusions
Impact of Ordering Algorithm
 PDN design with 102,471 nodes and 215 ports

Consider topology changes and magnitude changes
 Our ordering algorithm can reduce the runtime close to the
minimum time in 10000 Monte Carlo simulations.
 8X speedup compared with the worst ordering case.
Linear Complexity for On-demand Analysis
 Random walk from scratch has a warm-up cost


Becomes linear after the observation node is more than 40% of the total
nodes
However, in reality on-demand analysis hardly falls in this region
 Incremental random walk algorithm has a linear runtime complexity
w.r.t. number of observation nodes


Very suitable for on-demand incremental analysis
Up to 100X speedup over the random walk from scratch
Iterative PDN Sizing
 Design information
 Runtime and accuracy comparison
 18X speedup compared with random walk from scratch with
similar accuracy.
Iterative Package Ball Assignment with Substrate Rerouting
 To reduce crosstalk noise




Iteratively optimize ball assignment
Different ball assignment leads to different substrate rerouting
Topology changes in RLC network
Incremental random walk can be used to speedup the iterative
design process
 13X speedup for total analysis time during iterative design

Compared to random walk from scratch
Conclusion
 We develop an incremental random walk algorithm, which is
capable of both incremental and on-demand analysis.
 We propose an efficient algorithm to optimize the walk
ordering problem

Achieve 8× runtime reduction compared to the worst order
 Compared with random walk from scratch, runtime is reduced


by up to 18× for on-chip iterative PDN sizing, and
by up to 13× for iterative package ball assignment with
substrate rerouting.
 On-demand analysis has a runtime linear with respect to the
number of observed nodes for incremental random walk.

2× difference compared to non-incremental random walk.