JuPin

Pinning verification and visualisation tool

This documentation is work in progress

Pinning Visualisation Tool for JSC HPC systems: https://apps.fz-juelich.de/jsc/llview/pinning/

Link to GitHub Repo: https://github.com/FZJ-JSC/jupin

JuPin is a set of tools for process pinning/affinity on High Performance Computers (HPC) consisting of two interrelated components:

  1. A web-based visualisation
  2. Automatic verification

The web-based visualisation is aimed at the users of an HPC as it shows the actual mapping of application tasks and threads to the hardware threads of the selected system based on configurable options. The mapping is done by re-implementing the actual behaviour on the HPC system in Javascript, so it can work in a web browser without accessing the HPC system itself. For this reason, users can play with the various options in the web interface to get an idea of what will happen on the HPC when they run jobs with these options.
The automatic verification component, on the other hand, has two functions that help JuPin tool developers and HPC system providers. It is used to compare the re-implemented pinning mapping with the actual pinning on the HPC systems by executing an extended version of a hybrid C++ MPI-OpenMP-Helloworld program via a GitLab CI pipeline. This functionality guarantees the correctness of the reimplementation shown in the visualisation feature, and can also be used to compare with new versions of the workload manager, e.g. on a test system, to see if anything has changed. This helps the HPC centre to update its documentation accordingly and to provide proactive user support.
JuPin is being actively developed by the Jülich Supercomputing Centre (JSC) and is targeted at their current Slurm-managed HPC systems, but can also be configured and adapted to other system architectures and workload managers.

Last Modified: 18.05.2025