What’s going on in my program ?

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

This is where MPI comes in ! It’s set functions that pass data from a task (a process that run on a CPU) to another (Open MPI is one if its implementation)

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 :

Figure 1 : Example of dashboard

What’s next ?

Eventually I need to add a bunch of features in the Grafana dashboard to be more user-friendly and complete

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.