## 7 Algorithms for HPC Systems in the Exascale Era
### Parallel Solvers for Exascale Computing
#### 7.2.1 \"Implicit-Explicit\" and \"Parallel in Time\"
The method described above, used to compute \(T_{n,0}\), can be considered a \"one step method\", and it can be proved [169] that, under some specific conditions, it is a method of order \(p+\omega M\). The dynamics of processes that have multiple physics and multiscale components can be categorized into relatively fast and slow terms. The informal expressions _\"stiff\"_ and _\"nonstiff\"_ are commonly associated with the fast and slow evolution, respectively. So we are concerned with solving the following problem:  
\[\dot{u}(t)=f(t,u(t))+g(t,u(t))=F(t,u(t)) \tag{185}\]  
where the functions \(f\) and \(g\) represent the nonstiff and the stiff components of the problem, respectively, and where \(u(t_{0})=u_{0}\), \(u(t)\in\Re^{d}\) and where \(t\in\Theta=[t_{0}\ T]\). In Constantinescu et al. [170, 171], the following base \"one step methods\" (with step size \(h\)) \(\left\{{}^{\bullet}\right\}\Psi^{n,n-1}_{h}{}^{-1}{}_{\bullet}\)=[W-IMEX,Pure-IMEX,Split-IMEX] are used to solve (185) by an approach based on extrapolation methods:\[u^{n+1}= u^{n}+\left[I-h\frac{\partial g}{\partial u}(t_{n},u^{n})\right]^{-1}[ hF(t_{n},u^{n})]\] [W-IMEX (186) \[u^{n+1}= u^{n}+hf(t_{n},u^{n})+\left[I-h\frac{\partial g}{\partial u}(t_{n},u^{ n})\right]^{-1}[hg(t_{n},u^{n})]\] [Pure-IMEX (187) \[u^{n+1}= u^{*}+\left[I-h\frac{\partial g}{\partial u}(t_{n},u^{n})\right]^{-1 }[hg(t_{n},u^{*})]\] ; \[E(h):=\|u-u_{h}\|\leq Ch^{p} \tag{182}\]0 [Split-IMEX (188)  
The computation of each \(T_{n_{i},j}\) during the implementation of an extrapolation method (see Definition 2) can be executed independently from the others, so the wall set of tasks to compute all the \(T_{n_{i},j}\) values can be executed concurrently. Then, extrapolation methods, as well as improving the convergence order of a _\"one step method\"_, can be considered as a first approach to implement \"parallelism\" in a naturally serial process as the ODE solution by time steppers. Indeed, current methods for transient simulations are almost exclusively sequential in time. Time progresses by employing one or more solutions from past timesteps to compute the next, regardless of how spatial domains are discretized. As a result, the number of timesteps multiplied by the speed at which one timestep can be computed determines the time to solution for transient applications. To overcome such limitations on concurrency levels exploited by traditional time integrators, parallel-time algorithms have been studied for many years [172]. Based on Gander et al., who very recently created a unified framework for Parallel-In-Time algorithms [173], we describe them as the iterative updating of the approximation for the solution of the _\"all-at-once global problem\"_ (see Equation (191) in Definition 3). In particular, following the approach described in Gander et al., the Definition 3 for the Parallel-In-Time method is given as follows,  
**Definition 3**. : _The Parallel-In-Time (PInt) iterative solution of time-dependent ODE The aim is to compute an approximate solution of the following ODE problem_  
\[E(h):=\|u-u_{h}\|\leq Ch^{p} \tag{182}\]1  
_where \(u(t_{0})=u_{0}\), \(u(t)\in\Re^{d}\) and where \(t\in\Theta=[t_{0}\ T]\). As described in Section 6.1.2 about the time integration algorithms, to compute an approximation of the solution in the considered time domain \(\Theta\), a discretization \(\Theta_{N}\) of \(\Theta\) should be considered.