Skip to content
Snippets Groups Projects
Commit 05a3b6dc authored by Alberto Miranda's avatar Alberto Miranda :hotsprings:
Browse files

plugins/slurm: Add README.md for Slurm plugin

parent 755774a8
No related branches found
No related tags found
1 merge request!95Resolve "Add Slurm CLI plugin"
# Slurm plugin
This directory contains a Slurm plugin that enables the use of the
Scord storage coordination service in Slurm jobs. The plugin consists
of a shared object (`libslurmadmcli.so`) that is loaded by Slurm's plugin
system and extends Slurm's functionalities.
The `libslurmadmcli.so` shared library is a Slurm SPANK¹ plugin that extends
Slurm's command line arguments to allow users to provide information for
`scord`, serving as a simple interface between Slurm itself and the Scord
storage coordination service².
## Installation
The plugin is written in C and requires the Slurm and the Scord C
libraries to be compiled. It also requires access to the Slurm
`spank.h` header. The plugin is compiled as a shared object that is
loaded by Slurm's plugin system.
Scord's build system can be used to compile the plugin. The following
command will compile the plugin:
```bash
$ make slurm-plugin
```
Once the shared object is compiled, it only needs to be copied
somewhere the Slurm plugin system can pick it up. For example, if
`libslurmadmcli.so` is installed in `/usr/local/lib/`, the following line
should be added to the Slurm plugin configuration file (usually
`/etc/slurm/plugstack.conf`)
```conf
optional /usr/local/lib/libslurmadmcli.so scord_addr=ofi+tcp://127.0.0.1:52000 scord_proto=ofi+tcp://127.0.0.1 scordctl_bin=scord-ctl
```
The key-value pairs following the plugin are optional configuration
variables.
- `scord_addr`: The address to contact the Scord service in Mercury format
(default to ofi+tcp://127.0.0.1:52000)
- `scord_proto`: The transport protocol to use in Mercury format (default
to ofi+tcp).
- `scordctl_bin`: The scord-ctl binary to run on every node of an
allocation, can be the path to an executable (default to scord-ctl).
## References
1. See manual page spank(7) and <slurm/spank.h>
2. See https://storage.bsc.es/gitlab/eu/admire/io-scheduler
# LIBSLURMADMCLI
libslurmadmcli is a Slurm SPANK¹ plugin handling the ADMIRE adhoc
storage CLI. It is a simple interface between Slurm and the Scord
storage coordination service².
# INSTALLATION
See ../Makefile for details on how to compile libslurmadmcli.so. Note
that it only depends on the Slurm and the Scord C libraries, and
access to the slurm/spank.h header.
Once the shared object is compiled, it only needs to be moved
somewhere the Slurm plugin system can pick it up. For example, if
libslurmadmcli.so is installed in /usr/local/lib/, the following line
can be added to the Slurm plugin configuration file (usually
/etc/slurm/plugstack.conf)
optional /usr/local/lib/libslurmadmcli.so scord_addr=ofi+tcp://127.0.0.1:52000 scord_proto=ofi+tcp://127.0.0.1 scordctl_bin=scord-ctl
The key-value pairs following the plugin are optional configuration
variables.
- scord_addr: The address to contact the Scord service in Mercury format
(default to ofi+tcp://127.0.0.1:52000)
- scord_proto: The transport protocol to use in Mercury format (default
to ofi+tcp).
- scordctl_bin: The scord-ctl binary to run on every node of an
allocation, can be the path to an executable (default to scord-ctl).
# REFERENCES
1. See manual page spank(7) and <slurm/spank.h>
2. See https://storage.bsc.es/gitlab/eu/admire/io-scheduler
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment