Marketplace SLURM Partitions and Software Catalogs
This guide covers SLURM partition configuration and their integration with software catalogs in Waldur's marketplace.
Overview
SLURM partitions represent compute partitions in a cluster that can be associated with marketplace offerings. They define resource limits, scheduling policies, access controls, and optionally link to software catalogs for partition-specific software availability.
SLURM Partition Model
The OfferingPartition model maps closely to SLURM's partition_info_t struct and includes comprehensive configuration options for HPC environments.
Partition Parameters
CPU Configuration
cpu_bind: Default task binding policy (SLURM cpu_bind)def_cpu_per_gpu: Default CPUs allocated per GPUmax_cpus_per_node: Maximum allocated CPUs per nodemax_cpus_per_socket: Maximum allocated CPUs per socket
Memory Configuration (in MB)
def_mem_per_cpu: Default memory per CPUdef_mem_per_gpu: Default memory per GPUdef_mem_per_node: Default memory per nodemax_mem_per_cpu: Maximum memory per CPUmax_mem_per_node: Maximum memory per node
Time Limits
default_time: Default time limit in minutesmax_time: Maximum time limit in minutesgrace_time: Preemption grace time in seconds
Node Configuration
max_nodes: Maximum nodes per jobmin_nodes: Minimum nodes per jobexclusive_topo: Exclusive topology access requiredexclusive_user: Exclusive user access required
Scheduling Configuration
priority_tier: Priority tier for scheduling and preemptionqos: Quality of Service (QOS) namereq_resv: Require reservation for job allocation
Partition Management API
Available Endpoints
Partition management is handled through offering actions, similar to software catalog management:
add_partition: Add a new partition to an offeringupdate_partition: Update partition configurationremove_partition: Remove a partition from an offering
Add Partition to Offering
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Update Partition Configuration
1 2 3 4 5 6 7 8 9 | |
Remove Partition from Offering
1 2 3 4 5 6 7 | |
Partition Software Catalog Associations
Software catalogs can be optionally associated with specific partitions through the partition field in OfferingSoftwareCatalog. This enables partition-specific software availability, allowing different partitions to expose different software sets.
Associating Software Catalogs with Partitions
1 2 3 4 5 6 7 8 9 10 | |
Use Cases for Partition-Specific Software
- Architecture-Specific Partitions: GPU partitions with CUDA libraries, ARM partitions with ARM-optimized software
- License Management: Commercial software available only on specific partitions
- Performance Optimization: Different optimized builds for different hardware configurations
- Access Control: Research groups with access to specialized software on designated partitions
Example Workflow
Here's a complete example of setting up a GPU partition with specialized software:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Integration Considerations
SLURM Configuration Mapping
When configuring OfferingPartition models, ensure the parameters align with your actual SLURM cluster configuration:
- Resource Limits: Set realistic limits that match hardware capabilities
- QOS Integration: Ensure QOS names match those defined in SLURM
- Time Limits: Align with cluster policies and user expectations
- Architecture Targeting: Match CPU families/microarchitectures with actual hardware
Software Catalog Strategy
Consider these approaches when associating software catalogs with partitions:
- Global Catalog: Single catalog available across all partitions
- Partition-Specific: Different catalogs for different partition types
- Hybrid Approach: Base catalog globally + specialized catalogs per partition
Permissions
Partition Management (Offering Managers)
- OfferingPartition: Offering managers can create/modify SLURM partition configurations through offering actions
- Requires
UPDATE_OFFERINGpermission on the offering
Software Catalog Association (Offering Managers)
- OfferingSoftwareCatalog: Offering managers can associate catalogs with partitions through offering actions
- Must have
UPDATE_OFFERINGpermission on the offering
Related Documentation
- Marketplace Software Catalogs - Main software catalog documentation