Beruflich Dokumente
Kultur Dokumente
This work was performed under the auspices of the U.S. Department of Energy
by University of California Lawrence Livermore National Laboratory
under contract No. W-7405-Eng-48.
Blue Gene / L
65,536 x 2 processors, 360 Tflops (peak)
64
nodes
Adaptive Sampling: a class of dynamic
algorithms for multiscale simulation
SPMD symponent
Familiar
composed of processes
parallelism
that use MPI
layers
Process
composed of threads
that use shared variables, locks, etc.
Thread
Sequential, with vector, pipeline,
or multi-issue parallelism
Adaptive sampling app with integrated
fine scale DB
CSM
ΦΣΜ
Μαστερ
ΦΣΜ Σερϖερσ
ALE3D Coupler FS
Continuum
Lib DB ΦΣΜ
n = 100 processes Μαστερ
z/p = 10 4 zones/process
z = 10 6 zones
T = 10 4 timesteps
ΦΣΜ Σερϖερσ
? = 100 µσεχ/τιµεστεπ
−2
? = 10 (εϖαλ φραχτιον)
Co-op Architecture
• Symponent launch
– Array of symponents can be launched on array of nodesets
by single call
• Component kill
– Must work when target is deadlocked, looping, etc.
Remote Method Invocation (RMI)
• General semantics
– Operation done by a thread on a symponent
– It can be nonblocking: caller gets a ticket and can later check, or wait for,
completion of the RMI
– Exceptions supported
– Concurrent RMIs on same symponent executed in nondeterministic order
• Inter-symponent synchronization
– RMIs queued, and executed only when callee executes
AtConsistentState() method
– Last RMI signaled by special RMI: continue()
• Intra-symponent synchronization
– Sequential body, threaded RMIs must use proper POSIX inter-thread
synchronization
• Implementation
– Babel RMI over TCP
– Persistent connections at the moment (except for one-way)
• Soon to be non-persistent
– Future implementations over
• MPI-2
• UDP
• Native packet transports
Babel and Co-op are intimately related
64
nodes
MPMD refactoring and parallelized fine
scale models
time
64
nodes
Adaptive Sampling
time
coarse scale model
full fine scale
simulations
interpolated fine scale
behavior
64
nodes
Adaptive sampling + active load balancing
yields dramatic speedup
time
nodes
Performance of adaptive sampling
using the Co-op programming model
100000
90000
80000
adaptive sampling
70000
adaptive sampling with load balancing
60000 classic model embedding
50000
40000
Wallclock
30000 Time (sec)
20000
10000
0
0.0 5.0 10.0 15.0 20.0 25.0
David Jefferson
Lawrence Livermore National Lab
Co-op allows whole parallel simulations to
be used in multiscale couplings
• components
– can be dynamically launched
– are internally parallel
– execute in parallel
– communicate via RMI
Distribution of Coarse-scale and
Fine-scale Models across Processors
Wallclock
time
… ...
One coarse scale
…
time step
...
64
nodes
Additional parallelism then becomes
available
• fine scale model executions independent
• “nearest neighbor” DB queries are mostly independent and
easily parallelizable as well
time
125
nodes
Performance Data
θυερψ()
µαξ = ζ / ?
ινσερτ() ∆Β
µαξ = ζ / ? Μαστερ
µεαν = ?ζ / ?
∆Β
Χλονε 1 ∆Β Σερϖερσ
CSM
∆Β
Μαστερ
∆Β
∆Β Σερϖερσ
Χλονε κ
ΦΣΜ
Μαστερ
ALE3D Coupler
Lib
n = 100 processes ΦΣΜ Σερϖερσ
z/p = 10 4 zones/process
z = 10 6 zones
T = 10 4 timesteps ρυνΦΣΜ()
µαξ = ζ / ?
? = 100 µσεχ/τιµεστεπ µεαν = ?ζ / ?
−2
? = 10 (εϖαλ φραχτιον)
ΦΣΜ
Μαστερ
ΦΣΜ Σερϖερσ
The PSI Project
64
nodes
Current implementation of Co-op runs
multiscale models on Linux cluster
Linux
Current implementation of Co-op runs
multiscale models on Linux cluster
Co-opd
Linux
MPI
Not shown: SLURM
launch (SLURM / srun) daemons and srun()
Co-oplib processes
Current implementation of Co-op runs
multiscale models on Linux cluster
CSM
Co-opd
Linux
Babel MPI
Not shown: SLURM
launch (SLURM / srun) daemons and srun()
Co-oplib processes
RMI (over UDP)
Current implementation of Co-op runs
multiscale models on Linux cluster
FSMs
CSM
Co-opd
Linux
Babel MPI
Not shown: SLURM
launch (SLURM / srun) daemons and srun()
Co-oplib processes
RMI (over UDP)