奇点和码头工人容器

概述

奇点是开源的集装箱化软件,可用于码头工人的玛蒂尔达作为一个潜在的替代品。而码头工人利用守护进程(服务)作为根用户运行在后台,是不安全的,奇点独立运行在客户端模式下,被HPC环境像玛蒂尔达。本文档提供了一个简短的概述如何使用码头工人图像与奇点在玛蒂尔达,与几个例子。

码头工人在奇点的形象

许多开源软件的开发者提供码头工人他们的应用程序的容器。这些是特别受管道分析和仿真系统。在许多情况下,可以简单地把一个码头工人容器和直接运行它在奇点,没有码头工人。

一个例子是应用程序的管道“深变体”玛蒂尔达(也可用)。创建和运行码头工人形象在奇点(创建一个* .sif)文件中,一个只需要:

模块加载奇点奇点拉码头工人:/ /谷歌/ deepvariant:“1.5.0”

在这种情况下,我们只是负载奇点modulefile和拉码头工人的形象。这将创建一个文件名为“deepvariant_1.5.0奇点。sif”,然后可以运行标准奇点命令和文件挂载点。例如:

奇点- b /usr/lib/locale/:运行/ usr / lib /地区/ - b /划痕/用户/ someuser: (pwd) DV_HOME / deepvariant美元。sif / opt / deepvariant / bin / run_deepvariant——model_type = WGS \- - - ref = quickstart-testdata / ucsc.hg19.chr20.unittest。fasta——读= quickstart-testdata / NA12878_S1.chr20.10_10p1mb。砰——区域\“chr20:10,000,000 - 10010000”——output_vcf = quickstart-output / output.vcf。广州——output_gvcf = quickstart-output / output.g.vcf。广州——num_shards = 1

虽然这KB并不打算提供一个奇点用法的详细解释,为了清楚起见,上面的命令映射外部:内部挂载点(- b旗表示)。这里,目录“/划痕/用户/ someuser”(外部文件系统)映射到“$ (pwd)”- the internal (i.e. within the Singularity container) run directory (known in Docker as an "entry point".

建立一个奇点从码头工人形象

虽然不可能直接建立一个奇点的形象从一个码头工人容器,可以由第一个生成(并根据需要修改)”定义文件(* . def)码头工人的容器。此外,如果一个定义文件是可用的,可以创建一个奇点形象。例如,如果你有一个Dockerfile可以创建一个奇点定义文件的“翻译”Dockerfile以匹配您的系统特征。虽然不是一个食谱的方法这样做,这样的翻译可能只是改变“apt-get安装”(Ubuntu系统)“yum安装”(RedHat系统)。然而你会被限制,如果你没有根,并试图安装包需要root特权的地方。

一旦你有了一个定义文件,一个奇点图像可以使用以下:

模块加载奇点构建mysingularity奇点。sif mysingularity.def

运行一个奇点容器在玛蒂尔达

交互式地

使用奇点是一个明显的方式启动交互式工作的一个节点,负载奇点,容器,然后运行。例如:

srun - n - n 1 - - - - - - - t 4:00:00——企业/bin/bash模块加载奇点奇点....运行

这显然最适合的容器被设计成互动对输入和输出。但也可以用于run-and-forget场景,尽管批处理模式可能更有效率如下讨论。

作为一个批处理作业

简单地创建一个工作所需的资源请求,脚本加载奇点modulefile,和奇点命令所需的执行(粘资源管理器可以容纳很多奇点运行):

# #示例批处理文件# ! / bin / bash# SBATCH - n 1# SBATCH——ntasks = 10# = 4:00:00 SBATCH——时间模块加载奇点奇点....运行

更多的信息


CategoryHPC