Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius
Els oceans juguen un paper molt important modulant la temperatura de la Terra absorbint, emmagatzemant i transportant l'energia que ens arriba del sol. Entendre millor la dinàmica dels oceans pot ajudar a millorar les prediccions meteorològiques i a comprendre millor el clima, qüestions d'especial rellevància per la societat. Utilitzant ordinadors ha sigut possible resoldre numèricament les equacions que descriuen la dinàmica dels oceans, i millorant com els models oceànics exploten els recursos computacionals, podem reduir el cost de les simulacions alhora que fem possibles nous desenvolupaments que milloraràn la qualitat científica dels models. Enfrontant els reptes computacionals de la simulació oceànica podem contribuir en camps que tenen un impacte directe en la societat mentre reduïm el cost dels experiments. Per ser un dels principals models oceànics, la tesis s'ha centrat en el model NEMO. Per tal de millorar el rendiment dels models oceànics, un dels objectius inicials va ser entendre millor el seu comportament computacional. Per aconseguir-ho, es va proposar una metodologia d'anàlisis, posant especial atenció en les comunicacions entre processos. Utilitzada amb NEMO, va ajudar a resaltar diverses ineficiències en la implementació que, un cop sol·lucionades, van portar a una millora del 46-49% en la velocitat màxima del model, tot millorant la seva escalabilitat. Aquest resultat ilustra que aquest tipus d'anàlisis poden ajudar als desenvolupadors dels models a adaptar-los tot mostrant l'origen dels problemes que pateixen. Un altre dels problemes detectats va ser que l'impacte d'escollir una descomposició de domini concreta estava molt subestimat, ja que en certes circumstàncies el model triava una descomposició sub-optima. Tenint en compte els factors que fan que una descomposició concreta afecti el rendiment del model, es va proposar un mètode per fer una selecció òptima. Els resultats mostren que parant atenció a la descomposició no només es poden estalviar recursos sinó que la velocitat màxima del model també se'n beneficia, arribant al 41% de millora en alguns casos. Després dels èxits aconseguits en la primera part de la tesis, arribant a doblar la velocitat màxima del model, l'atenció es va posar sobre els algoritmes de precisió mixta. Idealment, un ús adequat de la precisió numèrica ha de permetre millorar el rendiment d'un model sense perjudicar-ne els resultats. Per tal d'aconseguir-ho en models oceànics, es va desenvolupar un mètode que permet determinar quina és la precisió necessària en cada una de las variables d'un codi informàtic. Utilitzat amb NEMO i ROMS va resultar que en ambdós models la major part de les variables pot utilitzar sense problema menys precisió que els 64-bits habituals, mostrant que potencialment els models oceànics es poden beneficiar molt d'una reducció de la precisió numèrica. Finalment, durant el desenvolupament de la tesi es va observar que degut a la no-linealitat dels models oceànics, determinar si un canvi en el codi informàtic perjudica la qualitat dels resultats esdevé molt complicat. Per solucionar-ho, es va presentar un mètode per verificar els resultats de models no-lineals. Encara que les contribucions que donen forma a aquesta tesis han sigut diverses, conjuntament han ajudat a identificar i combatre els reptes computacionals que afecten els models oceànics. Aquestes contribucions no només han resultat en quatre publicacions sinó que també han resultat en la contribució al codi informàtic de NEMO i del consorci EC-Earth. Per tant, els resultat de la recerca realitzada ja estan tenint un impacte positiu en la comunitat, ajudant als usuaris dels models a estalviar recursos i temps. A més a més, aquestes contribucions no només han ajudat a millorar significativament el rendiment computacional de NEMO sinó que han sobrepassat l'objectiu inicial de la tesis i poden ser transferibles a altres models computacionals.
The ocean plays a very important role in modulating the temperature of the Earth through absorbing, storing and transporting the energy that arrives from the sun. Better understanding the dynamics of the ocean can help us to better predict the weather and to better comprehend the climate, two topics of special relevance for society. Ocean models had become an extremely useful tools, as they became a framework upon with it was possible to build knowledge. Using computers it became possible to numerically solve the fluid equations of the ocean and by improving how ocean models exploit the computational resources, we can reduce the cost of simulation whilst enabling new developments that will increase its skill. By facing the computational challenges of ocean simulation we can contribute to topics that have a direct impact on society whilst helping to reduce the cost of our experiments. Being the major European ocean model and one of the main state-of-the-art ocean models worldwide, this thesis has focused on the Nucleus NEMO. To find a way to improve the computational performance of ocean models, one of the initial goals was to better understand their computational behaviour. To do so, an analysis methodology was proposed, paying special attention to inter-process communication. Used with NEMO, the methodology helped to highlight several implementation inefficiencies, whose optimization led to a 46-49\% gain in the maximum model throughput, increasing the scalability of the model. This result illustrated that this kind of analysis can significantly help model developers to adapt their code highlighting where the problems really are. Another of the issues detected was that the impact of the domain decomposition was alarmingly underestimated, since in certain circumstances the model's algorithm was selecting a sub-optimal decomposition. Taking into account the factors that make a specific decomposition impact the performance, a method to select an optimal decomposition was proposed. The results showed that that by a wise selection of the domain decomposition it was possible not only to save resources but also to increase the maximum model throughput by a 41\% in some cases. After the successes achieved during the first part of the thesis, that allowed an increase of the maximum throughput of the model by a factor of more than two, the attention focused on mixed-precision algorithms. Ideally, a proper usage of numerical precision would allow to improve the computational performance without sacrificing accuracy. In order to achieve that in ocean models, a method to find out the precision required for each one of the real variables in a code was presented. The method was used with NEMO and with the Regional Ocean Modelling System showing that in both models most of the variables could use less than the standard 64-bit without problems. Last but not least, it was found that being ocean models nonlinear it was not straightforward to determine whether a change made into the code was deteriorating the accuracy of the model or not. In order to solve this problem a method to verify the accuracy of a non-linear model was presented. Although the different contributions that gave form to this thesis have been diverse, they helped to identify and tackle computational challenges that affect computational ocean models. These contributions resulted in four peer-reviewed publications and many outreach activities. Moreover, the research outcomes have reached NEMO and EC-Earth consortium codes, having already helped model users to save resources and time. These contributions not only have significantly improved the computational performance of the NEMO model but have surpassed the original scope of the thesis and would be easily transferable to other computational models.
Model oceànic; Modelo oceánico; Oceanic model; Computació d'altes prestacions; Computación de altas prestaciones; High performance computing; Paral·lelisme; Paralelismo; Parallelism
004 - Computer science
Tecnologies