Scalable numerical modelling patterns for the cloud
IPGP - Îlot Cuvier
Séminaire de sismologie, de géosciences marines et de géophysique d'exploration
Schlumberger Cambridge Research
What are the challenges involved in deploying large-scale numerical modelling on the cloud? And why do I have to spend so much time waiting for my computer to respond when its processor is capable of over a billion operations per second? The answers to these questions are more closely connected than you might imagine. Most programs today are performance limited by complex wait cycles which magnify small system delays until they dominate the overall runtime. This becomes more extreme in a high-latency network environment such as the cloud. The ready availability of cloud computing resources presents opportunities for rapid, even interactive turnaround in large numerical modelling tasks. However, it is only feasible for algorithms that scale well over large computing clusters. Achieving linear scaling for algorithms such as coupled numerical modelling problems is challenging. Improved scaling is possible by moving away from conventional synchronised approaches typical in Message Passing Interface (MPI) programming and moving to a fully-asynchronous approach such as actor-based programming. This has been tested successfully on a finite-difference elastic modelling system where the greater flexibility in the order of computation and more even spreading of communication in time allow near linear scalability in cloud deployment.