准备在 OCI 上部署按需 HPC 和 AI 平台

在部署平台之前,请使用此准备指南设计访问、计算、存储、身份和运营基础。

查看 OCI 上按需 HPC 和 AI 平台的准备域。

用户访问和 OOD 服务

准备用户访问路径和 OOD 服务设计,确保基于浏览器的工作流安全、一致且可支持。

用户通过 OOD 通过 HTTPS 访问平台,而批准的管理员则使用受控的 SSH 路径来支持和进行非法操作。

  • OCI Load Balancer 用于 HTTPS 条目,以及可选的 OCI Web Application Firewall 、网络安全组 (network security group,NSG) 或 IP 允许列表。
  • Microsoft Entra ID 和 OIDC 用于 SSO 访问 OOD 门户。
  • 将 OOD 视为应用程序平台,而不仅仅是软件包安装和版本控制定制。
  • 在就绪性检查中验证 Apache 路由、OD 应用程序以及 /node/rnode 代理行为。
  • 确认远程桌面、VS 代码、 JupyterLab 、RStudio 和 MATLAB 的交互式应用程序启动路径。

数据移动、预配、监视和自动化

准备共享数据处理、项目预配、可观测性和自动化,以便扩展事件对于面向用户的工作流保持可靠。

设计运营平台,使静态节点和自动缩放节点中的数据移动、身份预配、监视和经常性维护工作流保持一致。

  • 定义 OCI Object Storage 、共享文件系统、项目工作区、暂存路径和 Lustre 之间的数据移动器路径。
  • 为主目录、项目目录、权限和 Slurm 账户对齐定义即时 (JIT) 预配。
  • 使用 Prometheus 和 Grafana 监视 Slurm 服务、节点就绪、存储挂载、GPU 运行时和 OOD 应用运行状况。
  • 运行幂等 cron 和自动化作业,以执行主机同步、清除工作流、限额检查、引导修复和升级后 OOD 打补丁。

HPC 集群拓扑和泥浆分区

准备 Slurm 控制面板拓扑和分区策略,以便 CPU 和 GPU 容量可以跨工作负载类型进行可预测的扩展。

使用可分离控制器、登录、永久计算、自动缩放 CPU 和自动缩放 GPU 角色的群集设计,以提高操作清晰度。

  • 设计用于调度、记帐、节点状态管理和自动缩放集成的 Slurm 控制器服务。
  • 保持登录节点专注于提交和诊断,而不是繁重的工作负载执行。
  • 使用永久计算分区实现低延迟工作负载和基线故障排除。
  • 对突发交互式和批处理工作负载使用自动缩放 CPU 分区。
  • 按负载类型和映像通道划分自动缩放 GPU 分区,以处理运行时、驱动程序和存储依赖项。
  • 在将节点标记为就绪之前,使用 MUNGE、slurmd、节点标识、通用资源 (GRES) 和存储挂载验证调度程序就绪情况。

多层存储设计

按工作负载行为准备存储层,以便用户状态、共享数据集和高吞吐量 I/O 使用适当的服务和挂载路径。

使用分层存储设计来分离持久性用户状态、共享项目数据集和高性能工作负载 I/O 路径。

  • OCI File Storage (FSS) 用于共享用户和运行时路径,例如 /home/scratch/apps
  • OCI Object Storage 与 JuiceFS 一起使用,以获取持久的共享数据集和项目数据,这些数据集和项目数据通常挂载在 /odata 上。
  • 使用 File Storage with Lustre 进行高吞吐量 AI 训练、检查点和模拟 I/O,通常挂载在 /lustre 上。
  • 在用于批处理和交互式工作流的每个节点类上独立验证每个挂载。

身份管理

准备集中式 Linux 身份和项目授权,确保整个平台的访问、配额和调度控制保持一致。

使用集中式身份管理,确保 Linux 账户、组、主机访问控制和调度程序授权与多租户工作负载保持一致。

  • 将 FreeIPA 用于 LDAP 用户、POSIX 组、Kerberos 验证以及基于主机的访问控制。
  • 将项目和实验室组映射到 Slurm 账户,以强制实施隔离、定额所有权以及退款或回放报告。
  • 验证身份服务重新启动行为,以便 SSH、家庭目录所有权和 Slurm 启动在维护事件后保持稳定。
  • 规划 Microsoft Entra ID 组源与需要项目授权的 Linux 身份监管工作流之间的集成。