skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: ON THE ACCELERATION OF SHORTEST PATH CALCULATIONS IN TRANSPORTATION NETWORKS

Abstract

Shortest path algorithms are a key element of many graph problems. They are used in such applications as online direction finding and navigation, as well as modeling of traffic for large scale simulations of major metropolitan areas. As the shortest path algorithms are an execution bottleneck, it is beneficial to move their execution to parallel hardware such as Field-Programmable Gate Arrays (FPGAs). Hardware implementation is accomplished through the use of a small A core replicated on the order of 20 times on an FPGA device. The objective is to maximize the use of on-board random-access memory bandwidth through the use of multi-threaded latency tolerance. Each shortest path core is responsible for one shortest path calculation, and when it is finished it outputs its result and requests the next source from a queue. One of the innovations of this approach is the use of a small bubble sort core to produce the extract-min function. While bubble sort is not usually considered an appropriate algorithm for any non-trivial usage, it is appropriate in this case as it can produce a single minimum out of the list in O(n) cycles, whwere n is the number of elements in the vertext list. The costmore » of this min operation does not impact the running time of the architecture, because the queue depth for fetching the next set of edges from memory is roughly equivalent to the number of cores in the system. Additionally, this work provides a collection of simulation results that model the behavior of the node queue in hardware. The results show that a hardware queue, implementing a small bubble-type minimum function, need only be on the order of 16 elements to provide both correct and optimal paths. Because the graph database size is measured in the hundreds of megabytes, the Cray SRAM memory is insufficient. In addition to the A* cores, they have developed a memory management system allowing round-robin servicing of the nodes as well as virtual memory managed over the Hypertransport bus. With support for a DRAM graph store with SRAM-based caching on the FPGA, the system provides a speedup of roughly 8.9x over the CPU-based implementation.« less

Authors:
 [1];  [1]
  1. Los Alamos National Laboratory
Publication Date:
Research Org.:
Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
OSTI Identifier:
1000496
Report Number(s):
LA-UR-07-0085
TRN: US201101%%364
DOE Contract Number:
AC52-06NA25396
Resource Type:
Conference
Resource Relation:
Conference: IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTON COMPUTING MACH ; 200704 ; NAPA
Country of Publication:
United States
Language:
English
Subject:
99; ACCELERATION; ALGORITHMS; ARCHITECTURE; BUBBLES; IMPLEMENTATION; MEMORY MANAGEMENT; NAVIGATION; QUEUES; SIMULATION; TOLERANCE; URBAN AREAS

Citation Formats

BAKER, ZACHARY K., and GOKHALE, MAYA B.. ON THE ACCELERATION OF SHORTEST PATH CALCULATIONS IN TRANSPORTATION NETWORKS. United States: N. p., 2007. Web.
BAKER, ZACHARY K., & GOKHALE, MAYA B.. ON THE ACCELERATION OF SHORTEST PATH CALCULATIONS IN TRANSPORTATION NETWORKS. United States.
BAKER, ZACHARY K., and GOKHALE, MAYA B.. Mon . "ON THE ACCELERATION OF SHORTEST PATH CALCULATIONS IN TRANSPORTATION NETWORKS". United States. doi:. https://www.osti.gov/servlets/purl/1000496.
@article{osti_1000496,
title = {ON THE ACCELERATION OF SHORTEST PATH CALCULATIONS IN TRANSPORTATION NETWORKS},
author = {BAKER, ZACHARY K. and GOKHALE, MAYA B.},
abstractNote = {Shortest path algorithms are a key element of many graph problems. They are used in such applications as online direction finding and navigation, as well as modeling of traffic for large scale simulations of major metropolitan areas. As the shortest path algorithms are an execution bottleneck, it is beneficial to move their execution to parallel hardware such as Field-Programmable Gate Arrays (FPGAs). Hardware implementation is accomplished through the use of a small A core replicated on the order of 20 times on an FPGA device. The objective is to maximize the use of on-board random-access memory bandwidth through the use of multi-threaded latency tolerance. Each shortest path core is responsible for one shortest path calculation, and when it is finished it outputs its result and requests the next source from a queue. One of the innovations of this approach is the use of a small bubble sort core to produce the extract-min function. While bubble sort is not usually considered an appropriate algorithm for any non-trivial usage, it is appropriate in this case as it can produce a single minimum out of the list in O(n) cycles, whwere n is the number of elements in the vertext list. The cost of this min operation does not impact the running time of the architecture, because the queue depth for fetching the next set of edges from memory is roughly equivalent to the number of cores in the system. Additionally, this work provides a collection of simulation results that model the behavior of the node queue in hardware. The results show that a hardware queue, implementing a small bubble-type minimum function, need only be on the order of 16 elements to provide both correct and optimal paths. Because the graph database size is measured in the hundreds of megabytes, the Cray SRAM memory is insufficient. In addition to the A* cores, they have developed a memory management system allowing round-robin servicing of the nodes as well as virtual memory managed over the Hypertransport bus. With support for a DRAM graph store with SRAM-based caching on the FPGA, the system provides a speedup of roughly 8.9x over the CPU-based implementation.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Mon Jan 08 00:00:00 EST 2007},
month = {Mon Jan 08 00:00:00 EST 2007}
}

