Large language models (LLMs) are widely used but expensive to run, especially as inference workloads grow. To lower costs, maximizing the request batch size by managing GPU memory efficiently is crucial. While PagedAttention has recently been proposed to improve the efficiency of memory management, we find that the growing heterogeneity in the embeddings dimensions, attention, and access patterns of modern LLM architectures introduces new challenges for memory allocation. In this paper, we present Jenga, a novel memory allocation framework for heterogeneous embeddings in LLMs. Jenga tackles two key challenges: (1) minimizing memory fragmentation when managing embeddings of different sizes, and (2) enabling flexible caching and eviction policies tailored to the specific token-dependency patterns of various layers. Jenga employs a two-level memory allocator, leveraging the least common multiple (LCM) of embedding sizes to optimize memory usage and providing APIs to express layer-specific caching logic to enhance memory reuse. We implemente Jenga on vLLM, a state-of-the-art LLM inference engine, and evaluate it with diverse LLMs, datasets, and GPU configurations. Evaluations show that Jenga improves GPU memory utilization by up to 79.6%, and increases serving throughput by up to 4.92x (1.80x on average).
@article{arxiv.2503.18292,
title = {Jenga: Effective Memory Management for Serving LLM with Heterogeneity},
author = {Chen Zhang and Kuntai Du and Shu Liu and Woosuk Kwon and Xiangxi Mo and Yufeng Wang and Xiaoxuan Liu and Kaichao You and Zhuohan Li and Mingsheng Long and Jidong Zhai and Joseph Gonzalez and Ion Stoica},
journal= {arXiv preprint arXiv:2503.18292},
year = {2025}
}