skip to main content
research-article

The STAPL parallel container framework

Authors Info & Claims
Published:12 February 2011Publication History
Skip Abstract Section

Abstract

The Standard Template Adaptive Parallel Library (STAPL) is a parallel programming infrastructure that extends C++ with support for parallelism. It includes a collection of distributed data structures called pContainers that are thread-safe, concurrent objects, i.e., shared objects that provide parallel methods that can be invoked concurrently. In this work, we present the STAPL Parallel Container Framework (PCF), that is designed to facilitate the development of generic parallel containers. We introduce a set of concepts and a methodology for assembling a pContainer from existing sequential or parallel containers, without requiring the programmer to deal with concurrency or data distribution issues. The PCF provides a large number of basic parallel data structures (e.g., pArray, pList, pVector, pMatrix, pGraph, pMap, pSet). The PCF provides a class hierarchy and a composition mechanism that allows users to extend and customize the current container base for improved application expressivity and performance. We evaluate STAPL pContainer performance on a CRAY XT4 massively parallel system and show that pContainer methods, generic pAlgorithms, and different applications provide good scalability on more than 16,000 processors.

References

  1. P. An, A. Jula, S. Rus, S. Saunders, T. Smith, G. Tanase, N. Thomas, N. Amato, and L. Rauchwerger, "STAPL: A standard template adaptive parallel C library," In Proc. of the Int. Workshop on Advanced Compiler Technology for High Performance and Embedded Processors (IWACT), Bucharest, Romania, Jul 2001, pp. 37--46.Google ScholarGoogle Scholar
  2. D. Bader and K. Madduri. Design and implementation of the hpcs graph analysis benchmark on symmetric multiprocessors. In The 12th Int. Conf. on High Performance Computing, Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Buss, A. Fidel, Harshvardhan, T. Smith, G. Tanase, N. Thomas, X. Xu, M. Bianco, N. M. Amato, and L. Rauchwerger, "The STAPL pView," In Int. Workshop on Languages and Compilers for Parallel Computing, Houston, TX, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Buss, Harshvardhan, I. Papadopoulos, O. Pearce, T. Smith, G. Tanase, N. Thomas, X. Xu, M. Bianco, N. M. Amato and L. Rauchwerger "STAPL: Standard template adaptive parallel library," In Proc. of the 3rd Annual Haifa Experimental Systems Conf., pp. 1--10, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Buss, T. Smith, G. Tanase, N. Thomas, M. Bianco, N. M. Amato, and L. Rauchwerger, "Design for interoperability in STAPL: pMatrices and linear algebra algorithms," In Int. Workshop on Languages and Compilers for Parallel Computing, in Lecture Notes in Computer Science, vol. 5335, pp. 304--315, July 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Callahan, B. L. Chamberlain, and H. P. Zima, "The cascade high productivity language," In The Ninth Int. Workshop on High-Level Parallel Programming Models and Supportive Environments, vol. 26, pp. 52--60, 2004.Google ScholarGoogle Scholar
  7. P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. Praun, and V. Sarkar, "X10: An object-oriented approach to non-uniform cluster computing," In Proc. of the 20th annual ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications, New York, NY, 2005, pp. 519--538. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Culler, A. Dusseau, S. C. Goldstein, A. Krishnamurthy, S. Lumetta, T. Eicken, and K. Yelick, "Parallel programming in Split-C," In Int. Conf. on Supercomputing, November 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Fomitchev and E. Ruppert, "Lock-free linked lists and skip lists," In Proc. Symp. on Princ. of Distributed Programming, NewYork, NY, 2004, pp. 50--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Gottschling, D. S. Wise, and M. D. Adams, "Representation-transparent matrix algorithms with scalable performance," In Proc. Int. Conf. on Supercomputing, Seattle, Washington, 2007, pp. 116--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Gregor and A. Lumsdaine, "The parallel BGL: A generic library for distributed graph computations," In Proc. of Workshop on Parallel Object-Oriented Scientific Computing, July 2005.Google ScholarGoogle Scholar
  12. J Guo, G. Bikshandi, B. B. Fraguela and D. Padua. Writing productive stencil codes with overlapped tiling. Concurr. Comput. : Pract. Exper., 21(1):25--39, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. L. Harris, "A pragmatic implementation of non-blocking linked-lists," In Proc. Int. Conf. Dist. Comput., London, UK, 2001, pp. 300--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Herlihy, "A methodology for implementing highly concurrent data objects," ACM Trans. Prog. Lang. Sys., vol. 15, no. 5, pp. 745--770, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Intel. Reference Manual for Intel Threading Building Blocks, version 1.0. Intel Corp., Santa Clara, CA, 2006.Google ScholarGoogle Scholar
  16. J. JàJà, An Introduction Parallel Algorithms. Reading, MA: Addison-Wesley, 1992.Google ScholarGoogle Scholar
  17. E. Johnson, "Support for Parallel Generic Programming". PhD thesis, Indiana University, Indianapolis, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. L. V. Kale and S. Krishnan, "CHARM: A portable concurrent object oriented system based on C," SIGPLAN Not., vol. 28, no. 10, pp. 91--108, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. M. Michael, "High performance dynamic lock-free hash tables and list-based sets," In Proc. of the Fourteenth Annual ACM Symposium on Parallel Algorithms and Architectures, Winnipeg, Manitoba, Canada, 2002, pp. 73--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Musser, G. Derge, and A. Saini, STL Tutorial and Reference Guide, Second Edition. Reading, MA: Addison-Wesley, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. W. Pugh, "Concurrent maintenance of skip lists," Univ. of Maryland at College Park, Tech. Rep., UMIACS-TR-90--80, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. W. Reynders, P. J. Hinker, J. C. Cummings, S. R. Atlas, S. Banerjee, W. F. Humphrey, S. R. Karmesin, K. Keahey, M. Srikant, and M. D. Tholburn, "POOMA: A framework for scientific simulations of paralllel architectures," In Gregory V. Wilson and Paul Lu, editors, Parallel Programming in C Cambridge, MA: MIT Press, 1996, pp. 547--588.Google ScholarGoogle Scholar
  23. S. Saunders and L. Rauchwerger, "ARMI: An adaptive, platform independent communication library," In Proc. ACM SIGPLAN Symp. Prin. Prac. Par. Prog., San Diego, California, 2003, pp. 230--241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. Tanase, "The STAPL Parallel Container Framework". PhD thesis, Texas A&M University, College Station, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. G. Tanase, M. Bianco, N. M. Amato, and L. Rauchwerger, "The STAPL pArray," In Proc. of the 2007 Workshop on Memory Performance (MEDEA), Brasov, Romania, 2007, pp. 73--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. G. Tanase, C. Raman, M. Bianco, N. M. Amato, and L. Rauchwerger, "Associative parallel containers in STAPL," In Int. Workshop on Languages and Compilers for Parallel Computing, in Lecture Notes in Computer Science, vol. 5234, pp. 156--171, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. Tanase, X. Xu, A. Buss, Harshvardhan, I. Papadopoulos, O. Pearce, T. Smith, N. Thomas, M. Bianco, N. M. Amato, and L. Rauchwerger, "The STAPL pList," In Int. Workshop on Languages and Compilers for Parallel Computing, in Lecture Notes in Computer Science, vol. 5898, pp. 16--30, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. N. Thomas, G. Tanase, O. Tkachyshyn, J. Perdue, N. M. Amato, and L. Rauchwerger, A framework for adaptive algorithm selection in STAPL. In Proc. ACM SIGPLAN Symp. Prin. Prac. Par.,pp. 277--288, Chicago, IL, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. D. Valois, "Lock-free linked lists using compare-and-swap," In Proc. ACM Symp. on Princ. of Dist. Proc. (PODC), New York, NY, 1995, pp. 214--222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. K. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. Aiken, "Titanium: A high-performance Java dialect," In ACM, editor, ACM 1998 Workshop on Java for High-Performance Network Computing, New York, NY, 1998.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. The STAPL parallel container framework

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 46, Issue 8
        PPoPP '11
        August 2011
        300 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2038037
        Issue’s Table of Contents
        • cover image ACM Conferences
          PPoPP '11: Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
          February 2011
          326 pages
          ISBN:9781450301190
          DOI:10.1145/1941553
          • General Chair:
          • Calin Cascaval,
          • Program Chair:
          • Pen-Chung Yew

        Copyright © 2011 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 12 February 2011

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!