传统做法按请求可能达到的最大序列长度,预先分配一整块连续显存。多数请求实际长度远小于上限,被预留却未使用的部分形成内部碎片,造成大量显存闲置。
不同请求长度不一,分配与释放交错进行,空闲显存被打散成不连续的小块,难以拼凑出满足新请求所需的整块连续空间,形成外部碎片,进一步降低可用容量。
当多个请求共享同一系统提示词或检索上下文时,连续分配方案会各自独立计算并保存一份前缀的 KV 缓存,无法在请求间复用相同内容,重复占用显存;此外对齐填充也会产生额外浪费。