Multiscale Modelling and Simulation (MMS) Session 1
Time and Date: 10:35 - 12:15 on 12th June 2017
Room: HG D 3.2
Chair: Derek Groen
-1 | Multiscale Modelling and Simulation, 14th International Workshop [abstract] Abstract: [No abstract available] |
Derek Groen, Valeria Krzhizhanovskaya, Alfons Hoekstra, Bartosz Bosak and Petros Koumoutsakos |
297 | Multiscale Computing Patterns for High Performance Computers [abstract] Abstract: Moving into the era of exascale machines will lead to drastic changes in the way we use HPC resources, especially for multiscale applications [1, 2]. Hence, there is an increasing demand to device generic methods to execute such multiscale applications on emerging exascale resources. For this we propose generic multiscale computing pattern. These patterns should map in the most efficient way single scale components of a multiscale application on heterogeneous architectures [2]. This research [2] is aimed at identifying and analysing generic multiscale computing patterns in multiscale models to increase the efficient, fault tolerant, and energy-aware usage of HPC computing resources [3–6]. The vision of multiscale computing patterns is rooted in the Multiscale Modelling and Simulation Framework (MMSF) [7–11], which plays a pivotal role in designing, utilising and programming various multiscale applications. A multiscale model in the MMSF is described as a coordinated implementation of single-scale models that are coupled using scale bridging mechanisms. The main components of the MMSF are the scale separation map, coupling topology, multiscale modeling language - with different flavors- and task graphs. The MMSF has shown its capability on a range of multi-sciences applications(e.g. fusion [10, 12], computational biology [10, 13, 14], bio medicine [10, 15–21], nano material science [10, 22, 23], and hydrology [10]).
Based on the multiscale models task graphs, we propose one generic task graph per set of multiscale models (a pattern) [2]. The main target of these graphs is to capture the behavior of multiscale applications. The main assumption here is that we can develop an algorithm per pattern that would cover all multiscale scientific applications in the same scenario. A Multiscale Computing Pattern (MCP) can be defined as high-level call sequences that exploit the functional decomposition of multiscale models in terms of single scale models. Taking the generic task graph, multi-scale model information and single-scale performance data, we can apply pattern services to optimise the work based on the desired approach (i.e. optimal mapping based on efficient usage of resources, less wall clock time, load balance, energy efficiency, fault tolerance or total submission to execution time). We distinguish three different types of computing patterns, namely Extreme Scaling (ES), Heterogeneous Multiscale Computing (HMC)and Replica Computing (RC) patterns [2].
We argue that these patterns have the capacity to ensure load balancing, energy awareness and fault tolerance, with the virtues of effective multiscale simulations on exascale HPC resources. This would be achieved by ensuring the best mapping of single-scale models on computing resources as well as applying effective check-pointing strategies and energy analysis.The Extreme Scaling computing pattern represents a situation wherein a sole or a few of the single scale models necessitate exascale performance as coupled to other less expensive models.The Heterogeneous Multiscale Computing pattern denotes to a macroscale model that spawns a large number of instances of microscale models based on set of decisions by an HMC manager.Replica Computing signifies a setting wherein numerous replicas are implemented in the form of a single scale outline with different communication forms. Based on the communication, we defined three different flavors of RC namely ensemble simulations, dynamic ensemble simulations and replica-exchange simulations (for details we refer to [2]). The findings of the study thus indicated the potentiality of these three patterns (ES, HMC and RC) in aligning multiscale applications to computing resources. The Extreme Scaling computing pattern, for instance,helps in ensuring better performance by utilising load balancing between different submodels based on their computation power or energy consumption.
The Heterogeneous Multiscale Computing pattern is primarily based on the heterogeneous multiscale method (HMM) [24–26]. This pattern represents a widely known micro-macro multiscale models. Here, a set of microscopic models is coupled to a macroscopic model. Utilising a HMC manager, which uses a dedicate database to restrict the number of microscale simulation needed and enhance re-using data, will increase the usage of extensive resources of parallel computing [27]. Replica Computing is recognised as a combination of numerous petascale and terascale simulations (replicas), which generate statistically vigorous and scientifically vital out-comes. Achieving the best resources of a single replica is a very critical step towards the best usage of resources for the multiscale applications of this kind. One example is estimating binding affinities, where persistent amid proteins and small compounds through the exchange of simulation data between single-scale models are performed [28–30].
The proposed patterns can address the exascale challenges on the level of multiscale computing. The developers of the multiscale models can concentrate on the efficiency of the single-scale models. The execution environment of e.g MMSF will take care of these issues with help of patterns. This can be achieved by having sufficient amount of description of multiscale model(as in xMML) and single-scale performance and power consumption measurements. Then a pattern software can be developed to generate execution scenarios to enhance the current execution based on the required optimization target (i.e. optimal mapping based on efficient usage of resources, less wall clock time, load balance, energy efficiency, fault tolerance or total submission to execution time). |
Saad Alowayyed, Derek Groen, Peter Coveney and Alfons Hoekstra |
124 | Dynamic load balancing for CAFE multiscale modelling methods for heterogeneous hardware infrastructure [abstract] Abstract: Conventional load balancing algorithms, i.e. for one computing method in one scale, are very well known in literature and developed since 70’s when solutions based on binary trees and Parallel Virtual Machine were created. Since that time more than twenty thousand scientific papers were published in this area. Nowadays the most important part of this branch of science is related to two aspects of balancing i.e. between different computing nodes and inside single node with many CPUs and many computing devices with multicore heterogeneous architectures. The first aspect is studied for homogeneous as well as heterogeneous infrastructures. The second is mainly caused by an unpredictable behavior of sophisticated numerical algorithms on computing devices with hierarchical access to memory typical for NUMA design. This aspect is analyzed regarding scheduling, load balancing and work stealing between computing devices and inside particular device. In this paper both aspects are important.
The paper presents new approach to scheduling and Dynamic Load Balancing (DBL) of tightly and loosely coupled multiscale modelling methods executed in heterogeneous hardware infrastructure. The most popular configurations of computing nodes composed of modern multicore CPUs, GPUs and co-processors, are used. The proposed load balancing approach takes into account computational character of methods applied in particular scales, which depends on a size of input data, operational intensity and limitations of hardware architecture. Such constrains are defined by the Roofline model and used in the algorithm as boundary conditions, allowing to determine maximum performance of an algorithm for particular device. The upscaling multiscale approaches are analysed, which in this paper are represented by Cellular Automata Finite Element (CAFE) method. The qualitative as well as quantitative results, obtained after application of proposed load balancing procedure, are discussed in the paper in details. |
Lukasz Rauch |
623 | Performance Monitoring of Multiscale Applications [abstract] Abstract: The use of performance analysis tools has always been prevalent in HPC, to understand application behaviour and ensure machine utilization. However, these profiles often take an application centric perspective, profiling and visualising a single application at a time, or a machine centric perspective, thus losing information about the specific applications. With multiscale computational patterns, multiple application runs are coupled together to form a workflow. As such, performance analysis tools must be able to capture the context of multiple application runs and combine the resulting data, a capability that is widely lacking in existing tools.
This presentation will cover how the profiling tool Allinea MAP has be extended, using a custom metrics interface and a JSON export capability, to support the profiling and visualisation of multiscale models. The demonstration will focus on collecting domain specific data from the MUSCLE2 communication library and its combination with existing data sources. The data is then exported for analysis and visualisation in open source tools, such as Python and Kibana. |
Oliver Perks and Keeran Brabazon |