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

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)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Jan 2025

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

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