Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1345206.1345229acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

A portable runtime interface for multi-level memory hierarchies

Published: 20 February 2008 Publication History
  • Get Citation Alerts
  • Abstract

    We present a platform independent runtime interface for moving data and computation through parallel machines with multi-level memory hierarchies. We show that this interface can be used as a compiler target and can be implemented easily and efficiently on a variety of platforms. The interface design allows us to compose multiple runtimes, achieving portability across machines with multiple memory levels. We demonstrate portability of programs across machines with two memory levels with runtime implementations for multi-core/SMP machines, the STI Cell Broadband Engine, a distributed memory cluster, and disk systems. We also demonstrate portability across machines with multiple memory levels by composing runtimes and running on a cluster of SMP nodes, out-of-core algorithms on a Sony Playstation 3 pulling data from disk, and a cluster of Sony Playstation 3's. With this uniform interface, we achieve good performance for our applications and maximize bandwidth and computational resources on these system configurations.

    References

    [1]
    U. A. Acar, G. E. Blelloch, and R. D. Blumofe. The data locality of work stealing. In SPAA '00: Proceedings of the twelfth annual ACM symposium on Parallel algorithms and architectures, pages 1--12, New York, NY, USA, 2000. ACM.
    [2]
    B. Alpern, L. Carter, and J. Ferrante. Modeling parallel computers as memory hierarchies. In Proc. Programming Models for Massively Parallel Computers, 1993.
    [3]
    ANL. MPICH2. http://www-unix.mcs.anl.gov/mpi/mpich2, 2007.
    [4]
    R. Blumofe, C. Joerg, B. Kuszmaul, C. Leiserson, K. Randall, and Y. Zhou. Cilk: An efficient multithreaded runtime system. In Proceedings of the 5th Symposium on Principles and Practice of Parallel Programming, 1995.
    [5]
    I. Buck, T. Foley, D. Horn, J. Sugerman, K. Fatahalian, M. Houston, and P. Hanrahan. Brook for GPUs: Stream computing on graphics hardware. ACM Trans. Graph., 23(3):777--786, 2004.
    [6]
    W. W. Carlson, J. M. Draper, D. E. Culler, K. Yelick, E. Brooks, and K. Warren. Introduction to UPC and language specification. University of California-Berkeley Technical Report: CCS-TR-99-157, 1999.
    [7]
    A. Chow, G. Fossum, and D. Brokenshire. A programming example: Large FFT on the Cell Broadband Engine, 2005.
    [8]
    L. Dagum and R. Menon. OpenMP: An industry-standard API for shared-memory programming. IEEE Comput. Sci. Eng., 5(1):46--55, 1998.
    [9]
    S. J. Deitz, B. L. Chamberlain, and L. Snyder. Abstractions for dynamic data distribution. In Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, pages 42--51. IEEE Computer Society, 2004.
    [10]
    D. L. Eager and J. Jahorjan. Chores: Enhanced run-time support for shared-memory parallel computing. ACM Trans. Comput. Syst., 11(1):1--32, 1993.
    [11]
    K. Fatahalian, T. J. Knight, M. Houston, M. Erez, D. R. Horn, L. Leem, J. Y. Park, M. Ren, A. Aiken, W. J. Dally, and P. Hanrahan. Sequoia: Programming the memory hierarchy. In Proceedings of the 2006 ACM/IEEE Conference on Supercomputing, 2006.
    [12]
    M. Frigo. A fast Fourier transform compiler. In Proc. 1999 ACM SIGPLAN Conf. on Programming Language Design and Implementation, volume 34, pages 169--180, May 1999.
    [13]
    T. Fukushige, J. Makino, and A. Kawai. GRAPE-6A: A single-card GRAPE-6 for parallel PC-GRAPE cluster systems. Publications of the Astronomical Society of Japan, 57:1009--1021, dec 2005.
    [14]
    A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing. Cambridge, MA, USA, 1994. MIT Press.
    [15]
    D. R. Horn, M. Houston, and P. Hanrahan. ClawHMMER: A streaming HMMer-search implementation. In Proceedings of the 2005 ACM/IEEE Conference on Supercomputing, page 11, Washington, DC, USA, 2005. IEEE Computer Society.
    [16]
    W. Huang, G. Santhanaraman, H.-W. Jin, Q. Gao, and D. K. Panda. Design and implementation of high performance MVAPICH2: MPI2 over InfiniBand. In International Symposium on Cluster Computing and the Grid (CCGrid), May 2006.
    [17]
    IBM. IBM BladeCenter QS20. http://www.ibm.com/technology/splash/qs20, 2007.
    [18]
    IBM. IBM Cell Broadband Engine Software Development Kit. http://www.alphaworks.ibm.com/tech/cellsw, 2007.
    [19]
    Intel. Math kernel library. http://www.intel.com/software/products/mkl, 2005.
    [20]
    L. Kalé and S. Krishnan. CHARM++: A portable concurrent object oriented system based on C++. In A. Paepcke, editor, Proceedings of OOPSLA'93, pages 91--108. ACM Press, September 1993.
    [21]
    T. J. Knight, J. Y. Park, M. Ren, M. Houston, M. Erez, K. Fatahalian, A. Aiken, W. J. Dally, and P. Hanrahan. Compilation for explicitly managed memory hierarchies. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming, pages 226--236, Mar. 2007.
    [22]
    F. Labonte, P. Mattson, I. Buck, C. Kozyrakis, and M. Horowitz. The stream virtual machine. In Proceedings of the 2004 International Conference on Parallel Architectures and Compilation Techniques, Antibes Juan-les-pins, France, September 2004.
    [23]
    MPIF. MPI: A message passing interface standard. In International Journal of Supercomputer Applications, pages 165--416, 1994.
    [24]
    MPIF. MPI-2: Extensions to the Message-Passing Interface. Technical Report, University of Tennessee, Knoxville, 1996.
    [25]
    R. W. Numrich and J. Reid. Co-array Fortran for parallel programming. SIGPLAN Fortran Forum, 17(2):1--31, 1998.
    [26]
    Sony. Sony Playstation 3. http://www.us.playstation.com/PS3, 2007.
    [27]
    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 1998 Workshop on Java for High-Performance Network Computing, Stanford, California, 1998.

    Cited By

    View all
    • (2019)LLAMA - automatic memory allocationsProceedings of the International Symposium on Memory Systems10.1145/3357526.3357534(363-372)Online publication date: 30-Sep-2019
    • (2019)A Game-theoretic Taxonomy and Survey of Defensive Deception for Cybersecurity and PrivacyACM Computing Surveys10.1145/333777252:4(1-28)Online publication date: 30-Aug-2019
    • (2019)Random Walk Based Sampling for Load Balancing in Multi-Server SystemsProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/3322205.33110853:1(1-44)Online publication date: 26-Mar-2019
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PPoPP '08: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
    February 2008
    308 pages
    ISBN:9781595937957
    DOI:10.1145/1345206
    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: 20 February 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. PMH
    2. memory hierarchies
    3. parallelism
    4. runtime
    5. sequoia

    Qualifiers

    • Research-article

    Conference

    PPoPP08
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 230 of 1,014 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)LLAMA - automatic memory allocationsProceedings of the International Symposium on Memory Systems10.1145/3357526.3357534(363-372)Online publication date: 30-Sep-2019
    • (2019)A Game-theoretic Taxonomy and Survey of Defensive Deception for Cybersecurity and PrivacyACM Computing Surveys10.1145/333777252:4(1-28)Online publication date: 30-Aug-2019
    • (2019)Random Walk Based Sampling for Load Balancing in Multi-Server SystemsProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/3322205.33110853:1(1-44)Online publication date: 26-Mar-2019
    • (2019)Securing Distributed Gradient Descent in High Dimensional Statistical LearningProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/3322205.33110833:1(1-41)Online publication date: 26-Mar-2019
    • (2019)Analyzing Location-Based Advertising for Vehicle Service Providers Using Effective ResistancesProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/3322205.33110773:1(1-35)Online publication date: 26-Mar-2019
    • (2018)IsometryProceedings of the 2018 International Conference on Supercomputing10.1145/3205289.3205301(295-306)Online publication date: 12-Jun-2018
    • (2017)Integrating External Resources with a Task-Based Programming Model2017 IEEE 24th International Conference on High Performance Computing (HiPC)10.1109/HiPC.2017.00043(307-316)Online publication date: Dec-2017
    • (2015)Automatic and transparent I/O optimization with storage integrated application runtime supportProceedings of the 10th Parallel Data Storage Workshop10.1145/2834976.2834983(49-54)Online publication date: 15-Nov-2015
    • (2015)P-SOCRATESMicroprocessors & Microsystems10.1016/j.micpro.2015.06.00439:8(1190-1203)Online publication date: 1-Nov-2015
    • (2014)RealmProceedings of the 23rd international conference on Parallel architectures and compilation10.1145/2628071.2628084(263-276)Online publication date: 24-Aug-2014
    • 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