Introduction to the Parareal Algorithm
Ma. Cristina Bargo
Laboratoire Jacques-Louis Lions
Université Pierre et Marie Curie
University of the Philippines Diliman
Math 296
January 10, 2011
MC Bargo Intro to Parareal Algorithm
Classical Discretization
The Problem
Find u such that
(
∂t u = A (t, u) , t ∈ (t0 , T ]
(1)
u = u0 , t = t0
where A : R × V → V 0 (V a Hilbert space) and t0 > 0.
MC Bargo Intro to Parareal Algorithm
Classical Discretization
The Problem
Find u such that
(
∂t u = A (t, u) , t ∈ (t0 , T ]
(1)
u = u0 , t = t0
where A : R × V → V 0 (V a Hilbert space) and t0 > 0.
The Discrete Problem
Let t0 = T0 < T1 < · · · < TN = T with Ti+1 − Ti = ∆T
(uniform). Let Ui be an approximation of u(Ti ) solution to (1) at
t = Ti . Then U0 = u0 and ∀i = 0, . . . , N − 1
Ui+1 = F (Ti+1 ; Ti , Ui )
MC Bargo Intro to Parareal Algorithm
Classical Discretization
Example
0 −1 5
u (t) = u(t), t ∈ (0, 1.5]
−5 −1
with
1
u(0) =
0
∆T = 0.1
F : One-step implicit Euler scheme
MC Bargo Intro to Parareal Algorithm
Classical Discretization
Exact Solution
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T0
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T1
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T2
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T3
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T4
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T5
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T6
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T7
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T8
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T9
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T10
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T11
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T12
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T13
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T14
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T15
MC Bargo Intro to Parareal Algorithm
Classical Discretization
Remarks:
more accurate results using small time steps
computationally costly due to sequential nature of the scheme
MC Bargo Intro to Parareal Algorithm
Classical Discretization
Remarks:
more accurate results using small time steps
computationally costly due to sequential nature of the scheme
Going back to example...
∆T = 0.1
F : 15-step implicit Euler scheme, δt = 6.67 × 10−3
MC Bargo Intro to Parareal Algorithm
Classical Discretization
Exact Solution
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T0
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 2δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 3δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 4δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 5δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 6δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 7δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 8δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 9δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 10δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 11δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 12δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 13δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 14δt
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = 15δt = T1
MC Bargo Intro to Parareal Algorithm
Classical Discretization
t = T15
MC Bargo Intro to Parareal Algorithm
Classical Discretization
Goal: Find a fast algorithm without sacrificing accuracy
high order schemes (ex. Crank-Nicholson, Runge-Kutta, etc.)
use multiple processors and solve the problem in parallel
parallel in the spatial domain
parallel in the system
parallel in the method
parallel in the time domain
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
PARAREAL - parallel in real time
Lions, Maday and Turinici [1], 2001
Résolution d’EDP par un schéma en temps “pararéel”
Bal and Maday [2], 2002
A “parareal” time discretization for nonlinear PDE’s with
application to the pricing of an American put
Baffico et al [3], 2002
Parallel-in-time molecular-dynamics simulations
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Notations:
Fine solver F (Ti+1 ; Ti , Ui ) - accurate but computationally
costly
Coarse solver G (Ti+1 ; Ti , Ui ) - less accurate than F but
computationally cheap
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Notations:
Fine solver F (Ti+1 ; Ti , Ui ) - accurate but computationally
costly
Coarse solver G (Ti+1 ; Ti , Ui ) - less accurate than F but
computationally cheap
U00 = u0 and
U0n+1 = G (Tn+1 ; Tn , U0n )
For k = 1, 2, · · · , Uk0 = u0 and
Uk+1 k+1
n+1 = G (Tn+1 ; Tn , Un )
+ F (Tn+1 ; Tn , Ukn ) − G (Tn+1 ; Tn , Ukn )
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Uk+1 k+1 k k
n+1 = G (Tn+1 ; Tn , Un ) + F (Tn+1 ; Tn , Un ) − G (Tn+1 ; Tn , Un )
F (Tn+1 ; Tn , Ukn ) − G (Tn+1 ; Tn , Ukn ): corrector (parallel)
G (Tn+1 ; Tn , Uk+1
n ): predictor (sequential)
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Uk+1 k+1 k k
n+1 = G (Tn+1 ; Tn , Un ) + F (Tn+1 ; Tn , Un ) − G (Tn+1 ; Tn , Un )
F (Tn+1 ; Tn , Ukn ) − G (Tn+1 ; Tn , Ukn ): corrector (parallel)
G (Tn+1 ; Tn , Uk+1
n ): predictor (sequential)
Going back to example...
∆T = 0.1
G : one-step implicit Euler scheme
F : 15-step implicit Euler scheme
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
The Exact Solution
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 0
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 2δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 3δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 4δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 5δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 6δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 7δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 8δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 9δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 10δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 11δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 12δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 13δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 14δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = Ti + 15δt
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: End of Parallel Part
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T1
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T1
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T2
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T2
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T3
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T3
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T4
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T5
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T6
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T7
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T8
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T9
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T10
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T11
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T12
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T13
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T14
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 1: t = T15
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 2
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 3
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 4
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Iteration 5
MC Bargo Intro to Parareal Algorithm
The Parareal Algorithm
Fine scheme vs. Parareal algorithm
MC Bargo Intro to Parareal Algorithm
ANR PITAC
Past Work: http://www.ljll.math.upmc.fr/PITAC/
theoretical: convergence and stability ([4] and [5])
applications
molecular dynamic simulations [3]
American put option pricing [2]
Navier-Stokes equations [6]
control problems [7]
Schrödinger equation [8]
stochastic ordinary differential equations [9]
To do:
general results for convergence and stability
improve speedup and efficiency
use on “large” problems
MC Bargo Intro to Parareal Algorithm
J.-L. Lions, Y. Maday, and G. Turinici, “Résolution d’EDP par
un schéma en temps “pararéel”,” C. R. Acad. Sci. Paris Sér. I
Math., vol. 332, no. 7, pp. 661–668, 2001.
G. Bal and Y. Maday, “A “parareal” time discretization for
nonlinear PDE’s with application to the pricing of an american
put,” in Recent Developments in Domain Decomposition
Methods (L. Pavarino and A. Toselli, eds.), vol. 23 of Lecture
Notes in Computational Science and Engineering,
pp. 189–202, Berlin: Springer-Verlag, 2002.
L. Baffico, S. Bernard, Y. Maday, G. Turinici, and G. Zérah,
“Parallel-in-time molecular-dynamics simulations,” Phys. Rev.
E, vol. 66, p. 057701, Nov 2002.
M. Gander and S. Vandewalle, “On the superlinear and linear
convergence of the parareal algorithm,” in Domain
Decomposition Methods in Science and Engineering XVI (T. J.
Barth, M. Griebel, D. E. Keyes, R. M. Nieminen, D. Roose,
T. Schlick, O. B. Widlund, and D. E. Keyes, eds.), vol. 55 of
MC Bargo Intro to Parareal Algorithm
Lecture Notes in Computational Science and Engineering,
pp. 291–298, Springer Berlin Heidelberg, 2007.
G. Bal, “On the convergence and the stability of the parareal
algorithm to solve partial differential equations,” in Domain
Decomposition Methods in Science and Engineering (T. J.
Barth, M. Griebel, D. E. Keyes, R. M. Nieminen, D. Roose,
T. Schlick, T. J. Barth, M. Griebel, D. E. Keyes, R. M.
Nieminen, D. Roose, T. Schlick, R. Kornhuber, R. Hoppe,
J. Priaux, O. Pironneau, O. Widlund, and J. Xu, eds.), vol. 40
of Lecture Notes in Computational Science and Engineering,
pp. 425–432, Springer Berlin Heidelberg, 2005.
P. F. Fischer, F. Hecht, and Y. Maday, “A parareal in time
semi-implicit approximation of the Navier-Stokes equations,”
in Domain Decomposition Methods in Science and
Engineering, vol. 40 of Lecture Notes in Computational
Science and Engineering, pp. 433–440, Berlin: Springer, 2005.
MC Bargo Intro to Parareal Algorithm
Y. Maday and G. Turinici, “A parareal in time procedure for
the control of partial differential equations,” Comptes Rendus
Mathematique, vol. 335, no. 4, pp. 387–392, 2002.
Y. Maday and G. Turinici, “Parallel in time algorithms for
quantum control: Parareal time discretization scheme,” Int. J.
Quantum Chem., vol. 93, no. 3, pp. 223–228, 2003.
G. Bal, “Parallelization in time of (stochastic) ordinary
differential equations.” Submitted, available at
http://www.columbia.edu/ gb2030/PAPERS/paralleltime.pdf.
MC Bargo Intro to Parareal Algorithm