GPU 共享/虚拟化方案: 故障隔离、显存隔离、算力隔离
AI 任务一般都会用到 GPU,这类资源相对 CPU/内存 来说往往更加昂贵,目前实现混部的开源方案有很多,基本是通过内核 cgroup 特性 针对传统 CPU 任务来做,真正实现 GPU 混部的方案却很少。因此,实现支持 QoS based GPU 共享/虚拟化,即在支持 故障隔离、显存隔离、算力隔离 的同时 兼顾 GPU 应用性能,对混部来说是一种差异化竞争,意义重大。
目前业界已有的一些 GPU 共享/虚拟化方案:
- 
不支持隔离但同 GPU 可以挂多 Pod(可能被大家称为“软隔离”):
 - 
支持 cuda 层隔离的 vcuda
 - 
MPS
- 百度 MPS+CUDA Hook ,2.0 支持用户态和内核态两种方案
 - 字节火山引擎 过去听分享可能也用到了 MPS
 
 - 
驱动层实现隔离
 - 
GPU 池化
 - 
深度学习共享显存的GPU共享
- 蚂蚁蚁人深度学习
 
 
这些方案架构都比较类似,往往是 scheduler extender + device plugin:
新增 GPU 资源类型,scheduler维护一个新的 GPU 分配量来实现调度和分配逻辑。具体特点:
- 软隔离方案是没有隔离,简单支持 GPU 多挂载,算力、显存等是否超限全靠用户应用自觉;
 - vcuda方案是实现了隔离,拦截 cuda API,实现隔离,但实测性能不是很好,一些推理 case 延迟较高,且需随 cuda api 更新而变动;
 - NVIDIA MPS 性能会好一些,但因为原生没有故障隔离,因此没有研究很多,根据百度文章介绍可能做了一些改造;
 - 第四种驱动层隔离 cGPU 方案,后面腾讯云也推出 qGPU 实现,这类相比之前的方案性能各方面可能会好一点,但只能在公有云上使用,无法用来提高用户自身集群的 GPU 使用率。
 - 蚂蚁深度学习共享显存,是与框架运行时,目前还不能形成标准;
 
以上是过去调研了解到的一些方案,若有错误之处,欢迎批评指正。
「如果这篇文章对你有用,请随意打赏」
FEATURED TAGS
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            agent
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            apiserver
                        
                        
                        
                        
                        
                            application
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            bandwidth-limit
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            cgo
                        
                        
                        
                        
                        
                            cgroupfs
                        
                        
                        
                        
                        
                            ci/cd
                        
                        
                        
                        
                        
                            client-go
                        
                        
                        
                        
                        
                            cloudnative
                        
                        
                        
                        
                        
                            cncf
                        
                        
                        
                        
                        
                            cni
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            community
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            container
                        
                        
                        
                        
                        
                            container-network-interface
                        
                        
                        
                        
                        
                            containerd
                        
                        
                        
                        
                        
                            controller
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            coredns
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            crd
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            cuda
                        
                        
                        
                        
                        
                            custom-controller
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            deployment
                        
                        
                        
                        
                        
                        
                        
                            device-plugin
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            docker
                        
                        
                        
                        
                        
                            docker-build
                        
                        
                        
                        
                        
                            docker-image
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            drop
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            ebpf
                        
                        
                        
                        
                        
                            ecology
                        
                        
                        
                        
                        
                            egress
                        
                        
                        
                        
                        
                            etcd
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            gitee
                        
                        
                        
                        
                        
                            github
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            gitlab
                        
                        
                        
                        
                        
                            golang
                        
                        
                        
                        
                        
                            governance
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            gpu
                        
                        
                        
                        
                        
                            gpu-device
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            hpa
                        
                        
                        
                        
                        
                            http2
                        
                        
                        
                        
                        
                        
                        
                            image
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            ingress
                        
                        
                        
                        
                        
                        
                        
                            iptables
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            jobs
                        
                        
                        
                        
                        
                            kata
                        
                        
                        
                        
                        
                        
                        
                            kata-runtime
                        
                        
                        
                        
                        
                        
                        
                            kernel
                        
                        
                        
                        
                        
                            kind
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            kubelet
                        
                        
                        
                        
                        
                            kubenetes
                        
                        
                        
                        
                        
                            kubernetes
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            library
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            linux-os
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            logging
                        
                        
                        
                        
                        
                            loki
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            metrics
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            monitor
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            namespace
                        
                        
                        
                        
                        
                            network
                        
                        
                        
                        
                        
                            network-troubleshooting
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            node
                        
                        
                        
                        
                        
                        
                        
                            nodeport
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            nvidai
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            ollama
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            pingmesh
                        
                        
                        
                        
                        
                        
                        
                            pod
                        
                        
                        
                        
                        
                        
                        
                            prestop
                        
                        
                        
                        
                        
                            prometheus
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            proxyless
                        
                        
                        
                        
                        
                        
                        
                            pvc
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            rollingupdate
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            schedule
                        
                        
                        
                        
                        
                            scheduler
                        
                        
                        
                        
                        
                        
                        
                            serverless
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            sglang
                        
                        
                        
                        
                        
                        
                        
                            sidecar
                        
                        
                        
                        
                        
                        
                        
                            sigtrem
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            systemd
                        
                        
                        
                        
                        
                        
                        
                            tensorrt-llm
                        
                        
                        
                        
                        
                        
                        
                            throttling
                        
                        
                        
                        
                        
                            timeout
                        
                        
                        
                        
                        
                            tools
                        
                        
                        
                        
                        
                            traceroute
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                            vllm