The STAPL Parallel Graph Library

  • Harshvardhan
  • Adam Fidel
  • Nancy M. Amato
  • Lawrence Rauchwerger
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7760)


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.


Home Location Graph Element Parallel Graph Graph Library Weak Scaling 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    The graph 500 list,
  2. 2.
    Adams, M., Larsen, E.: Fast iterative methods for discrete-ordinates particle transport calculations. Progress in Nuclear Energy 40(1), 3–159 (2002)CrossRefGoogle Scholar
  3. 3.
    Berry, J.W., et al.: Software and algorithms for graph queries on multithreaded architectures. In: Par. and Dist. Proc. Symp., Int., p. 495 (2007)Google Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    Buss, A., et al.: STAPL: Standard template adaptive parallel library. In: Proc. Annual Haifa Exp. Sys. Conf, pp. 1–10. ACM, New York (2010)CrossRefGoogle Scholar
  6. 6.
    Culler, D., et al.: Par. Comp. Architecture: A Hardware/Software Approach. The Morgan Kaufmann Series in Comp. Arch. and Design (1998)Google Scholar
  7. 7.
    Gregor, D., Lumsdaine, A.: The parallel BGL: A generic library for distributed graph computations. Par. Object-Oriented Scientific Computing (July 2005)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    McLendon III, W., et al.: Finding strongly connected components in distributed graphs. J. Par. Dist. Comp. 65(8), 901–910 (2005)zbMATHCrossRefGoogle Scholar
  10. 10.
    Musser, D., et al.: STL Tutorial and Ref. Guide, 2nd edn. Addison-Wesley (2001)Google Scholar
  11. 11.
    Page, L., et al.: The pagerank citation ranking: Bringing order to the web (1998)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Thomas, S., et al.: Parallel protein folding with STAPL. Concurrency and Computation: Practice and Experience 17(14), 1643–1656 (2005)CrossRefGoogle Scholar
  17. 17.
    Jacobs, S.A., et al.: A scalable method for parallelizing sampling-based motion planning algorithms. Proc. IEEE Int. Conf. Robot. Autom. (2012)Google Scholar
  18. 18.
    Quinn, M.J., et al.: Parallel graph algorithms. ACM Comp. Surv., 319–348 (1984)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    Valiant, L.: Bridging model for parallel computation. Comm. ACM, 103–111 (1990)Google Scholar
  21. 21.
    Dehne, F., et al.: Efficient Parallel Graph Algorithms for Coarse-Grained Multicomputers and BSP. Algorithmica, 183–200 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Harshvardhan
    • 1
  • Adam Fidel
    • 1
  • Nancy M. Amato
    • 1
  • Lawrence Rauchwerger
    • 1
  1. 1.Parasol Lab, Dept. of Computer Science and EngineeringTexas A&M UniversityUSA

Personalised recommendations