云原生演进中的AI算力高效使用

news2024/10/2 14:38:24

0 1 云原生技术的普及与发展

云原生技术是一种基于容器技术的轻量级、高可用的应用架构,具有弹性扩展、快速部署、统一管理等特点。随着企业对敏捷开发和快速迭代的需求不断增加,云原生技术的普及与发展已成为不可逆转的趋势。

图1. 云原生技术发展之路

云原生技术通过将应用与底层基础设施解耦,实现了应用的快速部署和动态扩展。它采用了容器化、微服务、CICD等技术手段,使得应用可以更加高效地运行在云环境中。同时,云原生技术还提供了强大的监控和日志功能,帮助企业更好地管理和维护应用。

图片

图2. 云原生三大特征

随着云原生理念的推广与技术的不断丰富,云原生已经进入成熟阶段,越来越多的企业开始采用云原生架构来构建和部署应用。当前云原生引领数字化转型升级已成为趋势,在人工智能、大数据、边缘计算、金融等领域崭露头角。云原生技术(例如:容器、微服务、DevOps等)提供的极致弹性能力和故障自愈能力已成为应用开发的最佳技术手段。原生理念及其技术以灵活性、敏捷性和便捷性已获得各行各业的广泛关注。云原生促使产业融合速度加快、网络业务迭代周期缩短。

0 2 人工智能通过容器实现最佳表现

2.1 容器非常适合人工智能应用的部署和管理

首先,容器可以帮助人工智能应用实现快速部署和动态扩展。由于容器具有轻量级、可移植性和快速部署的特性,人工智能应用可以轻松地在不同的云平台之间进行迁移和部署。同时,容器还可以根据需求动态地扩展或缩减应用,从而确保人工智能应用能够高效地应对突发流量或节省资源。

其次,容器可以帮助人工智能应用实现高可用性和容错性。容器可以在多个节点之间自动进行负载均衡和容错处理,从而确保人工智能应用的可用性和稳定性。当某个节点出现故障时,容器可以快速地将应用切换到其他节点上,从而保证应用的正常运行。

此外,容器还可以帮助人工智能应用实现数据安全和隐私保护。由于容器具有隔离性,可以限制对底层资源的访问权限,从而防止数据泄露和攻击。同时,容器还可以通过加密通信、访问控制和安全审计等手段来保护数据的安全性和隐私性。

最后,容器可以帮助人工智能应用实现高效的资源利用和管理。容器可以对CPU、内存和存储等资源进行精细化管理,从而确保人工智能应用能够高效地利用资源并降低成本。

综上所述,容器是一种非常适合人工智能应用的部署和管理方式。通过容器化人工智能应用,可以实现快速部署、动态扩展、高可用性、数据安全和资源高效利用等多种优势。

据统计,目前AI容器化场景是最常见的部署形态。这也佐证了云原生是AI应用开发、部署的最好形式。

2.2 AI应用转换为容器的好处

将整个 AI 应用程序开发到部署转换为容器的好处如下:

· 针对不同版本的框架、操作系统和边缘设备/平台,为每个 AI 模型提供单独的轻量容器。

· 每个 AI 模型可以都有一个容器,用于自定义部署。例如:一个容器对开发人员友好,而另一个容器对用户友好且无需编码即可使用。

· 每个 AI 模型的单独容器,用于 AI 项目中的不同版本或环境(开发团队、QA 团队、UAT(用户验收测试)等)。

· 容器应用程序真正更有效地加速了 AI 应用程序开发-部署,并有助于维护和管理用于多种用途的多个模型。

0 3 AI应用多种形态并存的现状

云原生技术发展之路并非一蹴而就,因为它不仅涉及到架构改变,也包括理念的变化,公司流程和人员配置的相应调整等。

此外,每个企业的IT基础设施水平是不一样的,甚至企业内部也可能存在多重基础设施形态。如KVM虚拟机,OpenStack虚拟机,VMWare虚拟机,裸服务器,虚拟化节点,docker,K8S等,不同应用在云原生进展中会存在进度不一致的现象。如果等所有云原生应用完成,则会无法尽快享受到软件定义AI算力的效益。

AI赋能千行百业,在AI浪潮席卷而来的背景下,所有人都希望尽快参与到AI的盛宴中,首先关注的是make it work,于是就不可避免的出现了多AI应用形态并存的局面。

目前主流使用AI算力的形态是最粗放的方式,即直通物理GPU或者简单切分后的vGPU直通。

图3. 常见的算力使用的方式

根据AI底层基础实施层的形态,也就有了如下的组合方式:

· 直通KVM/VMWare虚拟机。

· 直通Docker容器。

· 裸服务器直接使用。

· K8S通过device plugin挂载物理整卡使用。

· OpenStack 通过cyborg挂载物理或者虚拟GPU使用等。

0 4 OrionX赋能云原生

4.1 OrionX池化解决方案的部署灵活性

