数学:并行计算:dcuda_dynamic_gpu_scheduling_with_live_migration_support
DCUDA: Dynamic GPU Scheduling with Live Migration Support
总结
场景是多个用户的程序共享一个GPU(常见于云服务器)
动态迁移的单位是整个程序不是kernel,正在执行的kernel是不能被打断的
在某个CUDA API或kernel执行结束后,下一个执行之前的间隔,可以迁移整个程序到其他GPU
User Code → DCUDA(分析kernel call的参数) → CUDA/GPU,DCUDA通过在中间层分析函数估算程序资源需求,以此为依据决定迁移策略
数据统一使用CUDA Unified Memory分配,数据迁移后,程序内使用的虚拟地址可以不变
AI总结
核心内容简介:
DCUDA 是一个面向数据中心和云计算环境的 GPU 动态调度系统,支持运行中的 CUDA 应用在多 GPU 之间的“实时迁移”(live migration),旨在解决当前主流 GPU 调度方法的“静态性”和由此带来的 GPU 资源负载不均衡问题。
背景与动机
DCUDA 的贡献
轻量级实时监控:通过拦截 CUDA API 并分析参数,实时准确监控 GPU 利用率与应用资源需求,开销极小。
通用运行时迁移机制:无需修改应用源码,兼容所有 CUDA 应用,利用统一内存(Unified Memory)实现数据按需迁移,迁移开销低于 0.3%。
-
-
技术架构
DCUDA 基于前后端架构:
前端:拦截 CUDA API(以动态链接库方式提供)。
后端:包含监控(Monitor)、调度器(Scheduler)、迁移器(Migrator)三大模块。
利用 CUDA Unified Memory 支持跨 GPU 的按需数据访问与迁移。
核心技术难点与优化
评价实验
总结
DCUDA 是业内首个支持所有 CUDA 应用实时迁移的系统,突破了现有静态调度方案的局限,为提升数据中心 GPU 资源利用率、降低能耗、提升性能与公平性提供了有效方案。
/var/www/DokuWikiStick/dokuwiki/data/pages/数学/并行计算/dcuda_dynamic_gpu_scheduling_with_live_migration_support.txt · Last modified: 2025/07/19 15:06 by zhonghui