揭秘GPU虚拟化,算力隔离,和最新技术突破qGPU( 七 )


 
六、思考 & 致谢

"Lasciate ogne speranza, voi ch'intrate." -- Dante Alighieri
"Καιρ?ν γν?θι." -- Πιττακ?ς ο Μυτιληνα?ος
使用 nVidia GPU 进行计算,有两种场景:1) 推理业务,往往是在线业务;2) 训练业务,往往是离线业务 。这两种业务之间,很难混布到同一个 GPU 上 。甚至两种在线推理业务之间,也很难进行这样的混布 。因为没有 QoS 隔离,你不知道哪一个业务会流量突发,影响另一个业务 。所以,长期以来,关键的在线业务,GPU 利用率都不高,据我们了解,大多在 50%以下,甚至个别 BG 的推理业务只能到~ 20% 。即使 GPU 很昂贵,即使一个业务占不满 GPU,也只能如此 。
我们很自然要问:是 nVidia 做不好 QoS 吗?显然不是 。MPS 也好,GRID vGPU 也好,其 QoS 表现都很优秀 。但是,为什么 MPS 会画蛇添足地引入 CUDA Context Merging 呢?真的是因为这样会带来些许性能上的收益吗?我是持怀疑态度的 。在我看来,更可信的解释是,英伟达公司在拥有市场支配地位的情况下,并不希望提升 GPU 利用率 。卓越的硬件加上封闭的软件生态,当然能带来丰厚的利润 。
学术界、工业界在 CUDA 算力隔离上的努力,这里不再一一列举【1】 。这其中既有 GDEV 这样的以一人之力做出的大神级作品,也有毫无营养的灌水式 paper 。有意思的是,几乎所有的努力都在上层,很少人有勇气下潜到 GPU 硬件的细节中 。我们下潜了,也很幸运地成功了 。
  • 感谢腾讯云虚拟化团队的各位同事,一起加班到深夜,分析搜罗到的各种靠谱和不靠谱的项目和 paper,脑补各种可能的软硬件细节,讨论技术上的各种可能性;
  • 感谢腾讯云 TKE 团队的各位同事,协调客户收集需求、协同产品化开发;
  • 感谢 WXG 的同事,和我们一起梳理 GPU 利用率的痛点;
  • 感谢友商的同类产品,它的 idea 无疑是优秀的;
注释
【1】 部分列表可参考阎姝含的文章: 针对深度学习的 GPU 共享

【揭秘GPU虚拟化,算力隔离,和最新技术突破qGPU】


推荐阅读