EDA (CS286.5b) - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

EDA (CS286.5b)

Description:

search problem (e.g. BFS, Alpha-Beta) Easy? Finding a path is moderately easy. What's hard? ... more limiting in A*/Alpha-Beta search ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 35
Provided by: andre576
Category:
Tags: eda | beta | cs286 | iterate

less

Transcript and Presenter's Notes

Title: EDA (CS286.5b)


1
EDA (CS286.5b)
  • Day 14
  • Routing
  • (Pathfind, netflow)

2
Today
  • Routing
  • Pathfinder
  • graph based
  • global routing
  • simultaneous global/detail

3
Global Routing
  • Find sequence of channels for all routes
  • minimizing channel sizes
  • minimize max channel size
  • meeting channel capacity limits

4
Global?Graph
  • Graph Problem on routes through regions

w
5
Global/Detail
  • With limited switching (e.g. FPGA)
  • can represent routing graph exactly

6
Routing in Graph
  • Find (shortest/available) path between source and
    sink
  • search problem (e.g. BFS, Alpha-Beta)

7
Easy?
  • Finding a path is moderately easy
  • Whats hard?
  • Can I just iterate and pick paths?

8
Example
s1
s3
s2
All links capacity 1
si?di
d2
d1
d3
9
Challenge
  • Satisfy all routes simultaneously
  • Routes share potential resources
  • Greedy/iterative
  • not know who needs will need which resources
  • i.e. resource/path choice looks arbitrary
  • but earlier decisions limit flexibility for
    later
  • (somewhat like scheduling)
  • order affect result

10
Negotiated Congestion
  • Old idea
  • try once
  • see where we run into problems
  • undo problematic/blocking allocation
  • rip-up
  • use that information to redirect/update costs on
    subsequent trials
  • retry

11
Negotiated Congestion
  • Here
  • route signals
  • allow overuse
  • identify overuse and encourage signals to avoid
  • reroute signals based on overuse/past congestion

12
Basic Algorithm
  • Route signals along minimum cost path
  • If congestion/overuse
  • assign higher cost to congested resources
  • Repeat until done

13
Key idea
  • Congested paths/resources become expensive
  • When there is freedom
  • future routes, with freedom to avoid, will
  • When there is less freedom
  • have to take routes
  • Routes which must use congested resources will,
    while others will chose uncongested paths

14
Cost Function (1)
  • Cost base ? f(routes using,time)
  • Base cost of resource
  • delay of path
  • encourage small resource usage
  • (minimum length path, if possible)
  • minimizing delay?minimizing resources
  • Congestion
  • penalizes (over) sharing
  • increase sharing penalty over time

15
Example (first order congestion)
s1
s3
s2
1
1
2
3
3
1
4
1
1
1
Capacity
3
1
1
4
2
Base costs (delays)
4
d2
d1
d3
16
Example (need for history)
s1
s3
s2
1
1
2
1
2
1
1
1
Capacity
1
1
2
1
2
Base costs (delays)
d2
d1
d3
Need to redirect uncongested paths how encourage?
17
Cost Function (2)
  • Cost (base history)f(resources,time)
  • History
  • avoid paths with history of congestion

18
Example (need for history)
s1
s3
s2
1
1
2
1
2
1
1
1
Capacity
1
1
2
1
2
Base costs (delays)
d2
d1
d3
19
Cost Function (3)
  • Cost ea(routes)
  • I.e. cost exponential in overuse
  • a carefully chosen
  • (only reroute overused)

KleinSteinTardos/STOC90
20
What about delay?
  • Existing formulation uses delay to reduces
    resources, but doesnt directly treat
  • Want
  • prioritize critical path elements for shorter
    delay
  • allow nodes with slack to take longer paths

21
Cost Function (Delay)
  • Cost
  • W(edge)delay (1-W(edge))congest
  • congest as before
  • (basehistory)f(signals,time)
  • W(edge) D(edge)/Dmax
  • 1 for critical path
  • lt1 for paths with slack
  • Use W(edge) to order routes
  • Update each round

22
Convergence
  • ChanSchlag FPGA2000
  • cases where doesnt converge
  • special case of bipartite graphs
  • converge if incremental
  • or if prefer uncongested to least history cost
  • theory
  • only reroute overflow
  • converge in O(E) reroutes

23
Rerouting
  • Default reroute everything
  • Can get away rerouting only congested nodes
  • if keep routes in place
  • history force into new tracks
  • causing greedy/uncongested routes to be rerouted
  • Effect
  • maybe more iterations
  • less time
  • ? Better convergence

24
Run Time?
  • Route E edges
  • Each path search O(Egraph) worst case
  • generally less
  • Iterations?

25
Runtime Theory
  • O((EEgraph) Egraphlog(Egraph))
  • Roughly
  • O(E) iterations
  • Updating flows per iteration
  • O( Egraphlog(Egraph))

26
Search Ordering
  • Default breadth first search for shortest
  • Use A
  • estimated costs/path length, prune candidates
    earlier
  • can be more depth first
  • (search promising paths as long as know cant be
    worse)

27
Searching
  • In general
  • greedy/depth first searching
  • find a path faster
  • may be more expensive
  • (not least delay, congest cost)
  • tradeoff by weighting
  • estimated delay on remaining path vs. cost to
    this point
  • control greediness of router
  • More greedy is faster at cost of less optimal
    paths (wider channels)
  • 40 W -gt 10x time Tessier/thesis98

28
Domain Negotiation
  • For Conventional FPGAs (and many networks)
  • path freedom
  • bushy in middle
  • low on endpoints

29
Multistage/Benes
ignore color coding here
30
Conventional FPGA Domains
31
HSRA Domains
32
Domain Negotiation
  • Path bottlenecks exist at both endpoints
  • Most critical place for congestion
  • Most efficient work search from both ends
  • more limiting in A/Alpha-Beta search
  • focus on paths with least (no) congestion on
    endpoints first
  • FPGAs -- picking domain first
  • otherwise paths may look equally good up to end
    (little pruning)

33
Summary
  • Finding short path easy/well known
  • Complication need to route set of signals
  • who gets which path?
  • Arbitrary decisions earlier limit options later
  • Idea iterate/relax using congestion history
  • update path costs based on congestion
  • reroute with new costs
  • Accommodate delay and congestion

34
Todays Big Ideas
  • Exploit freedom
  • Technique
  • network flow
  • iterative improvement/relaxation
  • approximation algorithm
Write a Comment
User Comments (0)
About PowerShow.com