A parallel integer programming approach to global routing

Tai-Hsuan Wu, Azadeh Davoodi, Jeffrey T. Linderoth
2010 Proceedings of the 47th Design Automation Conference on - DAC '10  
This work introduces a parallel algorithm for an important Electronic Design Automation problem known as Global Routing. Global routing is a stage in the VLSI design cycle during which millions of interconnects are planned on the chip. The existing global routing procedures are highly sequential in nature, and thus developing a parallel algorithm is a challenging task. In this dissertation, first, a global routing procedure known as GRIP is proposed which heavily relies on Integer Programming
more » ... P) techniques. GRIP decomposes the global routing problem into smaller subproblems corresponding to rectangular subregions on the chip together with their net assignments. GRIP solves the individual subproblems and the connection problem between them. It is the first successful realization of a heavily IP-centric procedure to Global Routing for large industrial instances. Due to the effective use of Integer Programming techniques and decomposition, GRIP demonstrates tremendous improvement in wirelength, with the same or lower usage of the routing resources, compared to the competing global routers in the open literature. Despite the limited parallelism in solving the subproblems and the procedure to parallel -connect them, GRIP takes significant time (from many hours to days) to solve the challenging ISPD 2007 and 2008 benchmark instances. To improve the computational runtime in GRIP without much degradation in the solution quality, next, this work presents PGRIP, a procedure which allows solving the subproblems with a very high degree of parallelism. Concurrent processing of the routing subproblems is desirable for effective parallelization. However, achieving global routing solutions with no (or low) over-usage of routing resources is ii challenging without strong, coordinated algorithmic control. PGRIP addresses this challenge via a patching phase which offers a one-time synchronization between the subproblems to minimize the likelihood of over-usage of routing resources when attempting to connect them after their concurrent processing. Patching also relies on Integer Programming techniques and provides a one-time feedback to each subproblem to enhance its connectivity to its adjacent subproblems. Similar to GRIP, PGRIP maintains the large gap in the solution quality compared to the competing academic global routers. Unlike GRIP, it is able to achieve a significantly high degree of parallelism. The runtimes of different steps in PGRIP can be budgeted by the user. In the computational experiments, PGRIP achieves the same (wall) runtime (of about 75 minutes) regardless of the size and difficulty of the problem instance, while running on a grid of few hundred CPUs of only 2GB memory. In return, a more difficult instance has a higher number of subproblems and is solved using a higher number of parallel CPUs. Obtaining similar runtimes is a unique feature of PGRIP, compared to the competing global routing methods which are shown to take significantly longer for more challenging problem instances. Moreover, the memory usage in both GRIP and PGRIP are significantly lower than the competing procedures because each processor is assigned to solve a small-sized subproblem. The third component of this dissertation is utilizing the parallel procedure of PGRIP to solve a variation of global routing to minimize interconnect power. The work introduces Power-GRIP which offers an IP formulation for minimizing interconnect power in multi-supply voltage (MSV) domains. The IP integrates a proposed mathematical modeling for the interconnect power. Power-GRIP adapts and extends the procedures used in PGRIP, while it is the first work to study interconnect power minimization in MSV domains. Simulation results demonstrate significant saving in the interconnect power metric for global routing without any degradation in wirelength and routing resource usage, compared to an initiallyprovided and wirelength-optimized routing solution. In summary, with the aid of large-scale parallelism provided by computational grids, this work demonstrates that the use of the integer programming, which was perhaps viewed as too time-consuming and hence impractical for global routing, allowing generating significantly higher quality solutions while meeting practical runtime requirements. iii
doi:10.1145/1837274.1837323 dblp:conf/dac/WuDL10 fatcat:xbloxsbvjvhzdnnto3hcxkafj4