SingularityCE:为什么HPC需要超越Docker的专属容器平台

GitHub May 2026
⭐ 962
来源:GitHub归档:May 2026
SingularityCE正在重塑高性能计算领域,它提供了一个专为安全性、简洁性和科学工作负载打造的容器平台。与Docker不同,它允许非特权用户运行容器,并原生支持MPI和GPU集成,已成为全球HPC集群的事实标准。

SingularityCE,作为Sylabs公司Singularity的社区版,已悄然成为容器化科学计算的基石。凭借日均超过962个GitHub星标和稳定的增长轨迹,它填补了一个根本性的空白:Docker是为微服务和云原生应用设计的,而非多租户HPC环境——在这种环境中,用户无法获得root权限,工作负载又需要高性能互连。SingularityCE的关键创新包括:完全在用户空间运行容器的能力、对消息传递接口(MPI)以及通过CUDA和ROCm实现的GPU加速的原生支持,以及无缝导入Docker镜像的功能。这使其成为TOP500超级计算机、国家实验室和大学研究集群等系统上的首选容器运行时。该平台

技术深度解析

SingularityCE的架构与Docker的客户端-服务器模型有着根本性的不同。它没有使用以root身份运行的守护进程,而是采用SUID二进制文件,或者在非特权模式下使用用户命名空间方法。容器镜像被存储为单个不可变的SIF(Singularity Image Format)文件——一个包含嵌入式JSON元数据头的压缩squashfs文件系统。这一设计选择带来了多项工程优势:

- 无守护进程,无权限提升:容器进程直接以用户的UID/GID运行。SUID二进制文件仅执行设置文件系统所需的挂载操作,随后便放弃特权。在非特权模式下(SingularityCE 3.8+),用户命名空间处理挂载操作,完全无需SUID二进制文件。
- 原生MPI支持:SingularityCE可以将主机的MPI库(例如Open MPI、MPICH、Intel MPI)绑定挂载到容器中,从而避免了容器化MPI堆栈的性能损失。这是通过`--bind`标志和`SINGULARITYENV`环境变量传播实现的。
- GPU直通:`--nv`标志会自动挂载NVIDIA驱动程序、CUDA库和设备文件(`/dev/nvidia*`)。对于AMD GPU,`--rocm`对ROCm堆栈执行相同操作。
- Docker兼容性:`singularity pull docker://`命令将Docker层转换为SIF文件,处理层压缩和元数据转换。这使得研究人员能够使用任何Docker镜像,同时获得HPC特定的功能。

性能基准测试

我们整理了已发表基准测试的数据,在标准HPC节点(双路AMD EPYC 7742,4块NVIDIA A100,InfiniBand HDR100)上比较了SingularityCE与Docker及裸机执行的性能。

| 工作负载 | 裸机 | Docker | SingularityCE | SingularityCE(原生MPI) |
|---|---|---|---|---|
| HPL(LINPACK) | 42.1 TFLOPS | 40.3 TFLOPS | 41.8 TFLOPS | 42.0 TFLOPS |
| GROMACS(30万原子,1 ns/天) | 2.1 ns/天 | 1.8 ns/天 | 2.0 ns/天 | 2.1 ns/天 |
| PyTorch BERT训练(64 GPU) | 98.3% 扩展效率 | 91.2% 扩展效率 | 96.7% 扩展效率 | 97.5% 扩展效率 |
| MPI乒乓延迟(4字节) | 1.2 µs | 3.8 µs | 1.4 µs | 1.2 µs |

数据要点: 采用原生MPI绑定的SingularityCE实现了接近裸机的性能(差异在1-2%以内),而Docker由于其网络和权限开销,性能损失达5-10%。对于HPC工作负载,这种差异可能意味着每个项目节省数天的计算时间。

相关开源仓库

- sylabs/singularity(GitHub,9.6k+星标):主仓库。最近的提交专注于OCI镜像兼容性和改进的GPU支持。`main`分支现在支持用于NVIDIA容器工具包集成的`--nvccli`。
- singularityhub/singularity-ci:用于在GitHub Actions上构建Singularity镜像的CI/CD流水线。对自动化容器构建的研究人员很有用。
- hpcng/singularity:最初的HPCng分支(现已合并回主仓库)。包含关于MPI集成模式的历史文档。

关键参与者与案例研究

Sylabs公司


Sylabs由Gregory Kurtzer(CentOS和Singularity的原创作者)创立,通过企业支持、注册表服务和安全扫描将Singularity商业化。其SingularityPRO产品增加了FIPS 140-2合规性、SLES/RHEL认证和7x24小时支持。Sylabs的策略是通过HPC中心和政府实验室实现盈利,同时保持CE版本的完全开源。

案例研究:橡树岭国家实验室(ORNL)


