File job_scheduler.h

Parent directory (job_management)

Job scheduler detection and resource management for HPC environments.

Definition (job_management/job_scheduler.h)

Detailed Description

Le Nhan Pham

2025

This header provides comprehensive job scheduler detection and resource management for High Performance Computing (HPC) environments. It automatically detects the active job scheduler, extracts resource allocation information, and provides safe resource usage calculations that respect cluster limits.

Schedulers

The system supports detection and resource extraction for:

  • SLURM (Simple Linux Utility for Resource Management)

  • PBS/Torque (Portable Batch System)

  • SGE/OGS (Sun Grid Engine / Open Grid Scheduler)

  • LSF (IBM Load Sharing Facility)

  • Generic cluster detection for unknown schedulers

Management

Key features include:

  • Automatic detection of allocated CPUs and memory

  • Safe resource limit calculations to prevent oversubscription

  • Integration with application threading and memory management

  • Environment variable parsing for all major schedulers

  • Validation and safety checks for resource requests

Integration

The job scheduler system integrates with:

  • Multi-threading systems for safe CPU allocation

  • Memory management systems for memory limit enforcement

  • Configuration systems for default resource preferences

  • Error reporting for resource allocation issues

Includes

  • algorithm

  • cstdlib

  • functional

  • string

Included By

Classes

Enums