7 异构计算集群调度与资源管理系统.pdf
文本预览下载声明
1
课程概览
在多租(Multi-Tenant) GPU 集群运行作业(Job)
拥有 20 GPU 配额
拥有 10 GPU 配额
提交TF Job 多用户共享多GPU服务器
提交PyTorch Job • 多作业(Job),多用户
• 作业环境需求多样
• 作业资源需求多样
• 服务器软件环境单一
• 服务器空闲资源多样
拥有 100 GPU 配额 GPU集群
提交MXNet Job
调度与资源管理系统重要性
• 提供人工智能基础架构支持
• 深度学习作业(Job)调度(Scheduling)与管理
• 异构硬件管理
• 提升生产力
• 用户专注于模型创新,无需关注系统部署,管理
• 模型,代码和数据共享,加速研究与创新
深度学习作业(Job)的生命周期
1. 作业提交与排队
2. 作业资源分配与调度
3. 作业执行完成与释放
GPU集群
• 如何提交作业与解决环境依赖问题?
• 如何高效调度作业并分配资源?
• 如何将启动的作业运行时资源与命名空间隔离?
作业,镜像与容器
• 深度学习作业
• 镜像
• 容器
独占服务器执行深度学习作业
GPU服务器
• 独占环境,无需考虑环境,资源隔离问题 P100
• 环境依赖路径: 本地/anaconda3
• GPU环境依赖: 本地/usr/local/cuda
• 数据路径: 本地/data
• 直接执行启动脚本:
python train.py --batch_size=256 --model_name=resnet50
作业提交到平台
{
jobName: restnet,
image: example.tensorflow:stable,
dataDir: /tmp/data, P100
outputDir: /tmp/output,
...
taskRoles: [
环境依赖 { 数据与代码
...
taskNumber: 1, 提交作业 GPU集群
cpuNumber: 8,
memoryMB: 32768,
gpuNumber: 1,
任务数量 command:
显示全部