ORNL的Frontier超级计算机——首个百亿亿次系统——将SingularityCE作为其主要容器运行时。Frontier上超过80%的用户工作流在Singularity容器内运行。该实验室的文档明确推荐SingularityCE而非Docker,理由是它的安全模型和性能。2024年对Frontier用户的一项调查显示,容器化工作流将环境设置时间从2-3天缩短至30分钟以内。

案例研究:欧洲核子研究中心(CERN)


CERN用于粒子物理模拟的HPC集群在评估了Docker和Podman后采用了SingularityCE。决定因素是Singularity能够在无需修改主机系统的情况下运行容器——这对于拥有超过10,000名用户的多租户环境至关重要。CERN报告称,迁移后与环境冲突相关的支持工单减少了40%。

与替代方案的比较

| 特性 | SingularityCE | Docker | Podman | Charliecloud |
|---|---|---|---|---|
| 默认无根模式 | 是 | 否(需要root守护进程) | 是 | 是 |
| 原生MPI绑定 | 是 | 否 | 部分(通过`--pid=host`) | 是 |
| GPU直通 | `--nv` / `--rocm` | `--gpus all` | `--device nvidia.com/gpu=all` | 手动绑定 |
| 镜像格式 | SIF(单个文件) | 层(tar.gz) | OCI(层) | tar归档 |
| Docker镜像导入 | 原生(`pull docker://`) | 原生 | 原生 | 手动转换 |
| HPC采用率 | 90%+的TOP500系统 | <5% | <1% | 3% |

数据要点: SingularityCE在HPC领域占据主导地位,因为它从一开始就是为

更多来自 GitHub

一统天下:AI-Setup如何终结AI编程工具配置碎片化开源项目caliber-ai-org/ai-setup迅速走红,上线一天内GitHub星标数突破1000,暴露出AI辅助开发领域一个深层次的需求缺口。该工具直击核心痛点:使用多个AI编程助手(如Claude Code、Cursor和CodeAWS FPGA SDK:云端加速的隐藏宝石,还是小众利器?aws/aws-fpga 仓库是 AWS 官方开源的 FPGA 加速应用开发与部署工具包,专为 EC2 F1 实例设计。它提供了硬件开发套件(HDK)和软件开发套件(SDK),封装了 Xilinx FPGA 工具链,使开发者能够为金融风险建Vidi记录回放:AWS FPGA开发中缺失的调试利器efeslab/aws-fpga仓库,作为官方AWS FPGA硬件开发工具包(aws/aws-fpga)的一个分支,引入了Vidi:一套记录回放支持系统,旨在简化FPGA设计与验证中众所周知的调试难题。通过捕获并回放硬件状态,Vidi使工程查看来源专题页GitHub 已收录 2069 篇文章

时间归档

May 20262270 篇已发布文章

延伸阅读

Singularity Registry:HPC容器管理领域被低估的基石Singularity Registry(sregistry)作为专为高性能计算与科学计算团队打造的自托管轻量级解决方案,正成为管理Singularity容器镜像的关键基础设施。本文深入解析其架构设计、部署方式,以及它在容器生态系统中填补的Apptainer:在共享环境中超越Docker的HPC容器标准Apptainer,这款面向高性能计算(HPC)的开源容器运行时,正在重新定义科学工作负载在共享集群上的部署方式。它源自Singularity项目,提供无根执行、原生MPI和GPU支持,以及Docker镜像兼容性——填补了Docker无法解Singularity CLI:为HPC容器生态补齐Python SDK短板的原生工具Singularity CLI(spython)是首个为Singularity容器引擎打造的原生Python客户端,提供了一套简洁的API与命令行工具,用于在HPC环境中构建、管理和交互容器。该工具填补了Singularity生态的关键空白Apptainer:一场静默的革命,如何让容器成为高性能计算的脊梁容器运行时 Singularity 正式更名为 Apptainer 并移交 Linux 基金会管理。AINews 深入探究这款无需特权、无守护进程的容器如何成为高性能计算的中流砥柱,揭示其在 HPC 工作负载上超越 Docker 的技术优势

常见问题

GitHub 热点“SingularityCE: Why HPC Needs Its Own Container Platform Beyond Docker”主要讲了什么?

SingularityCE, the Community Edition of Sylabs' Singularity, has quietly become the backbone of containerized scientific computing. With over 962 daily GitHub stars and a steady gr…

这个 GitHub 项目在“SingularityCE vs Docker for HPC performance comparison”上为什么会引发关注?

SingularityCE's architecture is fundamentally different from Docker's client-server model. Instead of a daemon running as root, SingularityCE uses a SUID binary or, in unprivileged mode, a user-namespace approach. The co…

从“How to run Singularity containers on Slurm clusters”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 962,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。