0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入了解AI计算从单机到集群的概括

云知声 来源:djl 作者:云知声 2019-08-09 09:29 次阅读

AI 计算:AI 计算:从单机到集群(上)和 AI 计算:从单机到集群(中)介绍基础上,大家了解了 AI 计算容器化和集群调度的相关知识。那么本篇作为 AI 计算系列的收尾篇,指导大家如何打造一个完备高效的计算平台。

本篇首先介绍一个完备高效计算平台的整体架构,然后选择架构中一些分系统作为切入点,详细介绍这些系统的组成和特点,希望能够为大家构建平台时提供有益的参考。

— 整体架构 —

AI 计算任务和传统的云服务有显著不同,其具有如下特点:

业务流程长,逻辑复杂:从数据的采集、存储、分析、挖掘到最终提供数据服务,需要把多种数据源融合以及关联分析。

场景多样化,不确定性强:需要与业务紧密结合,很多场景都是探索性质,并且要随着业务变化和反馈持续的调整。

技术门槛高,对使用者要求高:多种计算引擎,多种计算模型,大规模机器学习的组合使用,以及多种计算资源(GPU/CPU) 协调计算。

针对以上特点,我们需要一个对使用者友好的计算平台,能够解决不同场景下对 AI 计算的不同需求,降低使用者的门槛。所以,作为一个完备高效的计算平台,只具有计算任务的管理和调度是不够的,还需要其他分系统和组件的协同配合。下图展示的是平台整体架构逻辑图。从下往上分别是:

平台基础层:提供平台的底层支撑,除了我们在中篇已经介绍的计算调度系统,还包括计算所需要的分布式存储系统。

平台计算层:提供平台与 AI 具体算法相关的计算实现,与平台紧密配合并深度优化定制,完成任务算法的具体实现。

平台控制中心:提供平台支撑和管理系统。

平台业务层:支持多种业务领域的应用。

深入了解AI计算从单机到集群的概括

基于以上架构的平台具有如下优势:

友好的可视化界面:友好的使用接口,支持拖拽交互,无需编程

丰富的机器学习算法:内置支持丰富多样的机器学习算法和模块

完整的数据处理流程:兼容支持多种数据格式与完整的数据处理流程

高效的异构计算集群:高效的 GPU/CPU 异构计算平台和分布式存储系统

一站式服务体验:一站式服务,易用,惠及更多用户

从平台整体框架图看,平台的构成子系统众多,由于篇幅限制,不能一一介绍。本文挑选部分子系统向大家介绍。

— 平台基础层 —

在 AI 计算:从单机到集群(上)和 AI 计算:从单机到集群(中)中我们主要介绍了基于 GPU 和 CPU 的容器任务调度系统。容器任务在生命周期结束时,所有的生成数据都会随着任务删除而消失,为了保存任务的输出结果,需要将外部存储挂载到容器中保存训练结果。除此之外,计算任务读取外部数据进行模型训练,也需要外部存储支持。

分布式文件存储系统

分布式文件存储系统是计算平台的重要部分,我们实现了连续空间的大规模分布式存储系统,可扩展支持 PB 量级容量的存储空间,兼容 POSIX 标准,无缝对接现有多种深度学习框架的读写接口,具有多重数据冗余能力,保证数据的安全可靠。同时提供高吞吐量的数据读写操作 ,满足任务对数据的高速读写要求,此外,系统具有良好的扩展性,根据平台需求对存储容量自由扩展。

AI 计算任务需要海量数据支撑,对存储的需求具有如下特点:

大容量:能够支持大容量的数据存储。

高 IO:具有高 IO 的数据读写操作。

兼容 POSIX 协议。

