237
pages
English
Documents
Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres
237
pages
English
Documents
Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres
Publié par
Langue
English
SIAM Short Course on: High Performance
SIAM Short Course on: High Performance
Programming in the Partitioned Global
Address Space Model
Date: February 27, 2004
Date: Februar
Location: San Francisco
Location: San Francisco
OrganizeOrganizers: Bill C rs: Bill Carlson (IDA),
Tarek El-Ghazawi (GWU),
Robert Numrich (U. Minnesota), U. Minnesota),
Kathy Yelick (UC Berkeley and LBNL)
KathIntroduction to the PGAS
ModelOutline of the Day
! Introduction to PGAS Model
! UPC Programming
! Co-Array Fortran Programming
! Titanium Programming
! Summary
High Performance Programming with the Partitioned Global Address Space Model
SIAM PP04 02/27/04
3Outline of this Talk
! Basic Concepts
0Applications
0Programming Models
0Computer Systems
! The Program View
! The Memory View
! Synchronization
! Performance AND Ease of Use
High Performance Programming with the Partitioned Global Address Space Model
SIAM PP04 02/27/04
4Parallel Programming Models
! What is a programming model?
0A view of data and execution
0 Where architecture and applications meet
! Best when a contract
0Everyone knows the rules
0Performance considerations important
! Benefits
0Application - independence from architecture
0Architecture - independence from applications
High Performance Programming with the Partitioned Global Address Space Model
SIAM PP04 02/27/04
5The Data Parallel Model
! Easy to write and comprehend, no
Process
synchronization required
! No independent branching
! Example: HPF
Network
…
Different Data / address spaces
High Performance Programming with the Partitioned Global Address Space Model
SIAM PP04 02/27/04
6The Message Passing Model
! Programmers control data and work
distribution
! Explicit communication, two-sided
! Library-based
Network
! Excessive buffering
! Significant communication overhead
for small transactions
! Example: MPI
Address space
Process
High Performance Programming with the Partitioned Global Address Space Model
SIAM PP04 02/27/04
7The Shared Memory Model
! Simple statements
0read remote memory via an
… expression
Thread Thread Thread
0write remote memory through
assignment
Shared Variable x
! Manipulating shared data may
require synchronization
Shared address
space ! Does not allow locality
exploitation
! Example: OpenMP
High Performance Programming with the Partitioned Global Address Space Model
SIAM PP04 02/27/04
8Partitioned Global Address Space
…
Th Th Th
! Similar to the shared memory
0 1 n
paradigm
x
! Memory M has affinity to
Partitioned
i
thread Th
Global
i
M M … M
0 1 n
Address
! Helps exploiting locality of
Space
references
! Simple statements
! Examples: This Tutorial! UPC,
CAF, and Titanium
High Performance Programming with the Partitioned Global Address Space Model
SIAM PP04 02/27/04
9Tutorial Emphasis
! Concentrate on Partitioned Global Address Space
as a universal model
0UPC
0Co-Array Fortran
0Titanium
! Not too much on hardware or software support for
DSM after this talk...
High Performance Programming with the Partitioned Global Address Space Model
SIAM PP04 02/27/04
10