OrionX部署的灵活性可以通过3个关键字来概括:“一池多芯”、“一池多云”和“分离部署”:

“一池多芯”,即OrionX不仅支持Nvidia GPU卡,也支持国产加速卡。

“一池多云”,指软件可以部署在任何的云环境中,甚至是虚拟化节点,以及裸服务器中。

图片

图4. OrionX支持“一池多芯,一池多云”的部署

“分离部署”,即OrionX通过远程调用,可以基于高速无损网络,跨节点甚至跨集群调取智算资源,使 AI应用与物理GPU服务器分离部署,从而进一步降低碎片化率。

图片

图5. 阶段3的“远程调用”能力

所以总体上,有如下两条路线可以解决云原生中多形态并存的池化算力使用问题:

· 通过“一池多云”提供“多应用-算力集群”部署。

· 通过“分离部署”提供“多应用集群-单算力集群”部署。

4.2 异构多云场景下的算力集群统一纳管

该方案是指,每种形态的应用维持原有AI算力资源拓扑使用,通过各自部署一套OrionX软件,进行AI算力的纳管和灵活高效的调度,并通过oCenter作为管理界面,进行多资源池的统一运维和管理。

图片

图6. 异构多云算力集群统一纳管

这种方式不需要依赖于高速无损网络互联所有的服务器,部署和使用相对简单;缺点是由于每个应用环境独立维护,并由各自算力池化集群支持,所以维护成本较高、池化复用的效果没有发挥极致。

4.3 多应用集群下的算力底座

在该方案中,所有的AI算力通过部署了OrionX的智算容器云纳管,调度和分配,其它多个应用集群的应用都通过无损网络来使用这个算力集群的算力。随着时间推移,完成云原生改造的业务可以逐步向智算容器云中迁移。

图片

图7. 多应用场景下的算力底座
 

这种部署需要依赖于高速无损网络,但对运维管理和后续的逐步迁移中比较友好。

4.4 总结

这两种情况各有优缺点,建议企业在云原生演进进程中,根据各自环境情况进行选择。实际方案选择依赖于现有基础设施的几个关键因素,比如包括但不限于:集群内的互联网络技术(包括现有网路互联方式、是否有后续组网改造计划),以及多种形态集群的规模等。

归纳一下:

· 异构多云场景下的算力集群统一纳管适合于多种形态应用并存且数量较多,不同形态应用之间没有高速无损互联网络的企业。通过异构多云部署,用户可以在统一界面管理多个应用,并尽可能发挥每个集群内的AI算力效能。

· 多应用集群下的算力底座适合配置了高速无损网络的企业,通过算力池化技术,用户可远程调用智算容器云中的AI算力给多个应用,避免为了某些极少应用单独配置基础设施的采购及运维成本。

展望未来,在长距离无损网络成为现实情况下,企业将内部所有算力基础设施整合为一朵的智算容器云,会是最理想的状态。现有的方案作为中间的演进方案都具备了未来平滑演进到最终形态的企业智算基础设施。

参考文献

1. 《云原生架构:构建高可用、可伸缩的现代互联网应用》

https://www.51cto.com/article/764431.html 

2.《容器技术引领数字化转型:开启高效部署和可扩展的新时代》https://baijiahao.baidu.com/s?id=1769912365777860254&wfr=spider&for=pc 

3. 《通过AI 应用程序容器化实现高效的MLOpshttps://www.elecfans.com/d/1863258.html 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1395097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

给Windows电脑设置一个还原点,电脑出错可快速恢复使用

前言 离不开电脑的小伙伴们经常会有这种烦恼:Windows系统不知道什么时候会崩溃。 电脑一旦重装系统,就不是一件简单的事情。 其实重装系统并不麻烦,但麻烦的是需要把自己经常使用的电脑软件一并装上,这就是一件非常大的工程。电…

adb 配对+无线连接

配对 打开手机开发者选项-无线调试-使用配对码配对设备 出现ip端口和配对码后,电脑输入命令: adb pair ip:端口 eg:adb pair 192.168.137.244:39683 提示输入配对码:就按照手机上的输入。 此时配对成功 连接 再使用命令adb connect ip:port…

Nginx深度解析

Nginx是一个开源的高性能Web服务器,广泛用于提供HTTP服务。 它以其高效能、稳定性和低资源消耗而闻名。 Nginx的核心特性 异步非阻塞事件驱动架构:Nginx的主要优势之一是它的异步非阻塞处理方式,这使得它在处理大量并发连接时非常高效。轻量…

flutter 环境搭建异常记录

flutter 环境搭建异常记录 1.执行flutter doctor自检报错 排查Android studio里配置的sdk是哪个 SDK Platforms选中 8.0 SDkTools也只勾选8.0 2.bash_profile 文件配置 没有的话 在根目录新建 export PUB_HOSTED_URLhttps://pub.flutter-io.cn export FLUTTER_STORAGE_…

