1,740 research outputs found

    Recent Advances in Multi-dimensional Packing Problems

    Get PDF

    Survey on Combinatorial Register Allocation and Instruction Scheduling

    Full text link
    Register allocation (mapping variables to processor registers or memory) and instruction scheduling (reordering instructions to increase instruction-level parallelism) are essential tasks for generating efficient assembly code in a compiler. In the last three decades, combinatorial optimization has emerged as an alternative to traditional, heuristic algorithms for these two tasks. Combinatorial optimization approaches can deliver optimal solutions according to a model, can precisely capture trade-offs between conflicting decisions, and are more flexible at the expense of increased compilation time. This paper provides an exhaustive literature review and a classification of combinatorial optimization approaches to register allocation and instruction scheduling, with a focus on the techniques that are most applied in this context: integer programming, constraint programming, partitioned Boolean quadratic programming, and enumeration. Researchers in compilers and combinatorial optimization can benefit from identifying developments, trends, and challenges in the area; compiler practitioners may discern opportunities and grasp the potential benefit of applying combinatorial optimization

    Partial Replica Location And Selection For Spatial Datasets

    Get PDF
    As the size of scientific datasets continues to grow, we will not be able to store enormous datasets on a single grid node, but must distribute them across many grid nodes. The implementation of partial or incomplete replicas, which represent only a subset of a larger dataset, has been an active topic of research. Partial Spatial Replicas extend this functionality to spatial data, allowing us to distribute a spatial dataset in pieces over several locations. We investigate solutions to the partial spatial replica selection problems. First, we describe and develop two designs for an Spatial Replica Location Service (SRLS), which must return the set of replicas that intersect with a query region. Integrating a relational database, a spatial data structure and grid computing software, we build a scalable solution that works well even for several million replicas. In our SRLS, we have improved performance by designing a R-tree structure in the backend database, and by aggregating several queries into one larger query, which reduces overhead. We also use the Morton Space-filling Curve during R-tree construction, which improves spatial locality. In addition, we describe R-tree Prefetching(RTP), which effectively utilizes the modern multi-processor architecture. Second, we present and implement a fast replica selection algorithm in which a set of partial replicas is chosen from a set of candidates so that retrieval performance is maximized. Using an R-tree based heuristic algorithm, we achieve O(n log n) complexity for this NP-complete problem. We describe a model for disk access performance that takes filesystem prefetching into account and is sufficiently accurate for spatial replica selection. Making a few simplifying assumptions, we present a fast replica selection algorithm for partial spatial replicas. The algorithm uses a greedy approach that attempts to maximize performance by choosing a collection of replica subsets that allow fast data retrieval by a client machine. Experiments show that the performance of the solution found by our algorithm is on average always at least 91% and 93.4% of the performance of the optimal solution in 4-node and 8-node tests respectively

    Timing-Driven Macro Placement

    Get PDF
    Placement is an important step in the process of finding physical layouts for electronic computer chips. The basic task during placement is to arrange the building blocks of the chip, the circuits, disjointly within a given chip area. Furthermore, such positions should result in short circuit interconnections which can be routed easily and which ensure all signals arrive in time. This dissertation mostly focuses on macros, the largest circuits on a chip. In order to optimize timing characteristics during macro placement, we propose a new optimistic timing model based on geometric distance constraints. This model can be computed and evaluated efficiently in order to predict timing traits accurately in practice. Packing rectangles disjointly remains strongly NP-hard under slack maximization in our timing model. Despite of this we develop an exact, linear time algorithm for special cases. The proposed timing model is incorporated into BonnMacro, the macro placement component of the BonnTools physical design optimization suite developed at the Research Institute for Discrete Mathematics. Using efficient formulations as mixed-integer programs we can legalize macros locally while optimizing timing. This results in the first timing-aware macro placement tool. In addition, we provide multiple enhancements for the partitioning-based standard circuit placement algorithm BonnPlace. We find a model of partitioning as minimum-cost flow problem that is provably as small as possible using which we can avoid running time intensive instances. Moreover we propose the new global placement flow Self-Stabilizing BonnPlace. This approach combines BonnPlace with a force-directed placement framework. It provides the flexibility to optimize the two involved objectives, routability and timing, directly during placement. The performance of our placement tools is confirmed on a large variety of academic benchmarks as well as real-world designs provided by our industrial partner IBM. We reduce running time of partitioning significantly and demonstrate that Self-Stabilizing BonnPlace finds easily routable placements for challenging designs – even when simultaneously optimizing timing objectives. BonnMacro and Self-Stabilizing BonnPlace can be combined to the first timing-driven mixed-size placement flow. This combination often finds placements with competitive timing traits and even outperforms solutions that have been determined manually by experienced designers

    Curve-Based Shape Matching Methods and Applications

    No full text
    One of the main cues we use in our everyday life when interacting with the environment is shape. For example, we use shape information to recognise a chair, grasp a cup, perceive traffic signs and solve jigsaw puzzles. We also use shape when dealing with more sophisticated tasks, such as the medical diagnosis of radiographs or the restoration of archaeological artifacts. While the perception of shape and its use is a natural ability of human beings, endowing machines with such skills is not straightforward. However, the exploitation of shape cues is important for the development of competent computer methods that will automatically perform tasks such as those just mentioned. With this aim, the present work proposes computer methods which use shape to tackle two important tasks, namely packing and object recognition. The packing problem arises in a variety of applications in industry, where the placement of a set of two-dimensional shapes on a surface such that no shapes overlap and the uncovered surface area is minimised is important. Given that this problem is NP-complete, we propose a heuristic method which searches for a solution of good quality, though not necessarily the optimal one, within a reasonable computation time. The proposed method adopts a pictorial representation and employs a greedy algorithm which uses a shape matching module in order to dynamically select the order and the pose of the parts to be placed based on the “gaps” appearing in the layout during the execution. This thesis further investigates shape matching in the context of object recognition and first considers the case where the target object and the input scene are represented by their silhouettes. Two distinct methods are proposed; the first method follows a local string matching approach, while the second one adopts a global optimisation approach using dynamic programming. Their use of silhouettes, however, rules out the consideration of any internal contours that might appear in the input scene, and in order to address this limitation, we later propose a graph-based scheme that performs shape matching incorporating information from both internal and external contours. Finally, we lift the assumption made that input data are available in the form of closed curves, and present a method which can robustly perform object recognition using curve fragments (edges) as input evidence. Experiments conducted with synthetic and real images, involving rigid and deformable objects, show the robustness of the proposed methods with respect to geometrical transformations, heavy clutter and substantial occlusion

    Optimizing Printing of Networkdata on Map Sheets

    Get PDF
    • 

    corecore