a resource-level parallel approach for global-routing-based routing congestion estimation and a...
TRANSCRIPT
![Page 1: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/1.jpg)
A Resource-level Parallel Approach for Global-routing-based Routing
Congestion Estimation and a Method to Quantify Estimation Accuracy
Wen-Hao Liu, Zhen-Yu Peng,Ting-Chi Wang
ICCAD '14
![Page 2: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/2.jpg)
Outline
• Introduction• Preliminaries• Global Routing Instance Partitioning• Quantifiying the Similarity between Two
Congestion Maps• Experimental Results• Conclusions
![Page 3: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/3.jpg)
Introduction
• Routability has become a challenging issue with designs scaling down.
• Considering routability in the placement stage is common to see in recent publications.
• In order to yield placement solutions with better routability, many state-of-the-art placers integrate a global-routing-based routing congestion estimator (GRCE) into their placement flows.
![Page 4: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/4.jpg)
Introduction
• There are two feasible ways to realize fast GRCEs.
• The first way is to develop faster routing algorithms and design more efficient routing flows.
• Another way is to exploit multithreading techniques.
![Page 5: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/5.jpg)
• This paper presents a resource-level parallel approach (RPA) to accelerate GRCEs.
• The bad dispatching will make computation effort among threads unbalanced to limit the speedup.
• This paper also presents a method to quantify the estimation accuracy of GRCEs.
![Page 6: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/6.jpg)
![Page 7: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/7.jpg)
Global Routing Instance for GRCEs
• Let S(G(V, E), N) denote a global routing instance.
• G(V, E) denotes a grid graph and N denotes a set of nets.
• V denotes a set of grid nodes, E denotes a set of grid edges (g-edges), and each g-edge e connects two adjacent grid nodes.
![Page 8: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/8.jpg)
• The capacity c(e) indicates the maximum number of nets that can legally pass through e.
• The demand d(e) denotes the number of routing paths passing through e
• The overflow of e is defined to be max(d(e)- c(e), 0).
![Page 9: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/9.jpg)
Requirements for GRCEs
• A more practical requirement for GRCEs is to get accurate estimation results rather than high-quality results.
• The most intuitive way to measure the accuracy of a GRCE is to see whether the congestion distribution in the congestion map generated by the GRCE is similar to that generated by a real router.
![Page 10: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/10.jpg)
Problem Formulation
• Input: A global routing instance S(G(V, E), N), and a constant k.
• Output: Sub-instances ((, ), ), 1≤i≤k. • Constraints: Each net in N belongs to one of ,
1≤i≤k. For each g-edge in G(V, E), c()= c() hold, where denotes the corresponding edge of in (, ).
![Page 11: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/11.jpg)
Global Routing Instance Partitioning
• This paper solves the instance partitioning problem by three stages:
• routing resource allocation• net dispatching• routing effort balancing
![Page 12: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/12.jpg)
Routing Resource Allocation
![Page 13: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/13.jpg)
Net Dispatching
• The task of this stage is to dispatch each net of N to one of , …, .
• In order to predict where each net will pass through, this stage first performs a quick prerouting step to get the routing path of each net in N, and then dispatches nets guided by the prerouting result.
![Page 14: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/14.jpg)
Net Dispatching
![Page 15: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/15.jpg)
![Page 16: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/16.jpg)
Routing Effort Balancing
• This stage consists of the net migration and routing resource relocation steps to further improve the load balancing between sub-instances.
• The net migration step moves some nets from the harder-to-route to easier-to-route sub-instances, and the routing resource relocation step relocates the routing resource from the easier-to-route to harder-to-route sub-instances.
![Page 17: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/17.jpg)
Net Migration
• The net migration step checks each net in N one by one again according to the original sorted order to see whether migrating the net from its original sub-instance to one of the other sub-instances can get a lower cost of Eq. (1).
![Page 18: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/18.jpg)
Routing Resource Relocation
• The total overflow in the duplicate graph relates to the routing effort of , so the routing resource relocation step attempts to reduce the total overflow in each graph.
![Page 19: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/19.jpg)
Routing Resource Relocation
• The available capacity of a g-edge is defined to be the amount of its capacity exceeding its demand. Moreover, we define the total available capacity TACCE() and total overflow TOFCE() of the corresponding edges of
![Page 20: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/20.jpg)
Case 1: TACCE() TOFCE()
![Page 21: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/21.jpg)
Case 2: TACCE() < TOFCE()
• This case means that the total available capacity is not enough to reduce TOFCE() to zero, but we try to proportionally relocate the available capacity to the overflowed g-edges based on their congestion level.
![Page 22: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/22.jpg)
• The amount of the partial capacity allocated to an overflowed g-edge is
![Page 23: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/23.jpg)
Quantifiying the Similarity between Two Congestion Maps
• After a routing result is obtained by a routing tool such as a GRCE or a real router, a congestion map can be formed by the ratio of the routing demand to the capacity on each g-edge in the grid graph.
![Page 24: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/24.jpg)
• presents a congestion map similarity (CMS) metric to quantify the similarity between two congestion maps according to their congestion distributions.
• The value returned by the CMS metric is a real number between 0 and 1; a larger value implies that these two congestion maps are more similar.
![Page 25: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/25.jpg)
• CMS(t, d) denotes the distribution similarity of the top t% congested g-edges between two congestion maps, say and , where d is the tolerant offset of the congestion locations and the unit of d is a g-edge long.
• set t={0.5, 1, 2, 5, 10} for the CMS metric.
![Page 26: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/26.jpg)
![Page 27: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/27.jpg)
• um((t), (t), d) when d=1, in which (t)={, , , } and (t)={, , , }.
![Page 28: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/28.jpg)
Experimental Results
• The proposed algorithms were implemented in C++ on a linux server with two Intel Xeon 2.4GHz E5654 CPUs and 96GB memory.
• The following experiments adopt [8] and BFGR [16] to be the tested GRCEs, and then accelerate and BFGR by RPA to see whether they can point out congestion regions as accurate as those without the acceleration.
![Page 29: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/29.jpg)
Experimental Results
• ISPD11 placement solutions are harder to route and have more congestion regions, so ISPD11 placement solutions are the better test cases to evaluate GRCEs.
• we select 7 most hard-to-route placement solutions to be our test cases.
![Page 30: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/30.jpg)
![Page 31: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/31.jpg)
![Page 32: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/32.jpg)
![Page 33: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/33.jpg)
• the maximum variations of TOF, WL, and CPU will respectively become 15%, 13%, and 21% on average for each circuit.
![Page 34: A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649d6f5503460f94a50541/html5/thumbnails/34.jpg)
Conclusions
• This paper presents a resource-level parallel approach (RPA) to accelerate GRCEs. RPA partitions a global routing instance into sub-instances.
• RPA is easy to implement and does not change the routing kernel of the GRCE.
• Presents a CMS metric to quantify the similarity between two congestion maps.