- 博客(338)
- 收藏
- 关注
原创 Systematic CXL Memory Characterization and Performance Analysis at Scale——论文阅读
针对CXL内存的性能进行分析,本文使用了4个CXL设备、5个CPU平台,对265个工作负载进行分析。(1)在基准测试方面:不同CXL设备性能表现不同,相比与本地内存和NUMA尾延迟更高、稳定性不足,在混合读写下CXL带宽更高。(2)在应用层:多数负载可以容忍CXL内存的延迟,性能下降不明显, 但对带宽受限应用下降明显,CXL与NUMA组合尾延迟更高。
2025-03-31 16:27:13
642
原创 Rethinking the Request-to-IO Transformation Process of File Systems for Full Utilization of...——论文泛读
针对SSD文件系统无法充分发挥SSD性能,由于SSD页面对齐开销、页面缓存开销、IO并发性不足。本文提出OrchFS,利用少量NVM来最大限度地提高SSD的性能。包括2个创新点:(1)优化文件系统请求到IO转换,分为SSD页面对齐的SSD IO和SSD页面未对齐的NVM IO。并采用了三种数据路径:SSD IO利用直接IO和多线程IO;NVM IO使用内存语义NVM数据路径;SSD读取使用缓冲IO。(2)提出了几种新技术:具有三种存储单元的异构数据布局;高效的文件写分区策略(对齐,碎片最小化);
2025-03-11 10:49:57
687
原创 AC-Cache: A Memory-Efficient Caching System for Small Objects via Exploiting Access Correlations——泛读
针对内存KV缓存问题,现有方法主要适用于大对象,进行对象划分和复制。本文分析发现小对象占主要部分,且访问高度倾斜、热点稳定。于是提出AC Cache,用于小对象的访问相关性感知的内存缓存系统。包括3个技术:(1)将KV对象的分布表示为整数线性规划问题,以平衡数据访问和内存消耗。(2)基于Count-Min Sketch,捕获访问相关性,并生成细粒度的相关性组。(3)将相关性组的分布表示为最大流问题平衡负载,并利用启发式算法调度平衡内存消耗。
2025-03-10 11:00:18
431
原创 Don’t Maintain Twice, It’s Alright: Merged Metadata Management in Deduplication File System...——论文泛读
针对重复数据删除文件系统(DedupFS),现有架构需要维护文件系统的逻辑到物理(L2P)映射表和用于重复数据删除的指纹到物理(FP2P)映射表,导致额外的元数据开销。本文提出GOGETAFS,核心思想是将FP2P和L2P合并,包括3个技术:(1)LFP映射,将FP2P和L2P合并,减少元数据I/O操作,减少一致性开销。(2)全局LFP表,存储于内存中,根据FP快速查找物理地址和引用计数。并根据内存大小设计不同存储策略。
2025-03-05 11:28:47
706
原创 ByteFS: System Support for (CXL-based) Memory-Semantic Solid-State Drives——论文泛读
针对基于CXL/PCIe的内存语义SSD,同时支持字节/块粒度的访问,现有文件系统对其支持不足。本文提出ByteFS,通过软硬件协同优化提升内存语义SSD上文件系统的性能,包括3个技术:(1)双接口访问优化,元数据使用字节接口,数据块和日志根据大小选择接口,页面缓存根据局部性选择接口。(2)SSD DRAM日志结构管理,以缓存行粒度设计日志结构,异步合并和写回,通过跳表加快查询。(3)主机和SSD DRAM协同缓存,主机缓存元数据和数据,SSD只缓存日志用于持久化。
2025-03-04 11:33:46
502
原创 3L-Cache: Low Overhead and Precise Learningbased Eviction Policy for Caches——论文泛读
针对基于学习的缓存策略,现有方法受限于计算开销高、对象未命中率高、字节未命中率高。本文提出3L Cache,包括3个技术:(1)训练数据收集方案:动态滑动窗口,过滤掉不必要的历史缓存请求。采样策略,只在窗口中采样同时避免重复采样。动态调整训练频率,使用GBM进行训练。(2)驱逐策略:双向采样策略,从缓存队列的头部和尾部采样。驱逐策略,利用最大堆和哈希表存储预测结果,每次淘汰预测下次访问时间最长的对象。(3)参数自动调整。调整窗口大小、采样范围、采样比例、新对象缓存比例等。
2025-03-03 14:18:32
1060
原创 Read-Optimized Persistent Hash Index for Query Acceleration through Fingerprint Filtering...——论文阅读
针对PM上的哈希索引,现有方法受限于PM读延迟高和读锁开销,导致正查询和负查询延迟高。本文提出基于指纹过滤和无锁预取的持久哈希索引,称为ROPHI。包括3个技术:(1)指纹过滤:使用存储于DRAM的布谷鸟过滤器,存储密钥指纹,过滤查询中的假阴性。(2)哈希表设计:链式哈希来解决哈希冲突,互斥写锁保证并发正确,原子合并刷新机制减少一致性开销,头桶来缩短平均链长。(3)无锁预取:无锁乐观并发读技术避免读锁开销,利用缓存减少对持久内存的访问。
2025-02-17 11:06:26
290
原创 SuperMap: High-Performance and Flexible Memory-Mapped IO for Fast Storage Device——论文泛读
针对内存映射IO面临快速存储设备时的问题:繁重的页错误处理IO栈、预取机制低效、页面驱逐策略低下。本文提出SuperMap,针对快速存储设备的IO框架。包括3个技术:(1)轻量异步IO栈:直接访问设备,绕过内核IO栈;利用文件索引缓存,加快页面定位;异步页错误处理和脏页回写。(2)基于eBPF的细粒度预取:每线程页面访问跟踪,识别不同访问模式;支持用户自定义的预取策略。(3)热点感知的页面驱逐策略:利用Intel PEBS硬件采样机制,收集页面访问频率区分冷热;根据页面热度进行驱逐。
2025-02-14 16:31:03
944
原创 从BERT到ChatGPT:大模型训练中的存储系统挑战与技术发展——论文泛读
大模型训练过程中对存储需求大,具有独特的计算模式、访存模式、数据特征,需要根据特征设计合适的存储策略。大模型训练存储加速技术:(1)显存管理:数据并行、流水线并行、张量并行。(2)异构存储技术:利用DRAM、SSD,卸载模型参数、优化器数据、中间结果,并进行预取。(3)数据缩减:增加计算量(激活量重算)或牺牲模型精度(半精度训练)。大模型训练容错技术:(1)参数检查点:将检查点过程拆分,与模型训练重叠。(2)冗余计算:在多张GPU重复计算。
2025-02-11 11:20:51
992
原创 Fine-Grained Shared Cache Interference Analysis using Basic Block’s Execution Time——论文泛读
针对多核架构下程序执行时间预测,现有方法将整个程序执行时间用于分析内存访问干扰,导致预测不准确。本文提出基于基本块执行时间的共享缓存干扰分析方法。通过路径分析,计算每个基本块的执行时间和相对于程序起点的偏移时间。分析核间基本块是否有时间重叠和空间重叠,确定内存访问干扰。
2025-02-10 10:40:52
249
原创 Towards Functional Decomposition of Storage Formats——论文阅读
针对数据存储层的设计,需要同时满足数据压缩和数据搜索加速(布隆过滤器),但没有单一的分区大小可以同时满足二者。本文提出将数据与索引结构分离,使用不同的分区大小分别优化两个目标。对于压缩,数据倾斜分布时需要10k+的分区大小,数据温和分布时需要1k+的分区大小。对于搜索加速,数据倾斜分布时需要128的分区大小,数据温和分布时优化有限。没有统一的分区大小,需要取决于元数据类型、底层数据和应用查询设计最佳搜索加速的分区大小。
2025-02-06 11:16:45
628
原创 SchInFS: A File System Integrating Functions of the Block I/O Scheduler for ZNS SSDs——泛读笔记
针对ZNS SSD上文件系统写入性能问题,现有文件系统:无法同时利用多个区域的吞吐量;在单个区域内并发写入的方法效率低下。本文提出SchInFS,集成了块I/O调度器功能的多头日志ZNS SSD文件系统。包括3个技术:(1)多头日志设计,同时利用多个区域的吞吐量。(2)每个日志单独一个合并队列,促进了高效的跨线程写入块。(3)使用块I/O提交控制器(BSC)确保在单个区域内及时提交请求和有序写入。
2025-02-05 10:58:11
320
原创 Unifying serverless and microservice tasks with SigmaOS——论文泛读
针对多租户云操作系统,现有架构难以同时实现容器编排系统和无服务器框架。本文提出σOS,提供了一个以云为中心的API,同时支持无服务器和微服务。包括4个技术:(1)使用proc构建应用程序,proc使用云存储,在多个proc之间共享通用的只读文件系统。(2)σOS为进程提供了一种网络寻址方案(σEP),只允许同租户的进程之间进行通信。(3)σOS将每个proc隔离在σ容器中,防止proc使用运行时不需要的系统调用。
2024-12-31 10:21:28
695
原创 NACL: A General and Effective KV Cache Eviction Framework for LLMs at Inference Time——论文泛读
针对大语言模型(LLM)缓存占用过高的问题,现有KV Cache驱逐策略逐步驱逐,导致基于有偏见的局部统计数据。本文提出NACL,包括2个技术:(1)采用逐层驱逐策略,在编码阶段统计全局注意力分散,一次性执行驱逐。(2)结合2种驱逐策略,代理令牌驱逐(聚焦任务相关令牌避免注意力偏差),随机驱逐(根据概率分布随机驱逐)。
2024-12-30 11:25:40
547
原创 COVER: Alleviating Crash-Consistency Error Amplification in Secure Persistent Memory Systems——论文泛读
针对PM系统的崩溃一致性问题,当用于维护崩溃一致性的元数据(日志、检查点)出现错误时,无法判断数据的一致性状态,因此需要丢弃大量不可验证的数据。本文提出COVER,关键思路是,关联元数据与数据的相对位置,在元数据错误的情况下实现数据定位,从而减少丢弃数据的数量。添加了状态跟踪表(STT),跟踪数据的一致性状态,仅在状态发生变化时更新(事务)。进一步提出3种跟踪策略:(1)仅跟踪数据块是否被事务更新,效率高但效果较弱。(2)跟踪事务信息,避免假阳性不一致,但引入更高的开销。
2024-12-23 11:32:48
883
原创 LDPP: A Learned Directory Placement Policy in Distributed File Systems——论文泛读
针对DFS的负载均衡问题,现有方法多数基于文件级,将文件在不同存储节点间负载均衡。本文分析发现相同时间窗口内,目录访问热点比文件访问热点更持久、更稳定。提出基于机器学习的目录放置策略 LDPP,包括3个技术:(1)收集目录请求数据,提取请求频率、请求类型、请求大小,使用lightGBM进行训练和预测目录未来状态(存储容量、带宽和IOPS)。(2)根据状态信息,基于曼哈顿距离以多维方式将目录放置在不同的节点。(3)基于聚类将目录分类,考虑同类目录间的资源竞争,放置在合适存储节点上。
2024-12-20 10:30:26
431
原创 DEFUSE: An Interface for Fast and Correct User Space File System Access——论文泛读
针对用户空间文件系统接口的实现,现有方法如:用户空间库、LD_PRELOAD库、FUSE,难以实现灵活性、效率、访存一致性。本文提出DEFUSE,实现用户空间FS访问接口,包括3个技术:(1)绕过文件描述符(FD)查找,利用FD缓存,减少FD查找时上下文切换数量,并确保FD由内核管理。(2)FD缓存。利用共享内存,在进程结束前保存FD状态,并由其他进程继续使用,从而避免FD丢失。(3)用户空间分页。通过userfaulted管理页错误,拦截mmap和munmap请求,从而在用户空间处理页错误。
2024-12-19 10:49:49
794
原创 Zebra: An Efficient, RDMA-Enabled Distributed Persistent Memory File System——论文阅读
针对基于RDMA和PM的分布式文件系统,现有架构受限于复制开销和固定传输大小。本文提出Zebra,支持RDMA的分布式PM文件系统。包括2个技术:(1)使用复制组(RG),将存储节点分成组,组中节点作为彼此的备份。(2)自适应RDMA传输协议。当传输少量文件或小尺寸文件时,使用链式传输模式。当传输大量文件和大尺寸文件时,使用分割/交织传输模式,分别将部分文件传输到复制组的不同节点,随后节点间相互传输。
2024-12-18 11:00:58
290
原创 NapFS: A High-Performance NUMA-Aware PM File System——论文泛读
针对多socket的PM文件系统,现有架构缺少对NUMA架构的优化,导致远程PM读写,访存负载不均衡等问题。本文实验了NUMA架构对PM的影响,提出两个设计原则(1)完全使PM访问本地化,即使导致远程DRAM访问;(2)限制并发PM访问。并设计了NUMA感知PM文件系统NapFS,包括3个技术:(1)通过数据请求委派避免远程PM访问。构建每个socket专用IO线程池,仅负责访问本地socket上的数据。
2024-12-17 10:59:43
948
原创 SmartQuant: CXL-based AI Model Store in Support of Runtime Configurable Weight Quantization——论文阅读
针对如何利用CXL和低精度权重来优化内存访问速度和能源效率。本文提出SmartQuant,利用CXL内存存储AI模型权重,结合权重重要性降低访问数据量。包括2个技术:(1)位平面级内存放置,将模型权重不连续存储,而是按位存储,从而允许选择性的读取部分权重,降低读取数据量。(2)内存逻辑空间膨胀,将不同精度的权重逻辑上暴露给主机,便于主机使用,通过CXL控制器读取相应数据并构建不同精度权重。
2024-12-16 10:42:56
562
1
原创 Exploring and Evaluating Real-world CXL: Use Cases and System Adoption——论文泛读
针对真实CXL硬件在各种环境下实际使用的性能进行测试,得到以下结论:(1)CXL相比于本地内存增加2.2-2.8倍延迟。CXL带宽更容易饱和,低于本地内存(LDRAM),接近远程内存(RDRAM),同时访问DRAM和CXL可以有效增加带宽。混合负载下,CXL的带宽和延迟接近RDRAM。(2)在HPC工作负载中,使用CXL内存时,应用程序级交织会降低性能,数据对象级交织可以与以LDRAM为中心的页面分配性能相当或更好。(3)在LLM工作负载中,CXL可以扩展内存容量,提高系统吞吐量。
2024-12-13 11:13:59
1020
原创 Tiresias: Optimizing NUMA Performance with CXL Memory and Locality-Aware Process Scheduling——论文泛读
针对基于CXL的扩展内存使用,优化其上运行的工作负载性能。本文提出Tiresias,一种基于反馈的控制器,对延迟敏感(LC)和尽力而为(BE)应用分别调度。包括3个技术:(1)工作负载感知和内存带宽管理。定期通过load/store指令测试延迟,检测高延迟负载(BE),采用页表无效来限制带宽使用。(2)利用CXL内存缓解内存带宽争用。针对BE负载,对内存地址采样,将使用频率低的页面迁移到CXL内存。(3)页面和进程调度。将页面放置在分配后首先读/写此页面的处理器上。
2024-12-11 17:53:56
508
原创 Telepathic Datacenters: Fast RPCs using Shared CXL Memory——论文泛读
针对远程过程调用(RPC)的优化,现有方法需要昂贵的序列化和压缩才能通信。本文提出RPCool,利用CXL共享内存功能的RPC框架。包括以下技术:(1)通过传递指向共享内存数据结构的指针来通信。(2)限制发送方对RPC参数的访问,避免并发访问数据。(3)通过沙盒指定指针范围,检查无效或野指针。(4)将跨机架通信回退到基于RDMA的通信,并提供统一RPC接口。(5)利用租约机制感知应用程序故障,防止数据丢失或内存泄漏。
2024-12-11 10:30:02
449
原创 An LPDDR-based CXL-PNM Platform for TCO-efficient Inference of Transformer-based LLM...——论文泛读
针对提升大型语言模型(LLM)训练和推理所需内容容量和带宽的问题,模型并行等方法受限于低互联带宽,近内存处理(PNM)受限于扩展性和性能不足。本文提出CXL-PNM,基于CXL的PNM平台,优化GPU的容量和带宽,主要包括3个技术:(1)基于LPDDR5X的CXL内存架构,比DDR5和GDDR6有更高容量和带宽。(2)与推理集成的控制器,提供更高容量(硬件堆叠),可扩展性(多设备并行),并发(硬件仲裁管理),地址冲突(CXL内存映射避免冲突)。(3)完整软件栈,支持python程序简单转换。
2024-12-10 11:40:43
914
原创 CLAY: CXL-based Scalable NDP Architecture Accelerating Embedding Layers——论文泛读
针对深度神经网络的嵌入层训练,解决训练过程中容量和性能的问题。现有方法基于双列直插式内存模块(DIMM)的近数据处理(NDP)架构,难以扩展容量,且受限于硬件架构无法完全并行。本文提出CLAY,基于CXL的NDP架构,包括4个技术:(1)将多个DRAM模块与专用的向量处理单元(Vector PU)互连,以减少DRAM模块之间的数据传输开销。(2)细粒度内存地址映射,将嵌入向量分片存储在多个DRAM集群中,来缓解负载不平衡。
2024-12-09 11:24:44
605
原创 Enabling Efficient Large Recommendation Model Training with Near CXL Memory Processing——论文泛读
针对推荐模型对内存需求过高的问题,利用CXL和近内存处理可以有效缓解推荐模型的嵌入层训练。本文提出了ReCXL,结合CXL和近内存计算(NMP)优化推荐模型训练。包括3个技术:(1)统一NMP架构,在CXL内存中集成了NMP单元,在前向和反向传播中减少传输数据量。(2)无依赖预取,在硬件空闲时提前预取下一批次数据。(3)细粒度调度,优化嵌入向量更新顺序,减少等待时间。
2024-12-09 11:22:11
692
原创 Bandwidth Expansion via CXL: A Pathway to Accelerating In-Memory Analytical Processing——论文阅读
针对将CXL用于数据库管理系统(DBMS)的效果,现有方法均将CXL用于扩展内存容量,但忽略了增加带宽的优势。本文测试了将DRAM和CXL内存交错使用的场景。在顺序和随机读写下,DRAM和CXL内存比在3:2时可以最大程度发挥带宽,甚至高于纯DRAM,提升1.61倍。在其他场景下,DRAM和CXL内存交错使用带宽也有提升,但受限于其他因素提升效果有限但依旧有提升。
2024-12-05 11:29:33
387
原创 RomeFS: A CXL-SSD Aware File System Exploiting Synergy of Memory-Block Dual Paths——论文泛读
针对CXL-SSD硬件下的文件系统,CXL-SSD提供CXL.mem和CXL.io双模接口,分别连接内存区和SSD区,但现有文件系统无法适应这种新架构。本文提出RomeFS,协同利用CXL.mem和CXL.io数据路径来处理文件操作,包括3个技术:(1)双路径数据布局,将元数据存储在CXL.mem数据区,将文件数据存储在CXL.mem和CXL.io数据区,运行时协同使用两个数据路径对文件数据进行双路径访问。(2)混合并行文件索引,定位两条数据路径上的文件数据。
2024-12-04 11:04:53
954
原创 HeMem: Scalable Tiered Memory Management for Big Data Applications and Real NVM——论文泛读
针对DRAM和NVM组成的分层内存的管理,基于硬件方法无法区分不同应用程序,基于软件的方法性能开销高。本文提出HeMem,包括以下技术:(1)异步分析采样的CPU事件,区域页面冷热。(2)异步内存管理,在程序执行时异步批处理迁移内存。(3)区分读写事件,将重写数据结构放置在DRAM中。(4)实现为用户级库,为每个应用实施内存管理策略。
2024-12-03 10:45:25
785
原创 Fast Core Scheduling with Userspace Process Abstraction——论文泛读
SOSP 2024 Paper论文阅读笔记整理问题随着网络带宽(最高400Gbps)和IOPS(每秒一百万次)的增加,CPU的性能一直相对停滞不前,并成为主要瓶颈。为了节省CPU资源,最近的系统(例如盘古[37]、Snap[34]、FaRM[14,15]、MICA[31]、RAMCloud[40]等)采用了内核旁路来消除内核开销并实现裸机硬件性能。将硬件设备映射到用户空间,并广泛使用运行到完成(RTC)模型来运行应用程序逻辑。与此同时,云应用程序(如微服务、无服务器等)通常被打包到共享集群中(
2024-12-02 15:18:15
874
原创 Range Cache: An Efficient Cache Component for Accelerating Range Queries on LSM-Based KV...——论文泛读
针对LSM树的缓存问题,传统方法使用块缓存,但对范围查询不友好。本文提出Range cache,缓存单位为键值对,以LRU组织缓存的数据决定插入和逐出,利用跳表(Skiplist)和指针将缓存的数据组织成有序的,从而优化范围查询。
2024-11-29 10:41:05
444
原创 Bandwidth-Effective DRAM Cache for GPUs with Storage-Class Memory——论文泛读
针对将SCM和DRAM用于扩展GPU内存,单纯基于硬件的方法开销高。本文提出高性能的异构内存堆栈(HMS),同时使用高容量存储类存储器(SCM)和DRAM缓存,包括4个技术:(1)SCM感知的DRAM缓存绕过策略,根据访问模式计算SCM和DRAM访问延迟,SCM低则绕过DRAM直接访问。(2)可配置标签缓存,将部分L2缓存用于缓存DRAM缓存行标签,减少DRAM缓存探测流量。(3)最后一列聚合元数据缓存组织,将所有DRAM缓存行标签共同定位在一行中的最后一列中,可以一次获取。
2024-11-28 11:42:49
1034
原创 A Machine Learning-Empowered Cache Management Scheme for High-Performance SSDs——论文泛读
针对SSD缓存管理,现有方法面对混合工作负载难以精确识别局部性。本文提出CCache,基于随机森林机器学习分类器的缓存方案。将I/O请求根据其访问状态分为关键(频繁访问)、中间和非关键,随后实现了一个三级链表来管理缓存的放置和替换,优先缓存关键请求,优先替换非关键请求。
2024-11-27 11:10:58
429
原创 CachedArrays: Optimizing Data Movement for Heterogeneous Memory Systems——论文泛读
针对大容量异构内存系统的数据移动和管理问题,基于硬件的缓存管理难以满足动态、应用特定的访问模式,现有其他方法需要大量代码修改缺乏灵活性。本文提出CachedArrays框架,将数据访问、数据管理策略、数据移动机制分离。支持可变大小的对象粒度,通过接口接受应用程序的数据使用提示,随后主动优化数据的分配和迁移。
2024-11-26 10:33:13
934
原创 Symbiosis: The Art of Application and Kernel Cache Cooperation——论文泛读
针对重读场景的键值存储系统,现有系统依赖两级缓存:文件系统页面缓存和应用程序级缓存,二者合理配置可以有效提升整体性能,但缺乏相应动态配置方法。本文提出Symbiosis,实现动态配置应用程序和内核缓存大小。核心组件是一个在线近似模拟器:(1)Tracker,收集缓存命中率及其他性能统计数据,根据阈值决定是否调整缓存配置。(2)GhostSim,预测不同缓存配置下的性能。利用改进的幽灵缓存技术,访问元数据模拟缓存配置。(3)降低模拟开销:利用Tracker配置初始配置;按照缓存递增顺序复用结果;
2024-11-25 10:16:01
460
原创 TrEnv: Transparently Share Serverless Execution Environments Across Different Functions and...——论文泛读
针对无服务计算上的冷启动问题,现有方法难以同时实现快速启动和低资源占用。本文提出TrEnv,将无服务平台和基于CXL/RDMA的远程内存池集成,在不同的函数和节点之间共享环境的组件,减少与执行环境相关的CPU时间和内存成本。包括两个部分:(1)将函数实例划分为沙箱和一组进程。沙箱可重用,在不同的函数之间共享,进程的内存状态则卸载到基于CXL或RDMA的共享内存池中。(2)用内存模板增强了操作系统,快速恢复存储在远程内存上的函数状态。促进不同函数实例之间的快速转换,并实现跨多个节点的内存共享。
2024-11-20 10:36:57
643
原创 Aceso: Achieving Efficient Fault Tolerance in Memory-Disaggregated Key-Value Stores——论文泛读
本文针对DM下KV存储的容错机制,现有方法基于复制实现容错,但性能开销高、内存占用多。本文提出Aceso,提出混合容错机制,利用检查点对索引容错、利用纠删码对KV对容错、利用复制对元数据容错。包括4个技术:(1)差分检查点,只传输检查点修改的部分,并通过压缩减少数据量。(2)版本控制,恢复故障时根据其版本信息重新处理最新的KV对,确保索引一致性。(3)基于纠删码的线性特性,实现增量空间回收机制。(4)分层恢复方案,优先恢复关键数据(如索引),确保KV存储功能的快速恢复。
2024-11-19 10:52:38
576
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人