Abstract
This paper describes the stapl Parallel Graph Library, a high-level framework that abstracts the user from data-distribution and parallelism details and allows them to concentrate on parallel graph algorithm development. It includes a customizable distributed graph container and a collection of commonly used parallel graph algorithms. The library introduces pGraph pViews that separate algorithm design from the container implementation. It supports three graph processing algorithmic paradigms, level-synchronous, asynchronous and coarse-grained, and provides common graph algorithms based on them. Experimental results demonstrate improved scalability in performance and data size over existing graph libraries on more than 16,000 cores and on internet-scale graphs containing over 16 billion vertices and 250 billion edges.
This research supported in part by NSF awards CRI-0551685, CCF-0833199, CCF-0830753, IIS-096053, IIS-0917266, NSF/DNDO award 2008-DN-077-ARI018-02, by DOE NNSA under the Predictive Science Academic Alliances Program grant DE-FC52-08NA28616, by THECB NHARP award 000512-0097-2009, by Chevron, IBM, Intel, Oracle/Sun and by Award KUS-C1-016-04 made by King Abdullah University of Science and Technology (KAUST). This research used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
The graph 500 list, http://www.graph500.org
Adams, M., Larsen, E.: Fast iterative methods for discrete-ordinates particle transport calculations. Progress in Nuclear Energy 40(1), 3–159 (2002)
Berry, J.W., et al.: Software and algorithms for graph queries on multithreaded architectures. In: Par. and Dist. Proc. Symp., Int., p. 495 (2007)
Buss, A., Fidel, A., Harshvardhan, Smith, T., Tanase, G., Thomas, N., Xu, X., Bianco, M., Amato, N.M., Rauchwerger, L.: The STAPL pView. In: Cooper, K., Mellor-Crummey, J., Sarkar, V. (eds.) LCPC 2010. LNCS, vol. 6548, pp. 261–275. Springer, Heidelberg (2011)
Buss, A., et al.: STAPL: Standard template adaptive parallel library. In: Proc. Annual Haifa Exp. Sys. Conf, pp. 1–10. ACM, New York (2010)
Culler, D., et al.: Par. Comp. Architecture: A Hardware/Software Approach. The Morgan Kaufmann Series in Comp. Arch. and Design (1998)
Gregor, D., Lumsdaine, A.: The parallel BGL: A generic library for distributed graph computations. Par. Object-Oriented Scientific Computing (July 2005)
Malewicz, G., et al.: Pregel: a system for large-scale graph processing. In: Proc. Int. Conf. on Management of Data, pp. 135–146. ACM, New York (2010)
McLendon III, W., et al.: Finding strongly connected components in distributed graphs. J. Par. Dist. Comp. 65(8), 901–910 (2005)
Musser, D., et al.: STL Tutorial and Ref. Guide, 2nd edn. Addison-Wesley (2001)
Page, L., et al.: The pagerank citation ranking: Bringing order to the web (1998)
Pearce, R., et al.: Multithreaded asynchronous graph traversal for in-memory and semi-external memory. In: Proc. of the ACM/IEEE Int. Conf. for High Performance Computing, Networking, Storage and Analysis, Washington, DC, USA, pp. 1–11 (2010)
Saunders, S., Rauchwerger, L.: ARMI: an adaptive, platform independent communication library. In: Proc. ACM SIGPLAN Symp. Prin. Prac. Par. Prog, pp. 230–241. ACM, San Diego (2003)
Tanase, G., et al.: The STAPL Parallel Container Framework. In: Proc. ACM SIGPLAN Symp. Prin. Prac. Par. Prog., San Antonio, TX, USA, pp. 235–246 (2011)
Thomas, N., et al.: A framework for adaptive algorithm selection in STAPL. In: Proc. ACM SIGPLAN Symp. Prin. Prac. Par. Prog, Chicago, IL, USA, pp. 277–288 (2005)
Thomas, S., et al.: Parallel protein folding with STAPL. Concurrency and Computation: Practice and Experience 17(14), 1643–1656 (2005)
Jacobs, S.A., et al.: A scalable method for parallelizing sampling-based motion planning algorithms. Proc. IEEE Int. Conf. Robot. Autom. (2012)
Quinn, M.J., et al.: Parallel graph algorithms. ACM Comp. Surv., 319–348 (1984)
Hong, S., et al.: Green-marl: a dsl for easy and efficient graph analysis. In: Proc. Int. Conf. Arch. Sup. Prog. Lang. Operat. Sys., pp. 349–362. ACM, New York (2012)
Valiant, L.: Bridging model for parallel computation. Comm. ACM, 103–111 (1990)
Dehne, F., et al.: Efficient Parallel Graph Algorithms for Coarse-Grained Multicomputers and BSP. Algorithmica, 183–200 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Harshvardhan, Fidel, A., Amato, N.M., Rauchwerger, L. (2013). The STAPL Parallel Graph Library. In: Kasahara, H., Kimura, K. (eds) Languages and Compilers for Parallel Computing. LCPC 2012. Lecture Notes in Computer Science, vol 7760. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37658-0_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-37658-0_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-37657-3
Online ISBN: 978-3-642-37658-0
eBook Packages: Computer ScienceComputer Science (R0)