Plan packed chunking for a fixed-size SLURM cluster
slurm_cluster_plan.RdParade cannot (yet) provide a true "SLURM pool" that behaves like a single
machine with nodes * cpus_per_node cores. However, you can get close today
by using packed jobs (slurm_map(.packed = TRUE, ...)) and choosing a chunk
size that yields a reasonable number of SLURM jobs.
Arguments
- n_tasks
Integer; number of tasks you will map over.
- nodes
Integer; number of nodes you expect SLURM to run concurrently (e.g., 10).
- cpus_per_node
Integer; cores per node (e.g., 196).
- oversubscribe
Integer; how many jobs to queue per concurrently usable node. Using
oversubscribe > 1helps mitigate stragglers for heterogeneous task durations (SLURM will start the next job as nodes free up).- nodes_per_job
Integer; number of nodes each packed job requests. Defaults to 1.