如今,GPU对企业发展越发的重要,而GPU的虚拟化可以帮助企业合理分配GPU资源给需求更高的客户,而作为GPU中的领导企业,NVIDIA在此方面的技术进展是非常令人兴奋的。
2013-2014年NVIDIA发布vGPU的时候,是从工作站开始的。那时候NVIDIA刚刚在数据中心开始布局,大部分还是局限在高性能计算领域。高性能计算领域需不需要虚拟机?从高性能计算、图形计算开始,为传统的高性能、图形计算用户提供工作站之外的选择。
NVIDIA Proviz亚太区业务主管沈威
大家认为NVIDIA是个芯片公司,而GPU虚拟化是个纯软件的解决方案,它是依附于GPU硬件实现GPU的管理、GPU的功能迭代、GPU数据中心的特性。由于GPU虚拟化是纯软件解决方案,产品迭代速度会比硬件快一些。所有功能既可以通过软件方式来实现,也可以通过硬件方式来实现。软件方式效率上相对会比纯硬件的方式低一些,但灵活性、可管理性、可调度性会更快。
NVIDIA中国区高级市场总监刘念宁
其实NVIDIA vGPU虚拟化解决方案和NVIDIA的发展是相匹配的。最初NVIDIA将GPU用做图形显示,通过图形方式帮助用户做图形加速,分为企业级和非企业级。比较有代表性的企业级解决方案是专业的图形工作站,放在用户的前端,和用户靠得很近,非企业级解决方案是游戏卡之类我们较为熟悉的硬件。
NVIDIA GPU虚拟化高级解决方案架构师张洁
目前,出于管理和安全的诉求,现今越来越多的企业要把这些图形设计和员工数据管理起来,一般企业会采用虚拟化的方式把传统的物理图形工作站变成虚拟化的工作站,放到数据中心运行。在数据中心,如果每个用户给一个物理GPU卡,这是不现实的,及其的浪费资源(毕竟普通用户不能够完全压榨GPU中的所有性能)。于是就出现了vGPU技术,把性能非常强劲的卡虚拟成很多小的逻辑的、虚拟的vGPU,这样虚拟化可以方便地把图形用户从传统的物理工作负载方式迁移到数据中心。
在vGPU 7.X发布之前,vGPU解决方案最主要的一个功能是用户购买NVIDIA一个性能非常强劲的GPU,可以对这个GPU切割,分配给很多用户用。但这会出现一个问题,一个性能很强劲的物理GPU经过切割后,性能是否会有损失?是不是有一些对GPU性能要求非常高的用户不适合做虚拟化?
到了vGPU 7.X以后,可以把多个物理GPU虚拟化以后分配给某一个用户。可以实现两个功能:针对于性能要求不高的场景,比如图形场景、教学场景和开发测试场景;针对对算力要求非常高的用户,这时候可以使用多vGPU功能把它分配给到每一个虚机提供给这些用户。
所以,现在的解决方案会比之前更加灵活。通过虚拟化的手段,尽量多的满足用户不同场景的需求;通过虚拟化的手段,不断地增强GPU在数据中心里的特性。因为越来越多的人工智能应用在数据中心做训练,训练完以后要上线推理。比如和智能音箱进行沟通,进行语音识别时,后台会有GPU服务器进行支撑。所以,大量GPU数据中心需要被管理起来,需要具备数据中心的特性,这是传统纯物理的GPU所不具备的,需要用虚拟化的手段弥补它在数据中心有一些特性的缺失。