78
pages
English
Documents
Écrit par
Kumaresh Pattabiraman
Publié par
Iddo
Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres
78
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
Charm++ Tutorial
Presented by:
Laxmikant V. Kale
Kumaresh Pattabiraman
Chee Wai Lee Overview
Introduction
– Developing parallel applications
– Virtualization
– Message Driven Execution
Charm++ Features
– Chares and Chare Arrays
– Parameter Marshalling
– Examples
Tools
– LiveViz
– Parallel Debugger
– Projections
More Charm++ features
– Structured Dagger Construct
– Adaptive MPI
– Load Balancing
2
Conclusion Outline
Introduction
Charm++ features
– Chares and Chare Arrays
– Parameter Marshalling
– Examples
Tools
– LiveViz
– Parallel Debugger
– Projections
More Charm++ Features
– Structured Dagger Construct
– Adaptive MPI
– Load Balancing
3 Conclusion Developing a Parallel Application
Seek optimal division of labor between “system” and programmer
Decomposition done by programmer, everything else automated
Decomposition
Mapping Charm++
Scheduling
Specialization
4
Automation Virtualization:
Object-based Decomposition
Divide the computation into a large
number of pieces
– Independent of number of processors
– Typically larger than number of processors
Let the system map objects to processors
5 Object-based Parallelization
User is only concerned with interaction between objects
System implementation
User View
6 Message-Driven Execution
Objects communicate asynchronously
through remote method invocation
Encourages non-deterministic execution
Benefits:
– Communication latency tolerance
– Logical structure for scheduling
7
Message-Driven Execution in
Charm++
CkExit()
x y
Objects
y->f() ??
Scheduler Scheduler
Message Q Message Q
8 Other Charm++ Characteristics
Methods execute one at a time
No need for locks
Expressing flow of control may be
difficult
9 Outline
Introduction
Charm++ features
– Chares and Chare Arrays
– Parameter Marshalling
– Examples
Tools
– LiveViz
– Parallel Debugger
– Projections
More Charm++ Features
– Structured Dagger Construct
– Adaptive MPI
– Load Balancing
10 Conclusion