目录

ElasticServe:面向 MaaS 模型混部的轻量级 GPU 资源弹性管理系统

参赛队伍:铁甲依然在。赛题:研究创新赛道,赛题 14,MaaS 平台中模型混部的资源编排与性能优化。

项目简介、应用场景与主要功能

ElasticServe 面向共享 GPU 集群中的多模型在线推理,围绕服务状态与计算执行解耦、GPU 计算份额调整、动态 KV 缓存管理以及服务延迟反馈控制展开。系统设计和实验结果详见项目说明书。

提交目录与材料

系统环境与依赖要求

项目运行目标为 Linux / NVIDIA GPU 环境,涉及 Python、PyTorch、CUDA Driver、CUDA MPS、CUDA VMM、C++ 编译工具与 tmux。实验环境为 Ubuntu 22.04、CUDA 12.8、vLLM 0.10.1;不同实验的具体硬件配置见说明书第 4 章。代码包含 vLLM 及其Apache 2.0 许可证,完整构建依赖以项目源码与 requirements 为准。

构建与安装

在匹配的 Linux/CUDA/PyTorch 环境中安装项目及自定义扩展。扩展构建和二进制依赖说明见源码回迁说明。

cd src
python -m pip install -e ./vllm --no-build-isolation
python -m pip install ./torch_tensor_module --no-build-isolation
python -m pip install ./vmm_tensor --no-build-isolation

模型权重和负载数据按运行配置准备,模型路径使用本机实际目录。

运行方法

启动入口为 src/scripts/run_elastic_tmux.sh 和 src/scripts/launch_elastic_experiment.py,配置位于 src/scripts/。具体说明见源码 README。

cd src/scripts
# 先将配置中的模型、解释器、项目目录改为实际路径
export ELASTIC_PYTHON=/path/to/python
bash run_elastic_tmux.sh /path/to/launch-config.json

utils/constants.py 与 scripts/launch_elastic_experiment.py 中的项目根目录使用绝对路径,运行前将其设置为当前部署目录,并保持配置一致。

测试方法

配套测试位于 src/tests/,负载处理脚本位于 src/workload/。在匹配依赖环境中可运行:

cd src
python -m pytest tests

测试分类与脚本位置见测试材料说明。GPU、MPS、VMM、跨进程共享与多模型压力测试在相应 Linux GPU 环境中执行。

运行条件与限制

  1. CUDA MPS、CUDA VMM 与 GPU 跨进程共享功能依赖 Linux/NVIDIA GPU,不能在纯 CPU 环境中执行对应测试。
  2. 自定义扩展与 CUDA、PyTorch 和 GPU 架构相关,更换部署环境时按目标环境重新构建。
  3. 模型目录、Python 解释器、项目根目录及实验配置使用实际部署路径。
关于
392.6 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号