Prism: Unleashing GPU Sharing for Cost-Efficient Multi-LLM Serving

📄 arXiv: 2505.04021v2 📥 PDF

作者: Shan Yu, Jiarong Xing, Yifan Qiao, Mingyuan Ma, Yangmin Li, Yang Wang, Shuo Yang, Zhiqiang Xie, Shiyi Cao, Ke Bao, Ion Stoica, Harry Xu, Ying Sheng

分类: cs.DC, cs.AI, cs.LG, cs.PF

发布日期: 2025-05-06 (更新: 2025-05-12)


💡 一句话要点

Prism:释放GPU共享潜力,实现多LLM服务的高性价比

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: GPU共享 多LLM服务 内存管理 资源调度 服务级别目标 成本优化 动态资源分配

📋 核心要点

  1. 现有GPU共享系统无法根据运行时负载动态调整资源分配策略,难以满足多LLM服务中快速变化的延迟需求。
  2. Prism通过动态物理-虚拟内存页映射实现按需内存分配,支持跨模型灵活的GPU内存共享。
  3. Prism采用双层调度策略,根据模型运行时需求动态调整共享策略,显著提升内存效率和SLO达成率。

📝 摘要(中文)

服务大型语言模型(LLM)成本高昂,特别是对于托管多个模型的提供商而言,降低成本至关重要。服务多个LLM(即多LLM服务)的独特工作负载模式为此任务创造了新的机遇和挑战。模型的长尾效应和长时间的空闲期为通过GPU共享提高利用率提供了机会。然而,现有的GPU共享系统缺乏在运行时调整其资源分配和共享策略的能力,使其在快速波动的工作负载下无法有效地满足延迟服务级别目标(SLO)。本文提出了Prism,一个多LLM服务系统,它释放了GPU共享的全部潜力,以实现成本效率和SLO的达成。Prism的核心在于解决现有系统的一个关键限制——缺乏跨模型内存协调,这对于在动态工作负载下灵活地在模型之间共享GPU内存至关重要。Prism通过两个关键设计实现这一点。首先,它通过动态地将物理内存页映射到虚拟内存页来支持按需内存分配,从而允许在空间和时间上共享GPU的模型之间灵活地重新分配内存。其次,它通过一种双层调度策略来提高内存效率,该策略根据模型的运行时需求动态地调整共享策略。在真实世界轨迹上的评估表明,与最先进的系统相比,Prism实现了超过2倍的成本节省和3.3倍的SLO达成。

🔬 方法详解

问题定义:论文旨在解决多LLM服务场景下,GPU资源利用率低和难以满足延迟服务级别目标(SLO)的问题。现有GPU共享系统缺乏跨模型内存协调能力,无法根据动态的工作负载灵活地分配和共享GPU内存,导致资源浪费和性能瓶颈。

核心思路:Prism的核心思路是通过动态的物理-虚拟内存页映射和双层调度策略,实现跨模型的灵活GPU内存共享和资源分配。这种方法允许模型按需分配内存,并根据运行时需求动态调整共享策略,从而提高GPU利用率并满足延迟要求。

技术框架:Prism包含以下主要模块:1) 内存管理器:负责物理内存和虚拟内存之间的映射,支持按需内存分配和回收。2) 调度器:包含全局调度器和局部调度器。全局调度器负责在不同模型之间分配GPU资源,局部调度器负责在单个模型内部调度计算任务。3) 监控器:实时监控模型的资源使用情况和性能指标,为调度器提供决策依据。

关键创新:Prism的关键创新在于其跨模型内存协调机制,它允许模型在运行时动态地共享GPU内存。与传统的静态内存分配方法相比,Prism能够更有效地利用GPU资源,并更好地适应动态的工作负载。此外,双层调度策略能够根据模型的运行时需求动态调整共享策略,进一步提高了内存效率和SLO达成率。

关键设计:Prism的双层调度策略是其关键设计之一。全局调度器根据模型的优先级和资源需求,将GPU资源分配给不同的模型。局部调度器则根据模型内部计算任务的依赖关系和资源需求,调度计算任务的执行顺序。此外,Prism还采用了一种基于预测的资源分配策略,根据历史数据预测模型的未来资源需求,从而提前分配资源,减少延迟。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

在真实世界轨迹上的评估表明,Prism相比于最先进的系统,实现了超过2倍的成本节省和3.3倍的SLO达成。这些结果表明,Prism能够有效地提高GPU利用率,并满足多LLM服务中的延迟要求。实验结果验证了Prism的跨模型内存协调机制和双层调度策略的有效性。

🎯 应用场景

Prism适用于需要同时服务多个大型语言模型的场景,例如云服务提供商、AI平台和研究机构。它可以显著降低GPU资源成本,提高服务质量,并支持更多用户和应用。未来,Prism可以扩展到支持更多类型的AI模型和服务,并与其他资源管理系统集成,实现更高效的资源利用。

📄 摘要(原文)

Serving large language models (LLMs) is expensive, especially for providers hosting many models, making cost reduction essential. The unique workload patterns of serving multiple LLMs (i.e., multi-LLM serving) create new opportunities and challenges for this task. The long-tail popularity of models and their long idle periods present opportunities to improve utilization through GPU sharing. However, existing GPU sharing systems lack the ability to adjust their resource allocation and sharing policies at runtime, making them ineffective at meeting latency service-level objectives (SLOs) under rapidly fluctuating workloads. This paper presents Prism, a multi-LLM serving system that unleashes the full potential of GPU sharing to achieve both cost efficiency and SLO attainment. At its core, Prism tackles a key limitation of existing systems$\unicode{x2014}$the lack of $\textit{cross-model memory coordination}$, which is essential for flexibly sharing GPU memory across models under dynamic workloads. Prism achieves this with two key designs. First, it supports on-demand memory allocation by dynamically mapping physical to virtual memory pages, allowing flexible memory redistribution among models that space- and time-share a GPU. Second, it improves memory efficiency through a two-level scheduling policy that dynamically adjusts sharing strategies based on models' runtime demands. Evaluations on real-world traces show that Prism achieves more than $2\times$ cost savings and $3.3\times$ SLO attainment compared to state-of-the-art systems.