Conference:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that hold this conference proceeding.

Save / Share:
  • We consider the problem of planning shortest paths for a tethered robot with a finite length tether in a 2D environment with polygonal obstacles. We present an algorithm that runs in time O((k{sub 1} + 1){sup 2}n{sup 4}) and finds the shortest path or correctly determines that none exists that obeys the constraints; here n is the number obstacle vertices, and k{sub 1} is the number loops in the initial configuration of the tether. The robot may cross its tether but nothing can cross obstacles, which cause the tether to bend. The algorithm applies as well for planning a shortestmore » path for the free end of an anchored cable.« less
  • We propose several new methods for ordering the candidate nodes in label correcting algorithms for shortest path problems. These methods try to scan nodes with small labels as early as possible, and may be viewed as low overhead approximations to Dijkstra`s algorithm. Compared with the D`Esopo-Pape algorithm, our methods are equally simple but much faster. Our methods can also be fruitfully combined with the threshold algorithm, thereby considerably improving its practical performance. For many classes of one-to-all problems our methods require almost as many iterations, but much less overhead than even the best implementations of Dijkstra`s algorithm.
  • We consider the problem of maintaining the distances and the shortest paths from a single source in either a directed or an undirected graph with positive real edge weights, handling insertions, deletions and cost updates of edges. We propose fully dynamic algorithms with optimal space requirements and query time. The cost of update operations depends on the class of the considered graph and on the number of vertices that, due to an edge modification, either change their distance from the source or change their parent in the shortest path tree. In the case of graphs with bounded genus (including planarmore » graphs), bounded degree graphs, bounded treewidth graphs and O-near-planar graphs with bounded {beta}, the update procedures require O(log n) amortized time per vertex update, while for general graphs with n vertices and m edges they require O({radical}m log n) amortized time per vertex update. The solution is based on a dynamization of Dijkstra`s algorithm and requires simple data structures that are suitable for a practical and straightforward implementation.« less
  • We introduce the shortest path in complete bipartite digraph (SPCB) problem: Given a weighted complete bipartite digraph G = (X, Y, E) with X = (x{sub 0},{hor_ellipsis}, Xn) and Y = (y{sub 0},{hor_ellipsis},y{sub m}), find a shortest path from x{sub 0} to x{sub n} in G. For arbitrary weights, the problem needs at least {Omega}(nm) time to solve. We show if the weight matrices are concave, the problem can be solved in O(n + m log n) time. As applications, we discuss the traveling salesman problem for points on a convex polygon and the minimum latency tour problem for pointsmore » on a straight line. The known algorithms for both problems require {Theta}(n{sup 2}) time. Using our SPCB algorithm, we show they can be solved in O(n log n) time. These results solve two open questions.« less