Center for Programming Models for Scalable Parallel Computing - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Center for Programming Models for Scalable Parallel Computing

Description:

Center for Programming Models for Scalable Parallel Computing. Libraries, Languages, and Execution Models for ... Marianne Winslett University of Illinois ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 23
Provided by: rick364
Category:

less

Transcript and Presenter's Notes

Title: Center for Programming Models for Scalable Parallel Computing


1
Center for Programming Models for Scalable
Parallel Computing
  • Libraries, Languages, and Execution Models for
    Terascale Applications
  • Ewing Lusk
  • Argonne National Laboratory

2
Participants
  • Coordinating Principal Investigator
  • Ewing Lusk Argonne National Laboratory
  • Co-Principal Investigators
  •  
  • Barbara Chapman University of Houston
  • Guang Gao University of Delaware
  • William Gropp Argonne National Laboratory
  • Ricky Kendall Ames Laboratory
  • Jarek Nieplocha Pacific Northwest National
    Laboratory
  • John Mellor-Crummey Rice University
  • Robert Numrich University of Minnesota
  • Dhabaleswar Panda Ohio State University
  • Thomas Sterling California Institute of
    Technology
  • Marianne Winslett University of Illinois
  • Katherine Yelick University of California,
    Berkeley and Lawrence Berkeley National Laboratory

3
Problem Statement
  • Problem Current programming models have enabled
    development of scalable applications on current
    large-scale computers, but the application
    development process itself remains complex,
    lengthy, and expensive, obstructing progress in
    scientific application development.
  • Solution Facilitate application development by
    providing standard libraries, convenient parallel
    programming languages, and petaflops-targeted
    advanced programming models.
  • Goals An array of attractive options for
    convenient, efficient, development of scalable,
    efficient scientific applications for terascale
    computers

4
Obstacles to Development of Scalable Applications
  • Cumbersome programming models
  • Lack of support for component software
  • Mismatch between application structure and
    programming model
  • Mismatch between programming model and machine
    organization
  • Loss of transparency in communication subsystems
  • Hardware complexity
  • Managing I/O

5
Platforms and Architectures
Software Abstraction Layers
Science Applications
CY02-CY04 1-100TFs
CY05-CY10 100-1000TFs
CY10 1000TFs
Programming Models
ViVA
Clusters
CLoC MPP
SoC MPP
PIM
Libraries
PVP
Ultra Dense
Streams
Systems Software
SMP Clusters
FPGA
Parcels
More Rapidly Changing
More Slowly Changing
6
Current Practice(for portable, parallel,
scalable codes)
  • Standard programming languages with mature
    compilers
  • Fortran-(77,90,95), C, C
  • coupled with
  • Communication libraries
  • MPI-1 (a community standard)
  • Global Arrays (especially in Chemistry, CFD)
  • ARMCI
  • Shmem (especially for T3E, Quadrics, SCI)

7
Pre-Existing Exploratory Research in This Area
  • Libraries
  • MPI-2 implementations and extensions
  • Global Arrays implementations and extensions
  • Also ARMCI
  • Portable SHMEM implementation
  • Global Address Space Languages
  • Early compilers
  • UPC
  • Co-Array Fortran
  • Titanium
  • Not highly optimized or portable
  • Advanced Models
  • Multi-threading for multi-threading hardware,
    PIMS,

8
Our Three-Pronged Approach to Next-Generation
Programming Models
  • Extensions to existing library-based models
  • MPI (-3)
  • Global Arrays and extensions
  • Portable SHMEM
  • Robust implementations of language-based models
  • UPC
  • Co-Array Fortran
  • Titanium
  • OpenMP optimizations
  • Advanced models for advanced architectures
  • Multithreaded, PIM-based machines, Gilgamesh,
    etc.
  • Infrastructure for programming model
    implementation
  • Open64 compiler
  • Common runtime library
  • Scalable I/O

