分类存档: 技术及概念

LMCache Blending 实现解析:从理论突破到工程实践的挑战

摘要 LMCache的Blending(融合)功能,其思想源于荣获学术大奖的“CacheBlend”研究项目 1,代表了大型语言模型(LLM)推理服务中一项关键的范式转变。它超越了传统的、仅限于前缀的KV缓存(Key-Value Cache)复用模式,旨在实现一种更强大、更灵活的非前缀知识融合模型,专为加速如检索增强生成(Retrieval-Augmented Generation, RAG)等复杂工作负载而设计。其核心机制在于,能够将任意文本块预先计算生成的KV缓存,在新的、任意位置的提示(Prompt)中进行复用,仅需进行少量的位置编码校正和局部重计算。 然而,本报告的深度分析揭示了一个关 …

继续阅读 »

LMCache项目深度技术剖析:大语言模型推理加速

I. 引言与架构背景 本章节旨在为LMCache项目建立坚实的技术背景,将其定位为一个深度集成于特定高性能大语言模型(LLM)服务生态系统中的关键组件,而非一个孤立的工具。我们将追溯其从学术研究到当前角色的演进历程,并重点阐述其与vLLM项目之间共生共荣的紧密关系。 A. 项目起源:从芝加哥大学到vLLM生产级技术栈 LMCache项目源于芝加哥大学的LMCache实验室,由助理教授Junchen Jiang领导 。其核心技术,如 CacheGen和CacheBlend,是学术研究论文的直接产物,这为该项目奠定了坚实的理论基础 。该项目是LMCache团队(芝加哥大学)与vLLM团队(加州大学 …

继续阅读 »

含泪喷血更正自己的大小端概念

话说曾经自己的认知是正确的。 也就是大小端和字节序是一个概念,各平台实现不一样但通过网路传输数据时要统一转换成大端。 但是!但是! 在上家公司,在写C代码与同事java用自己的协议通信时数据异常,我说是大小端不对,要调换一下4个字节的顺序。 然后被领导指出,这不是大小端问题,是网络字节序和本地字节序的问题,他给讲解的意思大小端大概齐是那么个我听起来好像是汇编中寄存器的高地址和低地址的那种样子。 ❓ 由于领导是十几年的老开发,我就这么相信他了,从此改变了自己对大小端的认识。 直到前两天这让我栽了个大跟头。 🙁 唉。都是眼泪啊,为毛大牛总讲要勇于质疑,不怀疑不能见真理。子也曰:疑是思之始,学之端。 …

继续阅读 »

文件系统的overlay概念

一个overlay分为上下两层,就跟手机贴膜差不多,不管表面被用成什么样,换层膜就恢复如初。 比如: 微软的EWF,重启还原。 openwrt的overlayfs或mini_fo,底层用压缩的、只读的squashfs文件系统,上面用可写的jffs2,用于恢复路由器的出厂设置。 qcow2文件带有backing_file属性的增量镜像等等等。 但是linux的liveCD镜像或WinPE却不是overlay,它们只是把需要写的目录挂成ramfs或tmpfs之类的内存盘而已。

lvm thinpool是神马

上上文书说道lvm的快照指定空间用满就会直接变成不可用,也没发现什么恢复的方法,觉得这设计不大好看啊。 今天看到了lvm的thin pool、thin volume,看看能不能解决这问题(snapshot也可以是thin volume),不过看完感觉这个貌似更奇葩。 这东西的资料甚少,gentoo.org上看到的说明是说thin volume对块设备来说就相当于稀疏文件(sparse files)对于文件系统一样。 简单说就是thin pool也是一个volume,不过这个volume是放volume的。 而thin volume就是这个放在volume中的volume。 但是thin vol …

继续阅读 »

Erasure code

Erasure code(删除码、容删码)即forward error correction(FEC,前向纠错)是FEC的一种实现 Erasure code是与RAID完全不同的新技术,但是在面对自然灾难或技术故障时同样具有很好的恢复能力,而且Erasure code占用更少的磁盘空间,只需要数据块的一个子集就可以恢复原始数据。 Erasure code把数据分割成若干数据块,然后利用vandermonde矩阵的RS(Reed–Solomon codes)的算法原理将额外的编码信息追加到每个数据块中(膜拜数学帝   😉   ),可以判断出整个数据集中任何位置上的一定数量的错误,并且修复这些错误 …

继续阅读 »