这写特点决定了,与 AI 计算匹配的存储系统必须是分布式存储系统,才能满足计算的要求。由于我们使用基于 Kubernetes 的计算任务调度系统,要求外部存储首先能够和 Kubernetes 结合,才能在计算任务中使用。Kubernetes 支持的外部存储(https://link.zhihu.com/?target=https%3A//kubernetes.io/docs/concepts/storage/volumes/)包括很多类型,包括本地目录 hostPath、网络存储 NFS、块存储 RBD、以及其他第三方云平台存储格式等。我们构建基于 Lustre 的分布式文件系统,为计算任务提供大容量和高 IO 的存储方案。

Lustre 分布式文件系统历史悠久,广泛应用在各个国家的高性能计算中心。Lustre 是开放源代码的集群文件系统, 提供与 POSIX 兼容的文件系统接口。Lustre 两个最大特征是高扩展性和高性能,能够支持数万客户端系统、很容易扩展到 PB 级存储容量、并具有数百 GB 每秒的 I/O 吞吐量。

下图是 Lustre 的组成架构图,描述的是存储整体逻辑框。左侧为 Metadata Servers ( MDS, 媒体结构数据服务器),存储数据的结构性信息,右侧是 Object Storage Servers (OSS,对象存储服务器)。存储实际的数据信息。存储节点间的网络连接分为两层,一种是用于数据传输的高性能网络,采用万兆网络配置。一种是节点管理网络,利用 Intel Manager for Lustre 软件监控整个存储集群的实时运行状态和配置存储集群。存储系统组成分为三部分:OSS阵列,MDS阵列,存储运行状态实时监控服务器。OSS 和 MDS 直接通过高速和低延时的高性能网络连接。监控服务器通过专用监控网络连接 OSS 和 MDS。MDS 服务器负责管理 OSS 服务器上的数据,并处理来自客户端的数据请求。每个 OSS 服务器的本地存储器,比如硬盘,被划分为多个 RAID 阵列,每个阵列被虚拟为 OST 数据类型。

OSS(对象存储服务器),存储实际的数据信息,采用 Dell 高密度阵列存储。

MDS(媒体结构数据服务器),提供数据的描述和结构信息,通过阵列实现高可用的 MDS。

监控服务器,实时监控存储系统运行状态,具有管理和配置存储系统的功能。

深入了解AI计算从单机到集群的概括

— 控制中心 —

如果说计算系统和存储系统是平台的双引擎,那么控制中心就是平台的驾驶舱。控制中心直接面向用户,为用户提供图形化的任务交互,为平台提供监控和健康检查,为任务提供镜像分发等服务。我们选择其中两个分系统:平台日志与实时监控系统和镜像管理系统,向大家作简单介绍。

平台日志与实时监控系统

计算平台的硬件涉及众多功能不一的服务器,但作为管理和使用人员来说,希望整个系统能够像一台计算机那样进行运行与管理。平台日志与实时监控系统是平台不可或缺的重要组件之一,保证平台的稳定运行和监控实时资源的使用,所以在平台中是至关重要的。我们独自开发了一套图形化的平台任务和节点状态监控系统,对整个计算集群中的计算资源进行管理。此系统是一套非常完备的用于监控和管理机群的解决方案,简化了机群管理工作的复杂度,使管理员通过统一的操作就可以非常容易的管理与监控集群中的多种计算资源。

下图展示的是实时监控系统逻辑框图,在计算节点上通过 Node Exporter 和 GPU Exporter 等信息采集器收集节点运行状态,包括计算资源,存储,网络带宽占用情况,以及节点健康状态。cAdvisor 监控节点上运行的多个任务的实时状态和对 GPU 、内存等相关资源的使用情况,上述平台运行信息定期发给 Prometheus 收集汇总。Grafana 查询 Prometheus 存储的信息,并通过图像化方式展示。监控系统中的警告和通知管理子系统,会根据相应配置触发邮件、短信或者即时通讯工具发送警告和通知信息给管理员,以保证平台的正常运转。

深入了解AI计算从单机到集群的概括

平台日志与实时监控系统软件具有如下优势:

多种功能有效集中在一起,高效便捷便,于管理维护

同时支持图形化界面操作与命令行方式操作,为系统管理员提供多种选择

分级授权管理,为系统管理员和普通用户提供不同权限的访问,保证系统的安全性

全面的可定制的系统监控及报警功能

实时显示节点 GPU、CPU、内存等资源使用信息

自动通知与报警

自动对监控结果进行筛选过滤,方便用户使用

下图显示的是监控系统显示节点 CPU 运行状态、内存使用情况以及节点负载情况的示例:

深入了解AI计算从单机到集群的概括

镜像管理系统

平台中运行着各种计算任务,需要利用镜像管理系统对所有的任务镜像提供统一的管理。Docker 官方维护的Docker Registry(https://link.zhihu.com/?target=https%3A//docs.docker.com/registry)能够提供简单的镜像仓库功能,但不足以支撑企业级的应用,尤其在高可用,用户管理和安全方面。Harbor 是由 VMWare 开发和维护的企业级 Registry 服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了 Docker Registry 的实现。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全,提升用户构建和传输镜像的效率。Harbor 在架构上如下图所示,主要包括:

Nginx Proxy:提供 Harbor 的图形界面等服务,通过一个前置的反向代理统一接收浏览器、Docker 命令的请求,并将请求转发给后端不同的服务。

Admin Server:提供用户认证和授权,赋予用户不同的角色。

Registry: 负责储存 Docker 镜像,并处理 Docker push/pull 命令。由于我们要对用户进行访问控制,即不同用户对镜像有不同的权限,Registry 会指向一个 Token 服务,强制用户的每次 docker pull/push 请求都要携带一个合法的 Token,Registry 会通过公钥对 Token 进行解密验证。

Project: 这是Harbor的核心功能,主要提供以项目为基础的镜像管理。

图中给出了四种角色,在 Harbor 工作流程中具有不同的权限:

Admin :具有所有权限

Developers:具有 push 与 pull 公开和私有项目镜像的权限

Guests:具有 pull 公开和私有项目镜像的权限

Anonymous:具有 pull 公开项目镜像的权限

深入了解AI计算从单机到集群的概括

Harbor 具有如下特性:

基于角色的访问控制 :用户与 Docker 镜像仓库通过项目进行组织管理,一个用户在不同的项目里具有不同的权限。

镜像复制 : 支持在多个 Registry 实例中复制(同步)镜像,尤其适合于负载均衡,高可用的场景。

图形化用户界面 : 支持通过浏览器来浏览,检索 Docker 镜像仓库,管理项目。

AD/LDAP 支持 : 支持集成企业内部已有的 AD/LDAP,用于鉴权认证管理。也提供了高级的安全特性,诸如用户管理,访问控制和活动日志等。

RESTful API : RESTful API 实现对 Harbor 更多操控的接口,与其它管理软件集成变得更容易。

部署简单 : 提供在线和离线两种安装方式。

— 总结 —

本文是 AI 计算系列的收尾篇,在 AI 计算:从单机到集群(上)和 AI 计算:从单机到集群(中)基础上,扩展介绍平台的整体架构实现,并选择架构中的部分子系统做详细的描述。在本文介绍完成之后,大家应该具有这样一个概念:一个高效完备的平台仅仅具有计算调度系统的功能是不够的,需要有相应的高 IO 和高可靠性的分布式存储平台与之相匹配。除此之外,还需要用户友好的平台控制中心,包括各种提供平台支撑的管理系统和监控系统等。

AI 计算系列三篇文章分享暂时告一段落,由于篇幅限制,很多内容没有机会详细展开和阐述,但是希望大家能够通过这三篇介绍,窥一斑而见全豹,了解面向 AI 计算的高效平台的基本概念,进而能够帮助大家实现从单机到集群,再到完备高效计算平台的目标。后续有机会我们会再次为大家介绍 AI 计算平台相关内容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储系统
    +关注

    关注

    2

    文章

    409

    浏览量

    40858
  • 人工智能
    +关注

    关注

    1791

    文章

    47260

    浏览量

    238432
  • 计算平台
    +关注

    关注

    0

    文章

    52

    浏览量

    9623
收藏 人收藏

    评论

    相关推荐

    深入了解_环形变压器额定功率计算公式

    深入了解_环形变压器额定功率计算公式
    发表于 08-20 14:55

    深入了解示波器

    深入了解示波器
    发表于 11-14 22:32

    专家开讲:深入了解电池技术 ──Part 1

    。笔者不会一一详细介绍所有的电池技术,只选择一些常见或是值得认识的;而在接下来的专栏里,笔者将开始介绍电池分类、常见规格以及专业术语,如果你有特别想知道的电池技术,欢迎留言!扩展阅读:专家开讲:深入了解
    发表于 08-18 09:33

    专家开讲:深入了解电池技术──Part 3

    资深工程师 Ivan Cowie 的「深入了解电池技术」专栏Part 3来啰!这次要介绍的是铅酸电池(lead-acidbatteries)技术。铅酸电池是在1859年由法国物理学家Gaston
    发表于 08-18 09:37

    单片机的深入了解

    项目名称:单片机的深入了解!项目是否开源:否申请开发板数量:1 块申请人团队介绍:我们团队由五个人组成,我们打算开始着手单片机的程序改编,设计一些比较特殊新颖的东西!希望给以支持!
    发表于 10-12 20:00

    深入了解LabVIEW FPGA资料分享

    深入了解LabVIEW FPGA
    发表于 05-27 08:35

    深入了解主动电扫描阵列(AESA)雷达系统

    深入了解主动电扫描阵列(AESA)雷达系统
    发表于 05-24 06:51

    示波器的深入了解

    示波器的深入了解 引言自然界运行着各种形式的正弦波,比如海浪、地震、声波、爆破、空气中传播的声音,或者身体运转的自然节律。物理世界里,能
    发表于 11-04 11:53 52次下载
    示波器的<b class='flag-5'>深入了解</b>

    深入了解示波器入门手册

    深入了解示波器入门手册
    发表于 03-27 17:43 241次下载
    <b class='flag-5'>深入了解</b>示波器入门手册

    深入了解电路噪声的那些事

    模拟电子的相关知识学习教材资料——深入了解电路噪声的那些事
    发表于 09-27 15:19 0次下载

    深入了解电感与磁珠的异同

    模拟电子的相关知识学习教材资料——深入了解电感与磁珠的异同
    发表于 09-27 15:19 0次下载

    AI计算教程,单机集群

    这里需要进一步说明下使用 k8s-device-plugin 的一个小 bug,由于 GPU 计算节点上的 docker runtime 默认设置为 Nvidia runtime,而 Nvidia runtime 的 NVIDIA_VISIBLE_DEVICES 环境变量默认值为 all。
    的头像 发表于 08-09 09:20 2302次阅读
    <b class='flag-5'>AI</b><b class='flag-5'>计算</b>教程,<b class='flag-5'>从</b><b class='flag-5'>单机</b><b class='flag-5'>到</b><b class='flag-5'>集群</b>

    带你深入了解示波器

    带你深入了解示波器
    发表于 02-07 14:26 19次下载

    深入了解安全光栅

    深入了解安全光栅
    的头像 发表于 06-25 13:53 1218次阅读
    <b class='flag-5'>深入了解</b>安全光栅

    深入了解 GaN 技术

    深入了解 GaN 技术
    的头像 发表于 12-06 17:28 6158次阅读
    <b class='flag-5'>深入了解</b> GaN 技术