9
Technical Challenges
  • Finding the library extensions application
    developers need
  • Implementing libraries scalably
  • Refining the definitions of experimental parallel
    languages to make them more convenient
  • Defining portable runtime library that can
    provide communications services for multiple
    languages
  • Implementing the runtime library scalably and
    portably
  • Defining a programming model suitable for
    petaflops architectures
  • Determining critical hardware mechanisms for
    efficient scalable execution
  • Testing advanced programming models with
    applications

10
Relationships Among the Parts
Communication Firmware
VIA
Myrinet
Infiniband
MPP Switches
Quadrics
11
Cross-Cutting Themes
  • Globally Addressable Memory
  • Library models accomplish this indirectly
  • Language models accomplish this directly
  • Advanced models have different notion of memory
  • Levels of parallelism
  • Processes
  • Threads
  • Parcels
  • Consistency models
  • Relaxed consistency models can unleash more
    parallelism
  • Raising the level of abstraction
  • In I/O, for example

12
Whos Doing What
13
Some Inter-Project Interactions
Delaware
Caltech
Adv. Models
Open64
CAF
Houston
Rice
Minnesota
Open64
ARMCI
I/O
Open64
LBL
Berkeley
PNNL
Ames
GASNet
ARMCI
GASNet
runtime
Illinois
Ohio State
ANL
Scalable I/O
runtime
14
What You Will Hear Today
  • Library-based Models - Jarek Nieplocha
  • MPI and MPI-2
  • MPI-2 extends the message-passing model
  • Global Arrays
  • GA combine higher-level model with efficiency for
    application convenience
  • GP-SHMEM
  • Popular Cray T3E model made portable
  • Co-Array Fortran library
  • Object-based scientific library, written in CAF

15
What You Will Hear Today
  • Languages 1 - John Mellor-Crummey
  • Co-Array Fortran
  • A global address space parallel Fortran
  • Scalable OpenMP
  • Tools and techniques for this shared-memory model
  • The Open64 compiler infrastructure
  • Necessary for multiple parts of our project
  • One contribution to the community

16
What You Will Hear Today
  • Languages 2 Katherine Yelick
  • UPC
  • A global address space parallel C
  • Titanium
  • A global address space parallel Java
  • GASNet
  • Contribution to runtime library

17
What You Will Hear Today
  • Cross-Project Infrastructure - D.K. Panda
  • Communication beyond simple message-passing
  • Remote memory access
  • Non-blocking operations
  • Collective operations
  • Runtime communication approaches
  • Taking advantage of NICs in general for the above
  • ARMCI
  • I/O
  • Active buffering in Panda
  • MPI-IO and parallel file systems
  • Scalable I/O for parallel languages
  • CAF I/O
  • UPC I/O

18
What You Will Hear Today
  • Advanced Models Bill Gropp
  • Need for new models for future architectures
  • MIND and Gilgamesh
  • Percolation and EARTH results

19
Summary
  • Important problem
  • Great Team
  • Significant Progress
  • Individually
  • collectively

20
The End
21
Products
  • (List of things being produced that can be used
    by others)
  • What is available now
  • What is planned
  • Status
  • Summary of applications(?)
  • Using now
  • Planning to use
  • In contact

22
Comparison against Milestones for Year 1
  • Design language support for CAF, Titanium, and
    UPC to allow for hybrid shared/distributed
    memory, and initial implementation of CAF
    compiler and run-time system for shared memory
    systems.
  • Design and initial implementation of new
    functionality in library models including
    prototype sparse arrays and dynamic lists in GA,
    RMA in MPI, additional language support and
    application test suite in GPSHMEM
  • Development of concepts for advanced programming
    model, experimental environment, and select an
    application suite
  • Design and initial implementation of supporting
    technologies including CAF modules, Panda
    interfaces to CAF, DRA, and HDF, I/O hints,
    collective communications support, and
    asynchronous callbacks in ARMCI.
Write a Comment
User Comments (0)
About PowerShow.com