Software and Algorithms for Graph Queries on Multithreaded Architectures

Search-based graph queries, such as finding short paths and isomorphic subgraphs, are dominated by memory latency. If input graphs can be partitioned appropriately, large cluster-based computing platforms can run these queries. However, the lack of compute-bound processing at each vertex of the inpu...

Full description

Saved in:
Bibliographic Details
Published in2007 IEEE International Parallel and Distributed Processing Symposium pp. 1 - 14
Main Authors Berry, J.W., Hendrickson, B., Kahan, S., Konecny, P.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.03.2007
Subjects
Online AccessGet full text
ISBN1424409098
9781424409099
ISSN1530-2075
DOI10.1109/IPDPS.2007.370685

Cover

More Information
Summary:Search-based graph queries, such as finding short paths and isomorphic subgraphs, are dominated by memory latency. If input graphs can be partitioned appropriately, large cluster-based computing platforms can run these queries. However, the lack of compute-bound processing at each vertex of the input graph and the constant need to retrieve neighbors implies low processor utilization. Furthermore, graph classes such as scale-free social networks lack the locality to make partitioning clearly effective. Massive multithreading is an alternative architectural paradigm, in which a large shared memory is combined with processors that have extra hardware to support many thread contexts. The processor speed is typically slower than normal, and there is no data cache. Rather than mitigating memory latency, multithreaded machines tolerate it. This paradigm is well aligned with the problem of graph search, as the high ratio of memory requests to computation can be tolerated via multithreading. In this paper, we introduce the multithreaded graph library (MTGL), generic graph query software for processing semantic graphs on multithreaded computers. This library currently runs on serial machines and the Cray MTA-2, but Sandia is developing a run-time system that will make it possible to run MTGL-based code on symmetric multiprocessors. We also introduce a multithreaded algorithm for connected components and a new heuristic for inexact subgraph isomorphism We explore the performance of these and other basic graph algorithms on large scale-free graphs. We conclude with a performance comparison between the Cray MTA-2 and Blue Gene/Light for s-t connectivity.
ISBN:1424409098
9781424409099
ISSN:1530-2075
DOI:10.1109/IPDPS.2007.370685