Abstract

It is a matter of consensus that the ability to efficiently use current and future high performance computing systems is crucial for science, however, the reality is that the performance currently achieved by most of the parallel scientific applications is far from desired. Despite inter-process communication has already been a matter of study in many different works, it is a fact that their recommendations are not taken into account in most of computational model development processes, at least in the case of Earth Science. This work presents a methodology that aims to help scientists working with computational models using inter-process communication, to deal with the difficulties they face when trying to understand their applications behaviour. Following a series of steps that are presented here, both users and developers will learn how to identify performance issues by characterizing applications scalability, identifying which parts present a bad performance and understand the role that inter-process communication plays. In this work, the Nucleus for European Modelling of the Ocean (NEMO), the state-of-the-art European global ocean circulation model, will be used as an example of success. It is a community code widely used in Europe, to the extent that more than a hundred million core hours are used every year in experiments involving NEMO. In the analysis exercise, it is shown how to answer the questions of where, why and what is degrading model's scalability, and how this information can help developers in finding solutions that will mitigate their eventual issues. This document also demonstrates how performance analysis carried out with small size experiments, using limited resources, can lead to optimizations that will impact bigger experiments running on thousands of cores, making it easier to deal with the exascale challenge.

Highlights

  • Until 2005, processor clock frequencies had been increasing exponentially allowing codes of any kind to improve their performance without almost any effort from the code developer

  • In the case of climate models a widely used metric is Simulated Years per Day (SYpD), which indicates the number of simulation years that can be completed in one day of wall-clock time

  • The Nucleus for European Modelling of the Ocean (NEMO) [20] is a state-of-the-art modelling framework for oceanographic research, operational oceanography seasonal forecast and climate studies, which is used by a large community: about 100 projects and 1000 registered users around the world

Read more

Summary

Introduction

Until 2005, processor clock frequencies had been increasing exponentially allowing codes of any kind to improve their performance without almost any effort from the code developer. These problems may be of different nature: a non-scalable algorithm, a bad implementation or, the most usual, a mixture of these two cases [6], not being always obvious in which of these situations a model is This is not the first work that tries to address computational problems with the parallel implementations of ESMs. Some illustrative examples could be [12], where a low-resolution climate model is analysed and major code modifications are proposed in order to increase the performance on a specific machine, and [6], where the different components of the Community Climate System Model are stress tested to find scalability issues.

The methodology
Step 1
Step 2
Step 3
Case study
About NEMO
Configurations
Environment
Analysis and results
Analysis
Further exploration and optimizations
Findings
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call