Survey of Parallel A* in Rust
Brett Fazio, Ellie Kozlowski, Dylan Ochoa, Blake Robertson, Idel, Martinez

TL;DR
This paper surveys various parallel implementations of the A* algorithm in Rust, comparing their performance to identify the most efficient approach for leveraging multi-threading in graph search tasks.
Contribution
It provides a comprehensive implementation and comparison of centralized, decentralized, and massively-parallel A* algorithms in Rust, highlighting their performance differences.
Findings
Massively-parallel A* shows significant speedup over traditional methods.
Decentralized methods offer better scalability in multi-core environments.
Rust implementations demonstrate the practicality of parallel A* algorithms.
Abstract
A* is one of the most popular Best First Search (BFS) techniques for graphs. It combines the cost-based search of Breadth First Search with a computed heuristic for each node to attempt to locate the goal path faster than traditional Breadth First Search or Depth First Search techniques. However, A* is a sequential algorithm. The standard implementation only runs in one thread. There are a few attempts to get A* to leverage multiple threads. Centralized (SPA*) and Decentralized (DPA*, HDA*) methods are the most standard attempts, with the most unique and modern method being massively-parallel A* (MPA* or GA*). We will attempt an implementation of each in Rust to determine if there is a performance boost, and which one has the best performance.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAI-based Problem Solving and Planning · Software Testing and Debugging Techniques · Data Management and Algorithms
