基于Volta MPS执行资源配置下的多容器共享GPU性能测试

基于Volta MPS执行资源配置下的多容器共享GPU性能测试

终于有机会再V100上做实验啦,接上篇博客《你真得了解多个docker容器如何共享GPU么?》,继续在GPU共享的道路上徘徊摸索。。。

一、实验背景

一般而言,多容器共享GPU会引发资源竞争和浪费的问题,不仅GPU利用率不高,也无法保证QoS。当使用NVIDIA MPS时,MPS Sever会通过一个CUDA Context管理GPU硬件资源,多个MPS Clients会将它们的任务通过MPS Server传入GPU,从而越过了硬件时间分片调度的限制,使得它们的CUDA kernels实现真正意义上的并行。特别地,Volta MPS可以兼容docker容器,并且支持执行资源配置(即每个Client context只能获取一定比例的threads),提高了多容器共享GPU的QoS。

二、实验目的

通过实验主要回答以下三方面问题:

  • 开启/关闭MPS对多容器共享GPU的性能影响如何?
  • Volta MPS的执行资源配置效果如何?
  • 多容器共享GPU的公平性如何?

三、实验环境

系统:Ubuntu 18.04.1 LTS

内核:4.15.0-43-generic

显卡:Tesla V100-PCIE-16GB

软件:CUDA 10.0, NVIDIA-DOCKER 2.0, DOCKER 1.39, NVIDIA Drivers 410.48, gcc 7.3.0

四、实验步骤

  • 开启与关闭MPS

第一部分,我们主要研究开启和关闭MPS对GPU性能的影响。默认情况下,GPU是没有开启MPS的,每个CUDA程序会创建自己的CUDA Context来管理GPU资源,并以时间分片的方式共享GPU。开启MPS后,在需要的时候,MPS control daemon会启动一个MPS Server,监听任务请求。

开启MPS的方式如下

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值