👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
容器服务提供 mGPU(multi-container GPU)方案,实现容器间的 GPU 共享。
说明
mGPU 功能目前处于 公测 阶段。
mGPU 简介
mGPU 是火山引擎基于内核虚拟化隔离 GPU 并结合自研调度框架提供的容器共享 GPU 方案。在保证性能和故障隔离的前提下,mGPU 支持多个容器共享一张 GPU 显卡,支持算力与显存的灵活调度和严格隔离,降低 GPU 使用成本,为充分利用 GPU 硬件资源进行训练和推理提供有效保障。
功能优势
严格隔离
支持显存和算力的严格隔离,细粒度配置算力大小和算力占比,实现 GPU 资源利用率的最大化。兼容开放
支持 Volta、Turing、Ampere 等主流架构,适配标准开源的 Kubernetes。多维监控
支持内置监控客户端,提供多维度监控指标,快捷实现可视化观察能力。更优性能
支持动态调整时间片(timeslice),提高业务进程的吞吐量,进而获取更高的业务性能收益。
方案架构
mGPU 方案架构图如下所示。
在 mGPU 方案中,GPU 设备和 GPU 驱动构成底层 GPU 设备,再通过 mGPU 的内核驱动模块,实现 GPU 设备显存和算力的严格隔离以及故障隔离。mGPU Container Runtime 提供容器运行时配置接口。容器服务基于 Device Plugin 和 Scheduler Plugin 能力,提供用户配置入口。
应用场景
mGPU 支持多个容器共享一张 GPU 显卡,适用于显卡算力较强,但是单个业务应用无需使用整张显卡的场景。多应用共享显卡且应用间算力隔离,能够在提高 GPU 利用率、降低成本的同时,保障业务的安全隔离。