## 7 Algorithms for HPC Systems in the Exascale Era
### Models for Exascale Computing  
As described in Section 5, mathematical models often involve coupled physical phenomena being inherently multiphysics-based. In addition, there are many potential levels of description from the atomic up to macroscopic scales. Although it is severely constrained by the computer resources at hand, the degree of fine-grained physical accuracy in models is contingent upon the significance of the fine-scale processes' characteristics on the macroscopic time and length scales. In theory, classical molecular models may try to perform simulations at this size. Even with Exascale resources, such a model has far too many unknowns to compute at macroscopic (engineering) scales. To this aim, the approach is to divide and conquer the scales by creating simplified (or coarse-grained) models able to correctly describe a particular set of dynamics. In such a way, it can also be possible to control the complexity and scale disparity of first-principles-based models. Naturally, using this method produces multiscale or scale-bridging models [156; 159; 160; 161] in which a coupled hierarchy of models is considered. These models avoid using a brute-force approach that would lead to an infeasible solution by making many attempts to bridge disparate time and length scales. By definition, these scale-bridging algorithms employ the split of scales to generate optimal formulations at different levels of issue description. This clearly leads to a hierarchical or layered issue description, which is useful in conjunction with the expected future Exascale computer systems' hierarchical nature [156] (see Section 4). Two common mathematical representations are utilized, as explained in Section 5: (1) continuum models, which use a Eulerian approach to numerically represent functions on a continuous domain by means of a finite-dimensional representation linked to a mesh, and (2) particle models, which follow the dynamics of individual or groups of discrete entities in space in a Lagrangian fashion. The particle models can explain a wider range of (nonequilibrium) behavior, but they are noisy and can become costly at macroscopic scales. Despite their lack of noise and better-understood convergence properties, continuum models may become too expensive to use at small scales. Particle-based models (see Section 5.2 for examples of such approaches) are suitable for Exascale computing applications in some cases. It is possible to process particles individually until they synchronize at a later time-step level. This allows for arbitrary fine-grained parallelism and the exploitation of asynchrony. Particle models can efficiently use single precision due to their statistical character, where the accuracy impact of a lower precision is significantly smaller than the associated statistical noise. It is also easier to manage particles' fault tolerance due to their statistical character. Exascale computing generally offers a chance to reconsider and enhance the way that models in multiphysics/multiscale models should be integrated across scales and physical processes. An effective substitute for operator splitting has been made possible by the development of nonlinear implicit solvers. The shift toward more closely coupled techniques presents a great possibility for adaptation to the Exascale, with its memory bandwidth stringencies, despite some unsolved mathematical issues [156; 162]. This article makes multiple references to the phrases _\"coupled\"_ (also known as _\"splitted\"_ or _\"segregated\"_), and since coupling exists at least on an algorithmic and physical level, some definitions are needed. According to Keyes et al. [162], _\"the terms \"strong (versus weak) coupling\" of physical models mean that physical components of the modeled system are coupled by a strong (versus weak) interaction. Correspondingly, the term \"tight (versus loose) coupling of numerical models means that algorithmic components are coupled by a tight (versus loose) interaction\"_.