skip to main content
10.1145/1278177.1278183acmconferencesArticle/Chapter ViewAbstractPublication PagesissacConference Proceedingsconference-collections
Article

Productivity and performance using partitioned global address space languages

Authors Info & Claims
Published:27 July 2007Publication History

ABSTRACT

Partitioned Global Address Space (PGAS) languages combine the programming convenience of shared memory with the locality and performance control of message passing. One such language, Unified Parallel C (UPC) is an extension of ISO C defined by a consortium that boasts multiple proprietary and open source compilers. Another PGAS language, Titanium, is a dialect of JavaTM designed for high performance scientific computation. In this paper we describe some of the highlights of two related projects, the Titanium project centered at U.C. Berkeley and the UPC project centered at Lawrence Berkeley National Laboratory. Both compilers use a source-to-source strategy that trans-lates the parallel languages to C with calls to a communication layer called GASNet. The result is portable high-performance compilers that run on a large variety of shared and distributed memory multiprocessors. Both projects combine compiler, runtime, and application efforts to demonstrate some of the performance and productivity advantages to these languages.

References

  1. E. Allen, D. Chase, J. Hallett, V. Luchangco, J.-W. Maessen, S. Ryu, G. Steele, and S. Tobin-Hochstadt. The Fortress language specification. Available from http://research.sun.com/projects/plrg/.Google ScholarGoogle Scholar
  2. D. H. Bailey, E. Barszcz, J. T. Barton, D. S. Browning, R. L. Carter, D. Dagum, R. A. Fatoohi, P. O. Frederickson, T. A. Lasinski, R. S. Schreiber, H. D. Simon, V. Venkatakrishnan, and S. K. Weeratunga. The NAS Parallel Benchmarks. The International Journal of Supercomputer Applications, 5(3):63--73, Fall 1991.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. T. Balls and P. Colella. A finite difference domain decomposition method using local corrections for the solution of poisson's equation. In Journal of Computational Physics, Volume 180, Issue 1, pp. 25--53, July 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. Bell, D. Bonachea, R. Nishtala, and K. Yelick. Optimizing bandwidth limited problems using one-sided communication and overlap. In 20th International Parallel and Distributed Processing Symposium (IPDPS), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. The Berkeley UPC Compiler, 2002. http://upc.lbl.gov.Google ScholarGoogle Scholar
  6. D. Bonachea. GASNet specification. Technical Report CSD-02-1207, University of California, Berkeley, October 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chapel: The Cascade high productivity language. http://chapel.cs.washington.edu/.Google ScholarGoogle Scholar
  8. W. Chen, C. Iancu, and K. Yelick. Automatic nonblocking communication for partitioned global address space programs. In Proceedings of the International Conference on Supercomputing (ICS), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. W. Chen, A. Krishnamurthy, and K. Yelick. Polynomial-time algorithms for enforcing sequential consistency in SPMD programs with arrays. In 16th International Workshop on Languages and Compilers for Parallel Computing (LCPC), 2003.Google ScholarGoogle Scholar
  10. The Chombo website. http://seesar.lbl.gov/ANAG/software.html.Google ScholarGoogle Scholar
  11. Cray C/C++ reference manual. http://www.cray.com/craydoc/manuals/004-2179-003/html-004-2179-003/.Google ScholarGoogle Scholar
  12. K. Datta, D. Bonachea, and K. Yelick. Titanium performance and potential: an NPB experimental study. In The 18th International Workshop on Languages and Compilers for Parallel Computing, October 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. El-Ghazawi and F. Cantonnet. UPC performance and potential: A NPB experimental study. In Supercomputing2002 (SC2002), November 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. GASNet home page. http://gasnet.cs.berkeley.edu.Google ScholarGoogle Scholar
  15. Hewlett-Packard Company. HP UPC Version 2.0 for Tru64 UNIX. http://h30097.www3.hp.com/upc/.Google ScholarGoogle Scholar
  16. High Performance Fortran Forum. High Performance Fortran Language Specification. http://dacnet.rice.edu/Depts/CRPC/HPFF/versions/hpf2/hpf-v20, Jan. 1997.Google ScholarGoogle Scholar
  17. P. Hilfinger, D. Bonachea, D. Gay, S. Graham, B. Liblit, G. Pike, and K. Yelick. Titanium language reference manual. Tech Report UCB/CSD-01-1163, U.C. Berkeley, November 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. Iancu, P. Husbands, and W. Chen. Message strip mining heuristics for high speed networks. In Proc. 6th International Meeting on High Performance Computing for Computational Science (VECPAR), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Intrepid Technology, Inc. GCC/UPC Compiler. http://www.intrepid.com/upc/.Google ScholarGoogle Scholar
  20. L. V. Kale and S. Krishnan. CHARM++ : A portable concurrent object oriented system based on C++. ACM SIGPLAN Notes, 28(10):91--108, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Kamil, J. Su, and K. Yelick. Making sequential consistency practical in Titanium. In SC '05: Proceedings of the 2005 ACM/IEEE conference on Supercomputing, November 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. C. Leiserson and R. Blumofe. Space-efficient scheduling of multithreaded computations. SIAM Journal on Computing, 27(1):202--229, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. B. Liblit and A. Aiken. Type systems for distributed data structures. In the 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), January 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P. McCorquodale and P. Colella. Implementation of a multilevel algorithm for gas dynamics in a high-performance Java dialect. In International Parallel Computational Fluid Dynamics Conference (CFD'99), 1999.Google ScholarGoogle Scholar
  25. S. Merchant. Analysis of a contractile torus simulationin Titanium. Masters Report, Computer Science Division, University of California Berkeley, August 2003.Google ScholarGoogle Scholar
  26. MuPC portable UPC runtime system. http://www.upc.mtu.edu/.Google ScholarGoogle Scholar
  27. R. Numrich and J. Reid. Co-array fortran for parallel programming. In ACM Fortran Forum 17, 2, 1-31., 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Open64 compiler tools. http://open64.sourceforge.net.Google ScholarGoogle Scholar
  29. G. Pike, L. Semenzato, P. Colella, and P. N. Hilfinger. Parallel 3D adaptive mesh refinement in Titanium. In 9th SIAM Conference on Parallel Processing for Scientific Computing, San Antonio, Texas, March 1999.Google ScholarGoogle Scholar
  30. J. Prins, J. Huan, W. Pugh, et al. UPC implementation of an unbalanced tree search benchmark. Technical Report 03-034, Department of Computer Science, University of North Carolina, 2003.Google ScholarGoogle Scholar
  31. L. Snyder. The ZPL Programmer's Guide. MIT Press, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  32. J. Su and K. Yelick. Automatic support for irregular computations in a high-level language. In 19th International Parallel and Distributed Processing Symposium (IPDPS), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Titanium home page. http://titanium.cs.berkeley.edu.Google ScholarGoogle Scholar
  34. UPC language specifications, v1.2. Technical Report LBNL-59208, Berkeley National Lab, 2005.Google ScholarGoogle Scholar
  35. W.Chen, C. Iancu, and K. Yelick. Communication Optimizations for Fine-Grained UPC Applications. In 14th International Conference on Parallel Architectures and Compilation TechniquesPACT, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. T. Wen and P. Colella. Adaptive Mesh Refinement in Titanium. In 19th International Parallel and Distributed Processing Symposium (IPDPS), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. T. Wen, P. Colella, J. Su, and K. Yelick. An adaptivemesh refinement benchmark for modern parallel programming languages. Submitted to Supercomputing 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. The X10 programming language. http://www.research.ibm.com/x10.Google ScholarGoogle Scholar
  39. S. M. Yau. Experiences in using Titanium for simulation of immersed boundary biological systems. Masters Report, Computer Science Division, University of California Berkeley, May 2002.Google ScholarGoogle Scholar
  40. K. Yelick, P. Hilfinger, S. Graham, D. Bonachea, J. Su, A. Kamil, K. Datta, P. Colella, and T. Wen. Parallel languages and compilers: Perspective from the Titanium experience. The International Journal of High Performance Computing Applications, 21(2), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Productivity and performance using partitioned global address space languages

          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
          • Published in

            cover image ACM Conferences
            PASCO '07: Proceedings of the 2007 international workshop on Parallel symbolic computation
            July 2007
            116 pages
            ISBN:9781595937414
            DOI:10.1145/1278177

            Copyright © 2007 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 27 July 2007

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Upcoming Conference

            ISSAC '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader