产品架构

更新时间:

本节为您介绍 Geimini 的基本架构。

# 功能架构

Gemini AI 平台整合算力资源、存储资源等,为 AI 应用的开发提供一站式的高效管理平台, 在功能上,Gemini 平台共分为 3 层,可参照下图理解。

  • 基础层
    包括基础的软硬件资源,这些资源能够为 Gemini 本身及其业务提供存在的场所及运行的基础。比如物理机、GPU 卡、存储、网卡等硬件资源和 K8s、Docker、OrionX 等软件资源。
    Gemini 中内嵌 Orion 组件,对基础资源进行了一定处理,实现平台 GPU 池化,因而 Gemini 具备 GPU 虚拟化、超分超配的能力。
  • 管理层
    指 Gemini 的运维控制台,运维控制台可整体管理平台所有资源、业务,以及用户空间等。
  • 用户层
    指 Gemini AI 工作台,算法工程师可在该工作台上进行 AI 应用的研发。

# 系统架构

Gemini 系统主要由三类服务组成:中控服务、计算服务和存储服务。各服务功能的实现依赖于相应组件(子服务),而这些组件均以 Docker 的形式部署与启动。 逻辑上,承载中控服务的集群称为 中控集群,承载计算服务的集群称为 计算集群,承载存储服务的集群称为 存储集群。 实际上,计算和存储服务可以在一个集群中共存,称为 计算/存储集群。甚至,中控、计算、存储可共存于一个集群,形成超融合集群。 Gemini 的系统架构逻辑图如下图所示:

# 中控集群

承载中控服务的集群,中控服务主要负责对平台整体的鉴权、控制和调度。除此以外,中控服务还会收集各节点上报来的监控信息、日志信息,收集各节点上报来的集群或服务等信息并存放在本地的 MySQL 数据库中。

中控服务接收到 WEB 端的请求后,工作流程大致如下:

  1. 鉴权。

  2. 分析请求并进行计算和资源就绪确认,资源就绪包括:

    • 镜像、数据已就绪。
    • 配额满足。
    • 计算资源(GPU、显存、CPU 和内存)已就绪。

    确认资源就绪的过程中,中控节点会与存储节点、计算节点进行通信以获取所需资源状态,同时也会访问自身数据库获取节点或集群的状态信息、写入相关日志和元数据信息。

  3. 开始按规则调度到目标计算节点上。

  4. 将运行和调度结果反馈给 WEB 端。

# 计算集群

承载计算服务的集群,计算服务主要负责运行业务,为业务提供算力资源。
计算服务包括 OrionX 相关组件,这些组件负责将物理机上 GPU 资源进行虚拟化并形成巨大的 GPU 资源池。
当计算服务接到任务时,会从资源池获取相应资源来创建 Docker 环境,任务将在 Docker 环境中进行。如果是训练任务,则任务结束,对应的训练环境也将自动销毁并释放占用的资源。

# 存储集群

承载存储服务的集群,存储服务共由三部分组成:

  • mongoDB 数据库组件:存放业务的元数据以及 Seaweed 的元数据。
  • 一系列存储管理组件:实现存储的管理,并且能够与其他节点组件进行通信,回应计算节点和中控节点对于 AI 资产的请求。
  • 存储:用于存储镜像、代码、数据和结果集。