High-Performance Multi-Level Graphs
نویسندگان
چکیده
Shortest-path computation is a frequent task in practice. Owing to ever-growing realworld graphs, there is a constant need for faster algorithms. In the course of time, a large number of techniques to heuristically speed up Dijkstra’s shortest-path algorithm have been devised. This work reviews the multi-level technique to answer shortest-path queries exactly [1, 2], which makes use of a hierarchical decomposition of the input graph and precomputation of supplementary information. We develop this preprocessing to the maximum and introduce several ideas to enhance this approach considerably, by reorganizing the precomputed data in partial graphs and optimizing them individually. To answer a given query, certain partial graphs are combined to a search graph, which can be explored by a simple and fast procedure. The concept behind the construction of the search graph is such that query times depend mainly on the number of partial graphs included. This is confirmed by experiments with a road graph containing over 15 million vertices. Our query algorithm computes the distance for any pair of vertices in no more than 70 μs. However, a lengthy preprocessing is required to achieve this query performance.
منابع مشابه
High-performance and Low-power Clock Branch Sharing Pseudo-NMOS Level Converting Flip-flop
Multi-Supply voltage design using Cluster Voltage Scaling (CVS) is an effective way to reduce power consumption without performance degradation. One of the major issues in this method is performance and power overheads due to insertion of Level Converting Flip-Flops (LCFF) at the interface from low-supply to high-supply clusters to simultaneously perform latching and level conversion. In this p...
متن کاملHigh-Performance Multi-Level Routing
Shortest-path computation is a frequent task in practice. Owing to ever-growing real-world graphs, there is a constant need for faster algorithms. In the course of time, a large number of techniques to heuristically speed up Dijkstra’s shortest-path algorithm have been devised. This work reviews the multi-level technique to answer shortest-path queries exactly [24, 9], which makes use of a hier...
متن کاملSynthesising and Verifying Multi-Core Parallelism in Categories of Nested Code Graphs
We present the Multi-Core layer of the larger Coconut project to support high-performance, high-assurance scientific computation. Programs are represented by nested code graphs, using domain specific languages. At the Multi-Core level, the language is very restricted, in order to restrict control flow to nonbranching, synchronising control flow, which allows us to treat multi-core parallelism i...
متن کاملFLICK: Developing and Running Application-Specific Network Services
Data centre networks are increasingly programmable, with application-specific network services proliferating, from custom load-balancers to middleboxes providing caching and aggregation. Developers must currently implement these services using traditional low-level APIs, which neither support natural operations on application data nor provide efficient performance isolation. We describe FLICK, ...
متن کاملAcceleration Framework for FPGA Implementation of OpenVX Graph Pipelines
Computer vision processing is computationally expensive and several acceleration solutions have been proposed. Among them, FPGAs offer a promising direction. Vision application are typically written in languages such as C/C++ and they are often difficult to compile into an efficient FPGA implementation. OpenVX is a set of basic, widely used vision kernels. Vision pipelines can be defined as gra...
متن کامل