About
clustermq
is a R package allows you to send function calls as jobs on a computing backend with a minimal interface. It uses the zeromq messaging library. The function calls are sent to the backend via the so-called Q
function.
clustermq
supports three types of compute backends
- HPC clusters (e.g. SLURM, LSF, GridEngine, …)
- SSH connector
- local execution via
multicore
ormultisession
All the logic needed to interface with the respective compute backend is hidden in templates that are pre-installed with the package. On a given environment such templates can be adjusted at install time by the admin. If needed, the users still can bring their own templates as needed.
For the most part the user only needs to specify the resource requirements (unless he/she wants to go with the defaults) and clustermq will take care of converting the required workload into a job, an ssh connection or simply run locally.
Additionally a large benefit that helps with the speed and efficiency of clustermq
is the fact that everything is handled in-memory, i.e. no additional overhead from disk I/O.
Due to clustermq
dependency on the zeromq
library, zeromq
is an operating system requirement.