"The time has come, the Walrus said, to talk of many things."
Lewis Carroll got it right. Microservices architectures deliver on many of the promises that additive software design originally proposed for object-oriented programming with the same loose-coupling benefits from messaging middleware. In the HPC community however, monolithic software architectures still reign supreme. While we do not argue that a highly optimized central code will deliver amazing performance, we do contend that modern supercomputers make accurately programming these sorts of applications difficult.
We think the time has come to reset the clock. Rather than measure the performance of a "run", we think the right time measurement for software development is from the time the idea forms until the computer starts producing answers to your question. This talk is a roadmap on how to bring microservices architectures to bear on traditional HPC problems, with an eye towards availability, resiliency, and performance as equal requirements on the system design.
You can watch the original here: https://insidehpc.com/2018/02/high-availability-hpc-microservice-architectures-supercomputing/