492 research outputs found
Two-Level Rectilinear Steiner Trees
Given a set of terminals in the plane and a partition of into
subsets , a two-level rectilinear Steiner tree consists of a
rectilinear Steiner tree connecting the terminals in each set
() and a top-level tree connecting the trees . The goal is to minimize the total length of all trees. This problem
arises naturally in the design of low-power physical implementations of parity
functions on a computer chip.
For bounded we present a polynomial time approximation scheme (PTAS) that
is based on Arora's PTAS for rectilinear Steiner trees after lifting each
partition into an extra dimension. For the general case we propose an algorithm
that predetermines a connection point for each and
().
Then, we apply any approximation algorithm for minimum rectilinear Steiner
trees in the plane to compute each and independently.
This gives us a -factor approximation with a running time of
suitable for fast practical computations. The
approximation factor reduces to by applying Arora's approximation scheme
in the plane
Timing Closure in Chip Design
Achieving timing closure is a major challenge to the physical design of a computer chip. Its task is to find a physical realization fulfilling the speed specifications. In this thesis, we propose new algorithms for the key tasks of performance optimization, namely repeater tree construction; circuit sizing; clock skew scheduling; threshold voltage optimization and plane assignment. Furthermore, a new program flow for timing closure is developed that integrates these algorithms with placement and clocktree construction. For repeater tree construction a new algorithm for computing topologies, which are later filled with repeaters, is presented. To this end, we propose a new delay model for topologies that not only accounts for the path lengths, as existing approaches do, but also for the number of bifurcations on a path, which introduce extra capacitance and thereby delay. In the extreme cases of pure power optimization and pure delay optimization the optimum topologies regarding our delay model are minimum Steiner trees and alphabetic code trees with the shortest possible path lengths. We presented a new, extremely fast algorithm that scales seamlessly between the two opposite objectives. For special cases, we prove the optimality of our algorithm. The efficiency and effectiveness in practice is demonstrated by comprehensive experimental results. The task of circuit sizing is to assign millions of small elementary logic circuits to elements from a discrete set of logically equivalent, predefined physical layouts such that power consumption is minimized and all signal paths are sufficiently fast. In this thesis we develop a fast heuristic approach for global circuit sizing, followed by a local search into a local optimum. Our algorithms use, in contrast to existing approaches, the available discrete layout choices and accurate delay models with slew propagation. The global approach iteratively assigns slew targets to all source pins of the chip and chooses a discrete layout of minimum size preserving the slew targets. In comprehensive experiments on real instances, we demonstrate that the worst path delay is within 7% of its lower bound on average after a few iterations. The subsequent local search reduces this gap to 2% on average. Combining global and local sizing we are able to size more than 5.7 million circuits within 3 hours. For the clock skew scheduling problem we develop the first algorithm with a strongly polynomial running time for the cycle time minimization in the presence of different cycle times and multi-cycle paths. In practice, an iterative local search method is much more efficient. We prove that this iterative method maximizes the worst slack, even when restricting the feasible schedule to certain time intervals. Furthermore, we enhance the iterative local approach to determine a lexicographically optimum slack distribution. The clock skew scheduling problem is then generalized to allow for simultaneous data path optimization. In fact, this is a time-cost tradeoff problem. We developed the first combinatorial algorithm for computing time-cost tradeoff curves in graphs that may contain cycles. Starting from the lowest-cost solution, the algorithm iteratively computes a descent direction by a minimum cost flow computation. The maximum feasible step length is then determined by a minimum ratio cycle computation. This approach can be used in chip design for several optimization tasks, e.g. threshold voltage optimization or plane assignment. Finally, the optimization routines are combined into a timing closure flow. Here, the global placement is alternated with global performance optimization. Netweights are used to penalize the length of critical nets during placement. After the global phase, the performance is improved further by applying more comprehensive optimization routines on the most critical paths. In the end, the clock schedule is optimized and clocktrees are inserted. Computational results of the design flow are obtained on real-world computer chips
Further Improvements on Approximating the Uniform Cost-Distance Steiner Tree Problem
In this paper, we consider the Uniform Cost-Distance Steiner Tree Problem in
metric spaces, a generalization of the well-known Steiner tree problem.
Cost-distance Steiner trees minimize the sum of the total length and the
weighted path lengths from a dedicated root to the other terminals, which have
a weight to penalize the path length. They are applied when the tree is
intended for signal transmission, e.g. in chip design or telecommunication
networks, and the signal speed through the tree has to be considered besides
the total length. Constant factor approximation algorithms for the uniform
cost-distance Steiner tree problem have been known since the first mentioning
of the problem by Meyerson, Munagala, and Plotkin. Recently, the approximation
factor was improved from 2.87 to 2.39 by Khazraei and Held. We refine their
approach further and reduce the approximation factor down to 2.15
Constrained Local Search for Last-Mile Routing
Last-mile routing refers to the final step in a supply chain, delivering
packages from a depot station to the homes of customers. At the level of a
single van driver, the task is a traveling salesman problem. But the choice of
route may be constrained by warehouse sorting operations, van-loading
processes, driver preferences, and other considerations, rather than a
straightforward minimization of tour length. We propose a simple and efficient
penalty-based local-search algorithm for route optimization in the presence of
such constraints, adopting a technique developed by Helsgaun to extend the LKH
traveling salesman problem code to general vehicle-routing models. We apply his
technique to handle combinations of constraints obtained from an analysis of
historical routing data, enforcing properties that are desired in high-quality
solutions. Our code is available under the open-source MIT license. An earlier
version of the code received the $100,000 top prize in the Amazon Last Mile
Routing Research Challenge organized in 2021
- …