软硬结合,GPU/FPGA云服务器为什么我们做的更好
随着对计算能力越来越高的需求,单纯的CPU计算已经远远不能满足人类的渴望,于是出现了各种各样的计算辅助类的设备,甚至这些设备在计算业务中已经超过CPU而占据了主要的位置。比如当下最流行的AI,GPU和AI芯片已经逐步取代了CPU的位置;还有FPGA,在基因测序、视频转码等领域都发挥出越来越重要的作用。近几年的一大趋势,就是把原本在CPU上执行的业务,移到更专业的计算设备上去,从而极大地提升业务性能。在公有云上,也出现了很多硬件卸载技术,由硬件实现虚拟化的功能,从而极大地提升虚拟机的运行性能。
于是,“软硬结合”这个词又火了起来。“顾名思义”,软硬结合就是要软件和硬件协同工作,共同完成计算任务。说起来容易,做出来难。“软硬结合”实际上对厂商提出了极高的要求。要有硬件的强大设计能力,也要有软件的强大设计能力,还要懂上层业务,软硬件团队协同工作,“珠联璧合”才能发挥出最大的能力。那真正能从硬件、OS、虚拟化、软件到上层业务来进行研发的厂商又有几家。
从16年起,我主要负责了华为云异构计算实例的设计开发与商用上线。我来从我的视角带大家看看,我们是怎么样做到更好的。
不仅仅有GPU
这个要说说我负责的P系列实例了,就以P系列为例吧。P实例当前有三款,P1(P100)、P2(V100)、Pi1(P4)括弧中是使用的GPU型号,P1/P2主要用于AI训练和HPC,Pi1专门为AI推理打造。先打个广告:)对这些业务感兴趣的同学,欢迎使用哦。
经常有人问我,反正各家公有云用的GPU都是一样的,能力上肯定没什么差别呀,华为云的GPU实例又有什么竞争力呢?这么想就错了,虽然叫GPU实例,但对于我来讲,要给客户提供一台完美的GPU虚拟机,GPU的重要性只占4分之1。与之搭配的物理服务器、虚拟化环境以及资源调度同样重要。任何一方面没有做到极致,都会影响最终的业务性能。
先不说技术,咱们先来看看好与不好的两个效果。我在网上找了一下基于GPU direct技术的真实业务数据。如下图,是Amber在4张P100环境中运行时,GPU direct(P2P)技术对于性能的影响,可以看到GPU direct技术使Amber的性能提升了1.5倍多。GPU direct是NVIDIA推出的技术,简单讲就是不需要CPU参与,多个GPU之间能够直接交换数据。CPU由于其工作职责的原因,在整个系统中多多少少会成为瓶颈,尤其在重载型的IO或计算系统中。GPU direct技术消除了这个瓶颈。对于有类似场景的业务,比如AI训练,都会对性能有非常明显的提升。(以上这些主要是想讲讲GPU direct技术的重要性)
以上讲的的确都是GPU自身的能力,貌似和云没有几毛钱关系啊。大家别急,再来看看下面这张图,看出什么来了么?下图显示了我实测的三组数据,是三种情况下的GPU之间的数据传输带宽。第一个深蓝色的框框,是GPU direct关闭时的传输带宽;第二个浅蓝色的框框是某商在GPU direct生效时的传输带宽;第三个红框框是华为云的GPU direct传输带宽。从这开始,就有差别了。对照上面的图一起来看,能不能在云上把这个场景的业务能力全部发挥出来,这就一目了然了。
为什么会有这么大的差别呢?公有云的核心技术之一就是虚拟化。搞过虚拟化或被虚拟化搞过的人都明白(原谅我皮一下),硬件经过虚拟化以后,多多少少都会有一些性能损失,越高端的硬件虚拟化后的性能损失越严重。比如我手上能跑到70万IOPS的NVME SSD,在qemu前后端最高只能跑到25万,而且需要占用十几个后端CPU超线程,这个就太痛苦了。那我们是怎么样做到的呢,原谅我先卖个关子,这篇blog主要讲效果,原理部分我以后再说。
出乎意料的好
再讲个真实的客户案例,我们有一个客户,他们自己是用GeForce GTX 1080的GPU,随着业务大量增长,他们自己的计算规模已经远远不能满足业务的计算量需求。当时选择我们的P1实例进行POC测试。客户自己分析过他们自己的环境与华为云的P1实例,客户的业务主要是做单精度运算,软件都是自己开发的,所以客户根据1080与P100的单精度能力做了心理预期:华为云的P1实例与他们的自建集群性能持平。如下图,直观上看,1080的单精度能力的确是与P100几乎持平的。
但我对于最终的测试结果却非常看好。在华为云上的最终性能提升了两倍,实际上在某些场景下性能能够提升三倍。客户在拿到测试数据以后,第一个说的单词是“amazing”。不可否认,P100虽然和1080是同时代的GPU,P100自身的架构还是优于1080的。但在这个场景下,不是仅仅GPU的能力发挥了效果。再次原谅我先卖个关子,这篇blog主要讲效果,原理部分我以后再说。
这篇文章主要从两个小例子讲一下我们和别家不一样的效果。对原理感兴趣的同学,请关注我后面的文章。
- 点赞
- 收藏
- 关注作者
评论(0)