Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1278177.1278183acmconferencesArticle/Chapter ViewAbstractPublication PagesissacConference Proceedingsconference-collections
Article

Productivity and performance using partitioned global address space languages

Published: 27 July 2007 Publication History
  • Get Citation Alerts
  • 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/.
    [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.
    [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.
    [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.
    [5]
    The Berkeley UPC Compiler, 2002. http://upc.lbl.gov.
    [6]
    D. Bonachea. GASNet specification. Technical Report CSD-02-1207, University of California, Berkeley, October 2002.
    [7]
    Chapel: The Cascade high productivity language. http://chapel.cs.washington.edu/.
    [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.
    [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.
    [10]
    The Chombo website. http://seesar.lbl.gov/ANAG/software.html.
    [11]
    Cray C/C++ reference manual. http://www.cray.com/craydoc/manuals/004-2179-003/html-004-2179-003/.
    [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.
    [13]
    T. El-Ghazawi and F. Cantonnet. UPC performance and potential: A NPB experimental study. In Supercomputing2002 (SC2002), November 2002.
    [14]
    GASNet home page. http://gasnet.cs.berkeley.edu.
    [15]
    Hewlett-Packard Company. HP UPC Version 2.0 for Tru64 UNIX. http://h30097.www3.hp.com/upc/.
    [16]
    High Performance Fortran Forum. High Performance Fortran Language Specification. http://dacnet.rice.edu/Depts/CRPC/HPFF/versions/hpf2/hpf-v20, Jan. 1997.
    [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.
    [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.
    [19]
    Intrepid Technology, Inc. GCC/UPC Compiler. http://www.intrepid.com/upc/.
    [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.
    [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.
    [22]
    C. Leiserson and R. Blumofe. Space-efficient scheduling of multithreaded computations. SIAM Journal on Computing, 27(1):202--229, 1998.
    [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.
    [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.
    [25]
    S. Merchant. Analysis of a contractile torus simulationin Titanium. Masters Report, Computer Science Division, University of California Berkeley, August 2003.
    [26]
    MuPC portable UPC runtime system. http://www.upc.mtu.edu/.
    [27]
    R. Numrich and J. Reid. Co-array fortran for parallel programming. In ACM Fortran Forum 17, 2, 1-31., 1998.
    [28]
    Open64 compiler tools. http://open64.sourceforge.net.
    [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.
    [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.
    [31]
    L. Snyder. The ZPL Programmer's Guide. MIT Press, 1999.
    [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.
    [33]
    Titanium home page. http://titanium.cs.berkeley.edu.
    [34]
    UPC language specifications, v1.2. Technical Report LBNL-59208, Berkeley National Lab, 2005.
    [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.
    [36]
    T. Wen and P. Colella. Adaptive Mesh Refinement in Titanium. In 19th International Parallel and Distributed Processing Symposium (IPDPS), 2005.
    [37]
    T. Wen, P. Colella, J. Su, and K. Yelick. An adaptivemesh refinement benchmark for modern parallel programming languages. Submitted to Supercomputing 2007.
    [38]
    The X10 programming language. http://www.research.ibm.com/x10.
    [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.
    [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.

    Cited By

    View all
    • (2023)Revisiting Swapping in User-Space With Lightweight ThreadingIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2023.327495342:11(4205-4218)Online publication date: Nov-2023
    • (2023)A Fine-grained Asynchronous Bulk Synchronous parallelism model for PGAS applicationsJournal of Computational Science10.1016/j.jocs.2023.10201469(102014)Online publication date: May-2023
    • (2022)A Case for Fine-grain Coherence Specialization in Heterogeneous SystemsACM Transactions on Architecture and Code Optimization10.1145/353081919:3(1-26)Online publication date: 22-Aug-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 July 2007

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. GASNet
    2. NAS parallel benchmarks
    3. PGAS
    4. UPC
    5. one-sided communication
    6. partitioned global address space
    7. titanium

    Qualifiers

    • Article

    Conference

    ISSAC07
    Sponsor:

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)24
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Revisiting Swapping in User-Space With Lightweight ThreadingIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2023.327495342:11(4205-4218)Online publication date: Nov-2023
    • (2023)A Fine-grained Asynchronous Bulk Synchronous parallelism model for PGAS applicationsJournal of Computational Science10.1016/j.jocs.2023.10201469(102014)Online publication date: May-2023
    • (2022)A Case for Fine-grain Coherence Specialization in Heterogeneous SystemsACM Transactions on Architecture and Code Optimization10.1145/353081919:3(1-26)Online publication date: 22-Aug-2022
    • (2022)FSHMEM: Supporting Partitioned Global Address Space on FPGAs for Large-Scale Hardware Acceleration Infrastructure2022 32nd International Conference on Field-Programmable Logic and Applications (FPL)10.1109/FPL57034.2022.00042(218-224)Online publication date: Aug-2022
    • (2022)Distributed-memory tensor completion for generalized loss functions in python using new sparse tensor kernelsJournal of Parallel and Distributed Computing10.1016/j.jpdc.2022.07.005169(269-285)Online publication date: Nov-2022
    • (2022)A Productive and Scalable Actor-Based Programming System for PGAS ApplicationsComputational Science – ICCS 202210.1007/978-3-031-08751-6_17(233-247)Online publication date: 15-Jun-2022
    • (2021)ClamorProceedings of the ACM Symposium on Cloud Computing10.1145/3472883.3486996(654-669)Online publication date: 1-Nov-2021
    • (2021)Scaling implicit parallelism via dynamic control replicationProceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3437801.3441587(105-118)Online publication date: 17-Feb-2021
    • (2021)Logically Parallel Communication for Fast MPI+Threads ApplicationsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2021.307515732:12(3038-3052)Online publication date: 1-Dec-2021
    • (2021)PaKman: A Scalable Algorithm for Generating Genomic Contigs on Distributed Memory MachinesIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2020.304324132:5(1191-1209)Online publication date: 1-May-2021
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media