Efficient breadth-first search on the Cell/BE processor
Multicore processors are an architectural paradigm shift that promises a dramatic increase in performance. But, they also bring an unprecedented level of complexity in algorithmic design and software development. In this paper, we describe the challenges involved in designing a Breadth-First Search (BFS) algorithm for the Cell Broadband Engine (Cell/BE) processor. The proposed methodology combines a high-level algorithmic design that captures the machine-independent aspects to guarantee portability with performance to future processors, with an implementation that embeds processor-specific optimizations. Using a fine-grained global coordination strategy derived from the Bulk-Synchronous Parallel (BSP) model, we have derived an accurate performance model that has guided the implementation and the optimization of our algorithm. Our experiments show an almost linear scaling over the number of used synergistic processing elements in the Cell/BE platform and compares favorably against other systems. On graphs that offer sufficient parallelism, the Cell/BE is typically an order of magnitude faster than conventional processors, such as the AMD Opteron, the Intel Pentium 4, and the Intel Woodcrest and custom-designed architectures such as the MTA-2 and BlueGene/L.
multicore processors breadth-first search (bfs) cell broadband engine parallel computing parallelization techniques graph exploration algorithms