GPU池化和虚拟化属于计算机体系结构的技术领域,它的本质是进行异构算力的解耦和共享。
痛点分析:
1.之前的做法,如果有一张卡,哪怕只用了1%的计算能力,剩下的99%也无法被利用了,所以算力有耦合不可分。
2.虽然任何一张独立的卡无法满足需求,但是多张卡的算例总和是可以达到算力要求的。
随着人工智能的发展,其对算例的需求呈现指数级增长,自从2012年以来,全球算力需求增长超过30万倍,以GPU为代表的人工智能芯片是支撑算力的核心部件。GPU服务器占据了50%以上的AI算力市场份额,且GPU芯片的价格占到整台服务器成本的80%以上,然而,大部分用户的GPU利用率都比较低,只有10%~30%.其核心原因在于,缺乏GPU池化软件使用户只能基于物理形式直接管理和使用GPU,导致大量的浪费。
资源池化是云计算的核心支撑技术之一,其中心思想是通过软件方法,将各种硬件(GPU,CPU,内存,磁盘,网络)等变成可以动态管理的资源池,从而简化资源管理,实现资源整合,提升资源利用率。GPU池花也遵循这样的理念,对物理GPU进行抽象,软件化后形成一个统一的资源池,方便用户按需求对GPU资源进行有效调用,无需关注实际物理GPU的大小,数量,型号以及安插的物理位置。
学术和产业届一直在探索如何更优化地使用GPU资源,包括伴随服务器虚拟化引入的GPU虚拟化vGPU,伴随容器兴起引入的GPU资源共享,以及利用CUDA进行API劫持和转发的vCUDA,rCUDA.
这些技术基本上可以归纳为四个阶段:
1.简单虚拟化,将单物理GPU