当前位置: 首页 > news >正文

Singularity 安装

Singularity 是什么?

  • 核心功能:用于创建/运行容器(将应用+依赖打包的独立环境)。

  • 与 Docker 的区别:专为 HPC(高性能计算)设计,无需后台守护进程,支持非 root 运行容器(但安装本身需 root 权限)。

      适用于在具有 root 权限的计算机上从源代码安装 Singularity。其他安装选项(如构建 RPM 包、非 root 权限安装)请参阅《管理员指南》的“安装”部分。
若需在共享资源上请求安装,请参考“请求安装”部分联系系统管理员。

官网:Documentation | Apptainer - Portable, Reproducible Containers

Singularity于Docker区别

       在 HPC 环境中,Docker 因依赖需 root 权限的 dockerd 守护进程,与 Slurm 等调度器的 cgroups 资源分配机制冲突,且数据卷挂载存在越权访问风险。而 Singularity 支持普通用户直接启动容器,进程可被 Slurm 当作普通进程管理,能严格隔离容器访问范围,还原生集成 MPI 等高性能通信库,与调度器无缝协作,其单一.sif 镜像文件更便于在并行文件系统中传输共享,避免 Docker 分层镜像的存储开销,更适配 HPC 环境需求。

Singularity与 Docker 的应用场景对比

场景Docker 更适合Singularity 更适合
开发测试快速迭代、微服务架构HPC 集群、科学计算
权限要求开发环境(可接受 root 权限)多租户 HPC、共享服务器
镜像分发云原生应用(Kubernetes)并行文件系统(Lustre/GPFS)
资源隔离细粒度 CPU / 内存限制与 Slurm 等调度器深度集成

Docker 与 Singularity 在 HPC 环境的核心对比

问题领域Docker 的缺陷Singularity 的解决方案HPC 场景影响
权限模型依赖 root 权限的守护进程 (dockerd),普通用户需 sudo 提权操作。无守护进程:普通用户直接运行容器,进程身份继承用户权限(UID/GID 映射),禁止容器内提权✅ 消除安全风险,符合多租户隔离要求。
资源隔离dockerd 与 Slurm/PBS 的 cgroups 资源分配冲突,无法被调度器直接管理。与调度器原生协同:容器进程作为普通进程被调度器管控,直接复用 Slurm 的 cgroups 资源限制✅ 实现精确资源分配,避免干扰其他任务。
数据安全挂载卷时可能暴露主机敏感路径(如 //etc),容器内 root 可越权访问。安全沙盒机制
1. 默认隔离主机系统路径;
2. 挂载卷时强制权限映射(用户仅访问授权目录)。
✅ 杜绝越权访问,满足审计与合规要求。
高性能计算支持需复杂配置支持 GPU/NIC 直通、MPI 库兼容性差(如 Docker 容器间 RDMA 通信困难)。原生高性能支持
1. 无缝集成 GPU(--nv)、RDMA(--ib);
2
http://www.lryc.cn/news/572295.html

相关文章:

  • Postman 的 Jenkins 管理 - 手动构建
  • Burp suite2024+新版本中英文等宽字体设置让其更美观显示
  • 额度互动促进金融健康,蚂蚁消金创新智能实时交互式风控系统
  • 【深度学习:进阶篇】--3.2.经典分类网络结构(CNN)
  • Stroke-based Cyclic Amplifier (SbCA方法):实现图像任意尺度超清放大
  • 端口安全配置示例
  • 安卓JetPack篇——LifeCycle原理
  • flink如何基于Pekko实现RPC调用
  • 神经网络试题
  • DL___线性神经网络
  • 数据结构 二叉树理论、递归理论与快速排序理论 6.19
  • 01.线性代数是如何将复杂的数据结构转化为可计算的数学问题,这个过程是如何进行的
  • OpenAI的Prompt工程
  • 03.自动特征提取(深度学习)核心逻辑:通过多层非线性变换,让模型自动学习从原始数据到高层特征的映射。为什么多层非线性变换可以达到这样的效果?
  • 【LINUX网络】网络socet接口的基本使用以及实现简易UDP通信
  • Linux内存进阶
  • 七彩喜智慧康养平台:重构银发生活的数字守护网
  • LeetCode 2187.完成旅途的最少时间
  • 数据库连接池(Druid、HikariCP)详解
  • vector模拟实现中的迭代器失效问题
  • SQL等价改写优化
  • 算法打卡22天
  • Codeforces Round 1032 (Div. 3)
  • Excel学习01
  • Arduino入门教程:11、直流步进驱动
  • 小型语言模型(SLMs)有望重塑自主AI:效率、成本与实际部署
  • tensor向量按任意维度进行切片、拆分、组合
  • 如何将缓存存到客户端浏览器上呢
  • 计算机视觉(Computer Vision, CV)
  • 前端实现即时通讯:短轮询、长轮询、SSE 与 WebSocket 全面解析