dlb
dynamic load balancing library and tools for HPC parallel applications
TLDR
SYNOPSIS
dlb_taskset [options] [--] [command]
DESCRIPTION
DLB (Dynamic Load Balancing) is a library that dynamically redistributes computational resources among processes within the same shared memory node. It improves load balance of the outer level of parallelism (e.g., MPI) by adjusting resources at the inner level (e.g., OpenMP).DLB provides three main components: LeWI (Lend When Idle) redistributes unused CPUs between processes, DROM (Dynamic Resource Ownership Manager) manages CPU affinity, and TALP (Tracking Application Live Performance) gathers performance data.The dlb_taskset command-line tool manages CPU affinity of DLB-enabled processes and can launch new applications with specific CPU assignments.
PARAMETERS
--list
List CPU affinity of all DLB processes.--set MASK
Set CPU affinity mask for a process.--pid PID
Specify process ID to operate on.--borrow
Borrow CPUs instead of stealing; CPUs are returned when the application ends.--color WHEN
Colorize output (yes, auto, no).--help
Display help information.
CAVEATS
Requires DLB-enabled applications linked against the DLB library. Best suited for iterative HPC applications with varying workloads. Processes must run on the same shared memory node.
HISTORY
DLB was developed at the Barcelona Supercomputing Center (BSC) for high-performance computing applications. It is distributed under the LGPL-3.0 license.
