7

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

 2 years ago
source link: https://my.oschina.net/u/4526289/blog/5291523
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

为什么要做算力虚拟化

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

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

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

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

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

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

业界常见虚拟化技术

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

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

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

v2-f5b84cdf7451eeb8c0e1f8d63e17a1f0_720w.jpg

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

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

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

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

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

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

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

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

v2-2db306f19d27965b75c91ac38c64b9a5_720w.jpg

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

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

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

v2-c3fcb025189112d2adbb49ff85b9c5ae_720w.jpg

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

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

v2-a3a15efde8c80abc74e72d34768817be_720w.jpg

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

v2-8600e4ad59cb61119c1f1916496b13d1_720w.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

欢迎登陆昇腾社区网站了解更多信息。

点击关注,第一时间了解华为云新鲜技术~


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK