CANN 5.0黑科技解密 | 算力虚拟化,让AI算力“物尽其用”

技术火炬手 发表于 2021/10/30 09:23:55 2021/10/30
【摘要】 算力虚拟化技术对消费者而言,可有效降低算力的使用成本,对于设备商或运营商而言,则可极大提升算力资源的利用率,降低设备运营成本。

为什么要做算力虚拟化

近年来,人工智能领域呈井喷式发展,算力就是生产力,以AI集群为基础的人工智能计算中心在国内多点开花,为政府、企业及个人,提供了一种新的城市公共资源,成为了智能世界的黑土地

算力资源共享势必会带来资源分配问题,无论是人工智能计算中心这种大型AI基础设施还是AI计算卡这种小型AI计算资源,都承载着用户多样化的AI算力诉求。

比如,在某些算力要求不高的场景下,AI模型在训练或推理时并不需要占用整张AI计算卡,希望更低的资源配置满足要求,比如1/4切片;再或者,在教学场景,一台AI服务器(可由单张或多张计算卡组成)希望可共享给整个班级使用。

借助虚拟化技术可轻松应对以上问题!

我们将整卡或整机的计算资源虚拟化为多个虚拟计算设备,并在上面部署不同的虚拟机或容器,分别运行AI训练或推理应用服务。

对消费者而言,可有效降低算力的使用成本,对于设备商或运营商而言,则可极大提升算力资源的利用率,降低设备运营成本。

业界常见虚拟化技术

业界常见的虚拟化技术有「基于时间分片」和「基于计算实例隔离」。

举个例子,三胎政策来了,未来几年,妈妈们可能会面临同时应付三个神兽的情况,老大要辅导作业,老二要读绘本,老三要喝奶…先忙谁都有意见,怎么办?

遇事不要慌,坐等天塌是没用的,基于时间分片的虚拟化技术为三胎妈妈提供了友好的解决方案,让每个娃都不会等太久,雨露均沾,不偏不倚:

image001.jpg

这实际上是对计算资源从时间层面上划分,与CPU进程调度类似,各任务进程按时间切片占用全部的物理设备资源。

基于计算实例隔离的虚拟化技术,是对计算资源本身的直接划分,正如文章开头的举例,老师在教学时,将一台AI服务器划分成N个虚拟组并做好安全隔离,然后共享给整个班级使用,使得每个学生都能独立使用,互不干扰,实现多个虚拟机实例共享同一硬件资源。

显而易见,两种虚拟化技术均能有效提升算力资源利用率,但并不是天衣无缝。

基于时间分片,无法做到AI任务之间的安全隔离;而基于计算实例分片,在目前市面上支持的切分粒度不够细,不能满足用户更高规格的切分诉求

而华为提供的AI算力虚拟化技术,支持足够细致的切分粒度,且在各个虚拟设备间可做到足够安全的相互隔离,无论从切分粒度还是安全角度来说,都要更胜一筹!

下面我们就来看看,华为是怎样做到的。

华为AI算力虚拟化技术解读

众所周知,昇腾910是华为推出的一款具有超高算力的AI处理器,它集成了32个达芬奇架构的AI Core计算引擎,可高效执行矩阵、向量计算密集的算子任务,八位整数精度(INT8)下的性能达到640 TOPS16位浮点数(FP16)下的性能达到320 TFLOPS 

image002.png

单片昇腾910 AI处理器提供的算力如此之大,为了使其“物尽其用”,必须充分利用好虚拟化技术,将硬件的计算资源利用到极致。

CANN作为AI领域的异构计算架构,不仅能充分做好本职工作——极大程度释放硬件性能,为AI应用提供强大的算力支持,还在最新的5.0版本中,借助基于AI Core切分的算力虚拟化技术,最高可支持切分成32个分片,充分提升了硬件的资源利用率。

下图是CANN 5.0的算力虚拟化框架:

image003.png

基于该框架,可支持虚拟机、容器的单一或混合部署,并能支持不同类型算力单元的划分,实现算力、内存、带宽的灵活切分、隔离。

下表是昇腾910支持的基于AI Core切分的算力虚拟化典型配置:

切分比例

AIC核数

HBM内存规格

1/2

16

16G

1/4

8

8G

1/8

4

4G

1/16

2

2G

1/32

1

1G

比如,教学场景下,有人算力诉求小,有人算力诉求大,基于AI Core切分的算力虚拟化技术,能够将一片昇腾910 AI处理器进行灵活切分,以匹配开发者多样化的算力诉求:

image004.jpg

算力就是智能时代的粮草,半丝半缕弥足珍贵,正是得益于CANN超小粒度的算力切分机制,让小算力场景下算力分配更加合理,宝贵的计算资源才能得到更加充分的利用。

CANN在实现算力切分的同时,也实现了各个虚拟设备间的安全隔离,包括:

  • 支持虚拟设备间内存隔离:

通过算力配置,实现HBMDDR等内存的自动切分和隔离。

  • 支持虚拟设备间的数据隔离

通过虚拟设备的标识,实现用户数据按照虚拟设备自动处理和隔离。

  • 支持虚拟设备间的业务故障管理隔离

各个虚拟设备的故障信息反馈给对应的虚拟机或容器。

除了支持对单个昇腾910 AI处理器按照AI Core级别进行算力切分,CANN还支持在搭载多个昇腾910 AI处理器的AI Server或集群系统中,按照昇腾910 AI处理器维度做算力划分。

从技术角度看,CANN 5.0的算力虚拟化方式切分更细致、隔离更安全,给予了行业开发者更多选择;

从性能角度看,虚拟化和非虚拟化场景下性能持平,提升灵活性的同时,也妥善保证了用户体验不打折!

写在最后

CANN 5.0在算力虚拟化方面做出的努力,可有效降低管理成本,提高系统利用率和安全性。

自此,云端个人用户或者小企业客户,只用按需购买资源和算力,即可以最低成本完成AI应用部署。

未来的智能世界里,AI一定是人人皆可得的通用技术,算力也必然是人人皆可用的平民化资源。

借力于CANN 5.0AI正在逐步成为大家用得起的普惠AI

未来不远,已在路上,你准备好了么?

欢迎登陆昇腾社区网站https://www.hiascend.com/或扫描下方二维码了解更多信息。

image005.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。