What’s going on in my program ?
Computer programs usually runs on a single core on a processor (CPU).
But in order to run physics simulation and some others big computations programs in a reasonable time we have to use many cores simultaneously on a supercomputers.
However it requires to do some synchronization between each cores.
Collect data from MPI Programs
In order to intercept those MPI function calls there is the Countdown library that can collect data from those.
The goal of the library is to reduce de CPU frequency during those synchronisation time to reduce the energy consumption of such parallel program and it also collects data every seconds.
Visualization in Grafana
After understanding how Countdown works, I added all the data that needs to be sent from Countdown to the database using the MQTT protocol. Then it is possible to visualize the data in Grafana (an interactive visualization web application) by adding some plots :
What’s next ?
Eventually I need to add a bunch of features in the Grafana dashboard to be more user-friendly and complete