用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP) 论文阅读

论文链接:https://arxiv.org/pdf/2401.06305.pdf 论文题目:用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP) 1 摘要 本文介绍了用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP)。…

Spring MVC——Spring MVC(3)

1.拦截器 1.1.什么是拦截器? ​ Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、判断用户是否登录等。 ​…

[二]rtmp服务器搭建

[二]rtmp服务器搭建 一.测试二.使用Nginx搭建自己的rtmp服务器1.nginx是什么?2.环境准备 三、搭建过程1.安装编译 nginx 所需要的库2.下载 nginx-1.21.6.tar.gz3.下载 nginx-rtmp-module 4.解压5.编译6.启动nginx,检测nginx是否能成功运行7.配置nginx使用…

k8s---ingress对外服务(traefik)

目录 ingress的证书访问 traefik traefik的部署方式: deamonset deployment nginx-ingress与traefix-ingress相比较 nginx-ingress-controller ui访问 deployment部署 ingress的证书访问 ingress实现https代理访问: 需要证书和密钥 创建证书 密钥 secre…

漏洞扫描的原理是什么,分为几个阶段进行

网络漏洞扫描主要通过扫描已知的网络缺陷、不正确的网络设置和过时的网络应用版本来检测漏洞。漏洞扫描主要分为哪三个阶段?对于企业来说,创建持续监控容器并查找安全漏洞的服务。 漏洞扫描的原理 一、信息收集 漏洞扫描器首先会收集目标系统的相关信息…

CMU15-445-Spring-2023-分布式DBMS初探(lec21-24)

Lecture #21_ Introduction to Distributed Databases Distributed DBMSs 分布式 DBMS 将单个逻辑数据库划分为多个物理资源。应用程序(通常)并不知道数据被分割在不同的硬件上。系统依靠单节点 DBMS 的技术和算法来支持分布式环境中的事务处理和查询执…

Spring(19) ThreadPoolTaskExecutor 线程池的使用

目录 一、线程池简介1.1 为什么使用线程池1.2 线程池为什么需要使用队列1.3 线程池为什么要使用阻塞队列而不是用非阻塞队列1.4 如何配置线程池1.5 execute() 和 submit() 方法 二、ThreadPoolTaskExecutor 线程池简介2.1 简介2.2 核心参数配置2.3 ThreadPoolTaskExecutor 内部…

[设计模式Java实现附plantuml源码~创建型] 确保对象的唯一性~单例模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

Unity之四元数

欧拉角 万向节死锁 四元数是什么 Unity中四元数的初始化 四元数和欧拉角的互相转换 补充 四元数相乘代表旋转四元数

Linux设备驱动开发学习笔记(等待队列,锁,字符驱动程序,设备树,i2C...)

1. 内核工具和辅助函数 1.1宏container_of container_of函数可以通过结构体的成员变量检索出整个结构体 函数原型: /* pointer 指向结构体字段的指针 container_type 结构体类型 container_field 结构体字段名称 返回值是一个指针 */ container_of(pointer, con…

ARP相关

ARP报文格式: 目的以太网地址,48bit,发送ARP请求时,目的以太网地址为广播MAC地址,即0xFF.FF.FF.FF.FF.FF。 源以太网地址,48bit。 帧类型,对于ARP请求或者应答,该字段的值都为0x08…

浅谈情绪的分类合集

什么是情绪分类 情绪分类,是指区分或者对比一种情绪与另一种情绪的方法,目前在情绪研究(emotion research)与情感科学(affective science)是具有争议的问题。有两个讨论情绪分类的基本观点: 情…

架构篇07-复杂度来源:低成本、安全、规模

文章目录 低成本安全规模小结 关于复杂度来源,前面的专栏已经讲了高性能、高可用和可扩展性,今天我们来聊聊复杂度另外三个来源低成本、安全和规模。 低成本 当我们的架构方案只涉及几台或者十几台服务器时,一般情况下成本并不是我们重点关…

vue使用科大讯飞的语音识别(语音听写)

使用的是封装好的插件:voice-input-button2 真的很好使很好使 1、先使用npm下载插件 npm i voice-input-button2 -save -dev 2、在main.js中引入 import voiceInputButton from voice-input-button2 3、全局引入 Vue.use(voiceInputButton, { appId: xxx, // …

(二十)Flask之上下文管理第一篇(粗糙缕一遍源码)

每篇前言: 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥本文已收录于Flask框架从入门到实战专栏:《Flask框架从入…

RT Thread Stdio生成STM32L431RCT6工程后如何修改外部时钟

一、简介 RT Thread Stdio生成STM32L431RCT6工程后默认为内部时钟,如何修改为外部时钟呢? 二、修改时钟步骤 本方案修改外部时钟为直接修改代码,不通过STM32CubeMX 进行配置(使用这个软件会编译出错) (…