Computational integrations¶
On top of exposing a web API, a Fractal instance must be integrated to at least one computational resource which is used mainly for two goals:
- Setting up Python environments for task groups - see more details.
- Executing scientific tasks - see more details.
Supported integrations¶
The configuration variable FRACTAL_RUNNER_BACKEND determines which one of the three following modality is in-place:
-
In a local instance, every computational operation (setting up task environments and executing tasks) is run by the machine user who is running
fractal-server, and the instance typically only has a single user. Note: this integration is mostly supported for testing and development. -
A SLURM/sudo instance requires access to a SLURM cluster, with some additional assumptions - notably:
- The user that runs
fractal-serveralso needs sufficient permissions to impersonate other users for running jobs (e.g. viasudo -u some-user sbatch /some/submission-script.sh); - There must be a shared filesystem which both the user running
fractal-serverand other users have access to.
- The user that runs
-
A SLURM/SSH instance requires access to a SLURM cluster through SSH, by impersonating one or several service users.
The specific configuration for each computational resource is defined in the Resource database table, with the following creation schemas:
For each resource, there may be one or many computational profiles, with the following creation schemas:
Here are some minimal examples of how to configure resources and profiles in the three different cases:
--8← "docs/assets/resource_and_profile/snippet.md"