Это старая версия документа!
Nextflow
Docker
Варианты работы:
Dockerfile
Dockerfile ```yaml
FROM debian:bullseye-slim
LABEL image.author.name "Your Name Here" LABEL image.author.email "your@email.here"
RUN apt-get update && apt-get install -y curl cowsay ````
```bash docker build -t my-image . docker run my-image cowsay Hello Docker! docker run -it my-image bash ```
```bash nextflow run script2.nf -with-docker my-image ```
nextflow.config ``` ```
Singularity/Apptainer
Singularity/Apptainer — это среда выполнения контейнера, предназначенная для работы в высокопроизводительных вычислительных центрах обработки данных, где использование Docker, как правило, не допускается из-за ограничений безопасности.
Singularity реализует модель выполнения контейнера, похожую на Docker. Однако она использует совершенно другой дизайн реализации.
``` Bootstrap: docker From: debian:bullseye-slim
%environment export PATH=$PATH:/usr/games/
%labels AUTHOR <your name>
%post
apt-get update && apt-get install -y locales-all curl cowsay curl -sSL https://github.com/COMBINE-lab/salmon/releases/download/v1.0.0/salmon-1.0.0_linux_x86_64.tar.gz | tar xz \ && mv /salmon-*/bin/* /usr/bin/ \ && mv /salmon-*/lib/* /usr/lib/ ```
```bash $ sudo singularity build my-image.sif Singularity $ singularity exec my-image.sif cowsay 'Hello Singularity' $ singularity shell my-image.sif ```
Docker Swarm
Отсутствует поддержка в Nextflow
Kubernetes
```bash
```
Slurm
Slurm — это отказоустойчивая и высокомасштабируемая система управления кластером и планирования заданий с открытым исходным кодом для больших и малых кластеров Linux. Slurm не требует никаких изменений ядра для своей работы и является относительно самодостаточной. Как менеджер рабочей нагрузки кластера, Slurm имеет три ключевые функции. Во-первых, он выделяет пользователям эксклюзивный и/или неэксклюзивный доступ к ресурсам (вычислительным узлам) на определенный период времени, чтобы они могли выполнять работу. Во-вторых, он предоставляет фреймворк для запуска, выполнения и мониторинга работы (обычно параллельной работы) на наборе выделенных узлов. Наконец, он разрешает конфликты за ресурсы, управляя очередью ожидающих работ.
Демоны slurmd обеспечивают отказоустойчивую иерархическую связь. Пользовательские команды включают: sacct , sacctmgr , salloc , sattach , sbatch , sbcast , scancel , scontrol , scrontab , sdiag , sh5util , sinfo , sprio , squeue , sreport , srun , sshare , sstat , strigger и sview . Все команды могут выполняться в любом месте кластера.
* CharlieCloud и Singularity больше подходят для использования контейнеров в системе HPC с отдельным контроллером заданий (обычно Slurm) и устранения проблем безопасности в Docker в общей системе.
```bash
```
OAR
OAR — это универсальный менеджер ресурсов и задач (также называемый пакетным планировщиком) для кластеров HPC и других вычислительных инфраструктур (например, экспериментальных испытательных стендов распределенных вычислений, где универсальность является ключевым фактором).
```bash
```
HyperQueue
HyperQueue — это инструмент, разработанный для упрощения выполнения больших рабочих процессов (графов задач) на кластерах HPC. Он позволяет выполнять большое количество задач простым способом, без необходимости вручную отправлять задания в пакетные планировщики, такие как Slurm или PBS. Вы указываете, что именно вы хотите вычислить, а HyperQueue автоматически запрашивает вычислительные ресурсы и динамически распределяет нагрузку задач по всем выделенным узлам и ресурсам. HyperQueue также может работать без Slurm/PBS как общий распределенный механизм выполнения задач.
```bash
```
HTCondor
HTCondor — это программная система, которая создает среду высокопроизводительных вычислений (HTC). Она эффективно использует вычислительную мощность машин, подключенных через сеть, будь то отдельный кластер, набор кластеров в кампусе, облачные ресурсы, как автономные, так и временно присоединенные к локальному кластеру, или международные сети. Мощь исходит из способности эффективно использовать общие ресурсы с распределенным владением.
```bash
```
Flux
Flux — это гибкая структура для управления ресурсами, созданная для вашего сайта. Структура состоит из набора проектов, инструментов и библиотек, которые могут использоваться для создания настраиваемых менеджеров ресурсов для центров высокопроизводительных вычислений. В отличие от традиционных менеджеров ресурсов, Flux может работать как параллельное задание в большинстве пусковых установок, поддерживающих MPI, в том числе в самом Flux. Это не только делает пакетные скрипты и рабочие процессы для Flux переносимыми на другие менеджеры ресурсов (просто запустите Flux как задание), но также означает, что пакетные задания имеют в своем распоряжении все функции полного менеджера ресурсов, как будто у них есть целый кластер.
```bash
```
Bridge
```bash
```