Home Knowledge Base Parallel Breadth-First Search (BFS)

Parallel Breadth-First Search (BFS) is the foundational graph traversal algorithm that explores vertices level by level from a source vertex — where parallelizing BFS requires handling the irregular, data-dependent nature of graph topology that creates severe load imbalance, unpredictable memory access patterns, and a very low computation-to-memory-access ratio, making parallel BFS one of the most challenging kernels in high-performance computing and the basis of the Graph500 benchmark for ranking supercomputers.

Sequential BFS

Starting from source vertex s, visit all vertices at distance 1 (s's neighbors), then distance 2 (neighbors' neighbors), etc. Uses a FIFO queue — dequeue a vertex, enqueue its unvisited neighbors. O(V + E) time.

Parallel BFS Approaches

Level-Synchronous (Top-Down):

Bottom-Up BFS (Beamer et al.):

GPU BFS

Performance Characteristics

BFS on a scale-26 Graph500 graph (2^26 vertices, ~1 billion edges):

Measured in GTEPS (Giga Traversed Edges Per Second): top Graph500 systems achieve 10,000+ GTEPS using thousands of nodes.

Applications Beyond Graph Traversal

Parallel BFS is the litmus test for irregular parallel computing — an algorithm where the data structure itself determines the parallelism, creating the load imbalance and memory-access challenges that expose the limits of both hardware and software in handling real-world graph workloads.

parallel breadth first searchgraph traversal parallelparallel bfs gpugraph processing parallelvertex edge parallel

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.