{'fraction_non_alphanumeric': 0.025547445255474453, 'fraction_numerical': 0.00145985401459854, 'mean_word_length': 5.0131578947368425, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Communication Avoiding All-Pairs Shortest Paths Algorithm for Sparse Graphs

In this paper, we propose a parallel algorithm for computing all-pairs shortest paths (APSP) for sparse graphs on the distributed memory system with p processors. To exploit the graph sparsity, we first preprocess the graph by utilizing several known algorithmic techniques in linear algebra such as fill-in reducing ordering and elimination tree parallelism. Then we map the preprocessed graph on the distributed memory system for both load balancing and communication reduction. Finally, we design a new scheduling strategy to minimize the communication cost. The bandwidth cost (communication volume) and the latency cost (number of messages) of our algorithm are and O(log 2p), respectively, where S is a minimal vertex separator that partitions the graph into two components of roughly equal size. Compared with the state-of-the-art result for dense graphs where the bandwidth and latency costs are and ), respectively, our algorithm reduces the latency cost by a factor of , and reduces the bandwidth cost by a factor of for sparse graphs with . We also present the bandwidth and latency costs lower bounds for computing APSP on sparse graphs, which are and Ω(log 2p), respectively. This implies that the bandwidth cost of our algorithm is nearly optimal and the latency cost is optimal.