Paper-FAST’21
本文主要介绍FAST’21的论文。
- 总体介绍
- 6个主题,索引和kv存储、文件系统、事务和重复数据删除、云和分布式系统、缓存、SSD
- 总共28篇,国内11篇(清华5,华科2,南京理工1,中科大1,哈工1,港中文1)
Indexing and Key-Value Store
- ROART: Range-query Optimized Persistent ART Shaonan Ma and Kang Chen, Tsinghua University; Shimin Chen, SKL of Computer Architecture, ICT, CAS, and University of Chinese Academy of Sciences; Mengxing Liu, Jianglang Zhu, Hongbo Kang, and Yongwei Wu, Tsinghua University (中,清华,1-1)
- 一种范围查询优秀的、持久性索引结构
- 摘要:随着Intel Optane DC PMM等商用NVM设备的出现,是时候开始考虑在实践中应用现有的持久数据结构了。本文考虑了对持久索引设计有重要影响的三个实际方面,即功能、性能和正确性。 我们设计了一种新的基于自适应基数树(ART)的持久性索引ROART
- ROART :1. 提出了一种叶子压缩方法来减少范围查询的指针跟踪;2. 通过三种优化最小化持久化开销,即条目压缩、选择性元数据持久化和最低顺序拆分;3. 设计了快速内存管理来防止内存泄漏,并通过提出即时重启策略来消除长时间的恢复时间
- 评估显示,ROART比最先进的基数树性能高出1.65倍,B+-树性能高出1.17倍,约8.27倍
- SpanDB: A Fast, Cost-Effective LSM-tree Based KV Store on Hybrid Storage Hao Chen, University of Science and Technology of China & Qatar Computing Research Institute, HBKU; Chaoyi Ruan and Cheng Li, University of Science and Technology of China; Xiaosong Ma, Qatar Computing Research Institute, HBKU; Yinlong Xu, University of Science and Technology of China & Anhui Province Key Laboratory of High Performance Computing (中,中科大,2-2)
- 异构KV,日志和LSM前几层存在NVMe,其他层在SSD;SPDK与异步
- 键值(KV)存储支持许多关键的应用程序和服务。它们执行快速的内存处理,但是仍然经常受到I / O性能的限制。高速商用NVMe SSD的最新出现推动了利用其超低延迟和高带宽优势的新型KV系统设计。同时,要切换到全新的数据布局并将整个数据库扩展到高端SSD,需要大量投资
- 我们建议使用SpanDB,这是一种基于LSM树的KV存储,该存储可适应流行的RocksDB系统以利用高速SSD的选择性部署。SpanDB允许用户将大量数据托管在更便宜和更大的SSD上,同时将预写日志(WAL)和LSM树的顶层重新定位到更小、更快的NVMe SSD上。为了更好地利用此快速磁盘,SpanDB提供了高速,通过SPDK进行并行WAL写入,并启用异步请求处理以减轻开销的线程间同步,并有效地使用基于轮询的I/O
- 我们的评估表明,SpanDB同时将RocksDB的吞吐量提高了8.8倍,并将其延迟降低了9.5-58.3%。与专为高端SSD设计的系统KVell相比,SpanDB以更便宜的存储配置实现了96-140%的吞吐量,而延迟却降低了2.3-21.6倍。
- Evolution of Development Priorities in Key-value Stores Serving Large-scale Applications: The RocksDB Experience Siying Dong, Andrew Kryczka, and Yanqin Jin, Facebook Inc.; Michael Stumm, University of Toronto(中,facebook,3-2)
- RocksDB是针对大型分布式系统的键值存储,并针对SSD进行了优化。本文描述了RocksDB在过去8年中开发重点的变化
- 演变的结果是硬件趋势和许多组织在大规模生产中大规模运行RocksDB的丰富经验的结果
- 我们描述了RocksDB的资源优化目标如何以及为什么从写放大转移到空间放大再到CPU利用率
- 经验1: 运行大型应用程序的经验教训告诉我们,需要在不同的RocksDB实例之间管理资源分配,数据格式需要保持向前和向后兼容,以允许增量软件推出,并且需要对数据库复制和备份的适当支持
- 经验2: 故障处理的经验教训告诉我们,数据损坏错误需要更早地在系统的每一层进行检测
- REMIX: Efficient Range Query for LSM-trees Wenshao Zhong, Chen Chen, and Xingbo Wu, University of Illinois at Chicago; Song Jiang, University of Texas at Arlington(中,芝加哥大学,4-2)
- 基于LSM树的键值(KV)存储以多层结构组织数据,以进行高速写入。传统LSM树上的范围查询必须动态地从多个表文件中查找和排序-合并数据,这很昂贵,而且常常导致中等的读取性能。
- 为了提高LSM树上的范围查询效率,我们引入了一种名为REMIX的节省空间的KV索引数据结构,该结构记录了跨多个表文件的KV数据的全局排序视图。对多个REMIX索引数据文件的范围查询可以使用二进制搜索快速找到目标键,并按排序顺序检索后续键,而无需键比较。
- 我们构建RemixDB,这是一个基于LSM树的KV存储,它采用写高效压缩策略,并使用REMIXes进行快速点和范围查询。实验结果表明,REMIXes可以在基于写优化的LSM树的KV存储中显着改善范围查询性能。
- ROART: Range-query Optimized Persistent ART Shaonan Ma and Kang Chen, Tsinghua University; Shimin Chen, SKL of Computer Architecture, ICT, CAS, and University of Chinese Academy of Sciences; Mengxing Liu, Jianglang Zhu, Hongbo Kang, and Yongwei Wu, Tsinghua University (中,清华,1-1)
Advanced File Systems
High Velocity Kernel File Systems with Bento(Awarded Best Paper!) Samantha Miller, Kaiyuan Zhang, Mengqi Chen, and Ryan Jennings, University of Washington; Ang Chen, Rice University; Danyang Zhuo, Duke University; Thomas Anderson, University of Washington(外,华盛顿大学,4-2)
- 高开发速度对于现代系统至关重要。对于Linux文件系统而言,尤其如此,因为新存储设备和存储系统的新需求带来了越来越大的压力。但是,由于容易引入错误,测试和调试困难以及缺乏在不中断服务的情况下对重新部署的支持,高速Linux内核开发面临挑战。用于Linux的文件系统高速开发的现有方法有很多缺点,例如FUSE文件系统的高性能下降,从而减慢了新文件系统功能的部署周期。
- 我们提出Bento,这是用于Linux内核文件系统高速开发的框架。它使使用安全Rust编写的文件系统可以安装在Linux内核中,并且错误大部分被沙箱化到文件系统中。可以替换Bento文件系统而不会中断正在运行的应用程序,从而允许在云服务器设置中每日或每周进行升级。Bento还支持用户空间调试。我们使用Bento实现了一个简单的文件系统,并显示了它在各种基准上的性能与VFS原生ext4相似,并且在“ git clone”上的性能比FUSE版本高7倍。我们还展示了我们可以在仅15毫秒的服务中断的情况下,将文件源跟踪动态添加到正在运行的内核文件系统中。
Scalable Persistent Memory File System with Kernel-Userspace Collaboration Youmin Chen, Youyou Lu, and Bohong Zhu, Tsinghua University; Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau, University of Wisconsin–Madison; Jiwu Shu, Tsinghua University(中,清华大学,5-3)
- 我们介绍Kuco,这是一种新颖的直接访问文件系统体系结构,其主要目标是可伸缩性。Kuco利用三种关键技术-协作索引编制,两级锁定和版本化读取-可以将耗时的任务(例如路径名解析和并发控制)从内核转移到用户空间,从而避免了内核处理瓶颈。在Kuco上,我们介绍了KucoFS的设计和实现,然后通过实验证明KucoFS在广泛的实验中具有出色的性能;重要的是,与元数据操作相比,KucoFS的扩展性比现有文件系统高出一个数量级,并且可以充分利用设备带宽进行数据操作。
Rethinking File Mapping for Persistent Memory Ian Neal, Gefei Zuo, Eric Shiple, and Tanvir Ahmed Khan, University of Michigan; Youngjin Kwon, School of Computing, KAIST; Simon Peter, University of Texas at Austin; Baris Kasikci, University of Michigan(外, 密歇根大学,5-3)
- 永久性主内存(PM)大大提高了IO性能。我们发现,这导致文件系统在PM上花费了IO路径多达70%的IO路径来执行实际工作负载上的文件映射(将文件偏移量映射到存储介质上的物理位置)。但是,即使是经过PM优化的文件系统也基于数十年的假设来执行文件映射。现在,重新访问PM的文件映射至关重要。
- 我们通过在PM优化的文件系统的上下文中构建和评估几种文件映射设计,包括不同的数据结构,缓存以及元数据和块分配方法,来探索PM文件映射的设计空间。根据我们的发现,我们设计HashFS,一种基于哈希的文件映射方法。HashFS对所有映射和分配操作使用单个哈希操作,从而绕过文件系统缓存,而是通过SIMD并行性预取映射并显式缓存转换。与替代方案相比,HashFS产生的低延迟提供了卓越的性能。在最新的Strata PM优化文件系统中,HashFS可以使LevelDB上的YCSB的吞吐量比页面缓存的扩展树增加多达45%。
pFSCK: Accelerating File System Checking and Repair for Modern Storage David Domingo and Sudarsun Kannan, Rutgers University(外,罗格斯大学,5-3)
- 我们提出并设计了pFSCK,这是一种并行文件系统检查和恢复(C / R)工具,旨在利用现代存储设备中的计算和存储并行性。pFSCK可以在inode和目录块的粒度上实现细粒度的并行化,而不会影响C / R的正确性。pFSCK首先通过在检查逻辑的每个阶段识别功能操作,然后隔离相关的操作和共享的数据结构,来采用数据并行性。但是,完全隔离共享结构是不可行的,需要序列化更新。为了减少序列化瓶颈,pFSCK引入了流水线并行性,允许C / R的多个阶段同时运行而不会影响正确性。此外,pFSCK提供了每线程I / O缓存管理,跨C / R阶段的动态线程放置,以及一个资源感知的调度程序,以减少C / R对共享CPU和文件系统的其他应用程序的影响。对pFSCK的评估显示,与e2fsck(Ext文件系统C / R)相比,获得了2.6倍以上的收益,与提供粗粒度并行性的XFS的C / R相比,获得了1.8倍以上的收益。
Pattern-Guided File Compression with User-Experience Enhancement for Log-Structured File System on Mobile Devices Cheng Ji, Nanjing University of Science and Technology; Li-Pin Chang, National Chiao Tung University, National Yang Ming Chiao Tung University; Riwei Pan and Chao Wu, City University of Hong Kong; Congming Gao, Tsinghua University; Liang Shi, East China Normal University; Tei-Wei Kuo and Chun Jason Xue, City University of Hong Kong (中,南京理工大学,6-4)
- 移动应用程序表现出独特的文件访问模式,通常涉及对主要写文件和只读文件的随机访问。移动应用程序的高写入压力会严重影响基于闪存的移动存储的寿命。为了减少写入压力并节省空间而又不牺牲用户感知的延迟,本研究引入了FPC,即文件访问模式引导的压缩。FPC针对移动应用程序的随机写入和碎片读取进行了优化。它具有双模式压缩功能:前台压缩处理主要用于写入的文件,以减少写入压力,而后台压缩则打包随机读取的文件块,以提高读取性能。FPC利用F2FS(一种用于移动设备的日志结构文件系统)中的异地更新设计,以实现建议的双模式压缩的最佳效果。
Transactions, Deduplication, and More
ArchTM: Architecture-Aware, High Performance Transaction for Persistent Memory Kai Wu and Jie Ren, University of California, Merced; Ivy Peng, Lawrence Livermore National Laboratory; Dong Li, University of California, Merced (中,加州大学,7-4)
- 原子故障事务是访问和处理具有崩溃一致性的持久性内存(PM)上的数据的关键机制。我们发现在传统的PM事务系统中,元数据修改和位置不明的内存分配中的少量随机写入与PM体系结构不匹配。我们提出了ArchTM,它是一种基于以下两个设计原则的PM交易系统:避免小写和鼓励顺序写。ArchTM是写时复制(CoW)系统的一种变体,可减少对PM的写流量。与传统的CoW方案不同,ArchTM通过DRAM上的可扩展查找表减少了元数据修改。ArchTM引入了一种注释机制,以确保崩溃一致性和内存分配中的位置感知数据路径,以增加PM设备内部的可合并写入。
SPHT: Scalable Persistent Hardware Transactions Daniel Castro, INESC-ID & Instituto Superior Técnico; Alexandro Baldassin, UNESP - Universidade Estadual Paulista; João Barreto and Paolo Romano, INESC-ID & Instituto Superior Técnico(外,葡萄牙计算机实验室,7-4)
- 随着可字节寻址的持久性内存(PM)的出现,最近有许多工作解决了如何使用现成的硬件事务存储系统来实现持久性事务存储的问题。在文献中,我们首次使用Intel Optane DC PM展示了实验结果,该实验结果突出了几种先进方法的可扩展性瓶颈,到目前为止,这些瓶颈仅通过PM仿真进行了评估。我们通过提出SPHT(ScalablePersistent硬件事务)来解决这些限制,这是一种创新的PersistentTransactional内存,它利用了一套旨在增强事务处理和恢复过程中的可伸缩性的新颖机制。我们证明,SPHT在STAMP上的吞吐量提高了2.6倍,并且在日志重播阶段与最新解决方案相比,实现了2.8倍的加速。
The Dilemma between Deduplication and Locality: Can Both be Achieved? Xiangyu Zou and Jingsong Yuan, Harbin Institute of Technology, Shenzhen; Philip Shilane, Dell Technologies; Wen Xia, Harbin Institute of Technology, Shenzhen, and Wuhan National Laboratory for Optoelectronics; Haijun Zhang and Xuan Wang, Harbin Institute of Technology, Shenzhen(中,哈尔滨工业大学,8-5)
- 重复数据删除技术广泛用于减少备份工作负载的大小,但是它具有导致数据局部性差(也称为碎片问题)的已知缺点,这会导致不良的还原和垃圾回收(GC)性能。当前的研究已考虑写入副本以保持局部性(例如,重写)或将数据缓存在内存或SSD中,但是碎片化继续损害恢复和GC性能。
- 在调查位置问题时,我们观察到备份中大多数重复的块直接来自其先前的备份。因此,我们提出了一种称为MFDedup的新型管理友好型重复数据删除框架,该框架通过使用数据分类方法生成最佳数据布局来维护备份工作负载的局部性。具体来说,我们使用两种关键技术:邻居重复焦点索引(NDF)和跨版本感知重组方案(AVAR),对先前的备份执行重复检测,然后使用脱机和迭代算法将块重新排列为紧凑型顺序排列,几乎消除了恢复过程中的随机I / O。
- 四个备份数据集的评估结果表明,与最新技术相比,MFDedup的重复数据删除率提高了1.12倍至2.19倍,并且由于采用了最佳的数据布局,因此恢复速度提高了2.63倍至11.64倍。达到。虽然重新安排阶段引入了开销,但它几乎被开销为零的GC进程所抵消。此外,NDF索引仅需要两个备份版本的索引,而传统索引随着保留的版本数的增加而增长。
Remap-SSD: Safely and Efficiently Exploiting SSD Address Remapping to Eliminate Duplicate Writes You Zhou, Qiulin Wu, and Fei Wu, Huazhong University of Science and Technology; Hong Jiang, University of Texas at Arlington; Jian Zhou and Changsheng Xie, Huazhong University of Science and Technology(中,华中科技大学,9-6)
- 重复写入在各种存储系统中很普遍,源于数据复制,日志记录和数据重定位等。随着基于闪存的SSD的广泛部署,这些写入会显着降低其性能和使用寿命。为了消除重复的写入,先前的研究提出了创新的方法,这些方法利用了SSD内的地址重新映射实用程序。但是,重新映射操作会导致映射不一致问题,这可能会导致数据丢失,并且在现有研究中并未得到适当解决。在本文中,我们提出了一种新颖的SSD设计,称为Remap-SSD,它具有两个显着的功能。首先,它提供了一个重映射原语,它允许主机软件和SSD固件以几乎为零的成本执行重复数据的逻辑写入。第二,采用混合存储体系结构来维护映射一致性。小型可字节寻址的非易失性RAM(NVRAM)用于以日志结构方式持久地重新映射元数据,并与闪存进行协同管理。我们通过三个案例研究在软件SSD模拟器上验证Remap-SSD:SSD内重复数据删除,SQLite日志记录和F2FS清理。实验结果表明,Remap-SSD可以充分发挥地址重映射的潜力,从而提高SSD的性能和使用寿命。
CheckFreq: Frequent, Fine-Grained DNN Checkpointing Jayashree Mohan, UT Austin; Amar Phanishayee, Microsoft Research; Vijay Chidambaram, UT Austin and VMware research (外,德州大学奥斯汀分校,9-6)
- 训练深度神经网络(DNN)是一项耗费资源且耗时的任务。在训练期间,模型会在GPU上执行计算,以在多个时期内反复学习权重。获悉的权重驻留在GPU内存中,有时会被检查点(写入持久性存储)以实现容错功能。传统上,模型参数的检查点位于时代边界;对于现代深度网络,一个纪元要持续几个小时。由于抢占,节点故障或进程故障而中断了培训工作,因此会导致丢失数小时的GPU恢复工作。
- 我们介绍CheckFreq,这是一种自动的,细粒度的检查点框架,该框架(1)使用系统的在线配置文件以迭代的粒度算法确定检查点的频率,(2)在运行时动态调整检查点的频率以使用自适应速率调整来限制检查点的开销, (3)通过使用轻量级可恢复迭代器对数据加载器状态进行检查点检查,以保持每个时期仅一次使用数据集中每个项目一次的训练数据不变性;(4)谨慎地通过计算引入检查点流水线,通过引入两个以下点来减少检查点成本:阶段检查点。我们在各种模型,存储后端和GPU代上进行的实验表明,CheckFreq可以将恢复时间从数小时减少到几秒钟,同时将运行时开销限制在3.5%以内。
Cloud and Distributed Systems
Facebook’s Tectonic Filesystem: Efficiency from Exascale Satadru Pan, Facebook, Inc.; Theano Stavrinos, Facebook, Inc. and Princeton University; Yunqiao Zhang, Atul Sikaria, Pavel Zakharov, Abhinav Sharma, Shiva Shankar P, Mike Shuey, Richard Wareing, Monika Gangapuram, Guanglei Cao, Christian Preseau, Pratap Singh, Kestutis Patiejunas, and JR Tipton, Facebook, Inc.; Ethan Katz-Bassett, Columbia University; Wyatt Lloyd, Princeton University (外,Facebook,9-6)
- Tectonic是Facebook的EB级分布式文件系统。Tectonic将以前使用特定于服务的系统的大型租户合并为通用的多租户文件系统实例,这些实例的性能可与专用系统媲美。与我们以前的方法相比,艾字节级的合并实例可实现更好的资源利用率,更简单的服务以及更低的操作复杂性。本文介绍了Tectonic的设计,并说明了Tectonic如何实现可伸缩性,支持多租户并允许租户专门化操作以针对各种工作负载进行优化。本文还提供了从设计,部署和操作Tectonic获得的见解。
Exploiting Combined Locality for Wide-Stripe Erasure Coding in Distributed Storage Yuchong Hu, Liangfeng Cheng, and Qiaori Yao, Huazhong University of Science & Technology; Patrick P. C. Lee, The Chinese University of Hong Kong; Weichun Wang and Wei Chen, HIKVISION(中,华中科技大学,10-7)
- 通过存储数据条带和奇偶校验块,擦除编码是用于分布式存储系统的低成本冗余机制。最近提出了宽条带以抑制条带中的奇偶校验块的比例,以实现极大的存储节省。然而,宽条带加剧了修复代价,而现有的用于擦除编码的有效修复方法不能有效地解决宽条带。在本文中,我们提出了组合局部性,这是通过奇偶性局部性和拓扑局部性相结合来系统地解决宽条纹修复问题的第一种机制。我们通过有效的编码和更新方案进一步增强了组合的本地性。在Amazon EC2上进行的实验表明,与基于位置的最新技术相比,组合的位置可以将单块修复时间最多减少90.5%,
On the Feasibility of Parser-based Log Compression in Large-Scale Cloud Systems Junyu Wei and Guangyan Zhang, Tsinghua University; Yang Wang, The Ohio State University; Zhiwei Liu, China University of Geosciences; Zhanyang Zhu and Junchao Chen, Tsinghua University; Tingtao Sun and Qi Zhou, Alibaba Cloud (中,清华大学,11-8)
- 考虑到当今系统日志的巨大规模,压缩被广泛用于节省空间。尽管基于解析器的日志压缩器报告了令人鼓舞的结果,但将其应用于我们的生产日志时,我们观察到的性能却降低了。
- 我们的详细分析表明,首先,一些问题是由次优实现和假设所造成的,这些假设并不适用于我们的大型日志。我们通过更有效的实施来解决这些问题。此外,我们的分析揭示了进一步改进的新机会。尤其是,数值占据了很大的空间,传统的压缩算法试图识别重复的字节,但在数值上效果不佳。我们提出了三种技术,即增量时间戳,相关性标识和弹性编码,以进一步压缩数值。
- 基于这些技术,我们构建了LogReducer。我们对18种生产日志和16种公共日志的评估表明,在几乎所有情况下,LogReducer都可实现最高的压缩率;对于大型日志,其速度可与针对高压缩率的通用压缩算法相媲美。
CNSBench: A Cloud Native Storage Benchmark Alex Merenstein, Stony Brook University; Vasily Tarasov, Ali Anwar, and Deepavali Bhagwat, IBM Research–Almaden; Julie Lee, Stony Brook University; Lukas Rupprecht and Dimitris Skourtis, IBM Research–Almaden; Yang Yang and Erez Zadok, Stony Brook University(外,石溪大学,11-8)
- 现代混合云基础架构要求软件易于在异构集群之间移植。应用程序容器化是一种经过验证的技术,可以为应用程序的功能提供这种可移植性。但是,为了确保性能的可移植性,需要对实际工作负载下的群集性能进行可靠的验证。此类验证通常是通过对目标环境及其存储进行基准测试来实现的,因为I / O通常是应用程序中最慢的组件。las,现有的存储基准测试不适合生成云本机工作负载,因为它们不生成任何存储控制操作(例如,创建卷或快照),无法轻松编排大量同时运行的不同工作负载,
- 在本文中,我们介绍了有史以来第一个Cloud Native Storage Benchmark(CNSBench)的设计和原型。CNSBench将控制操作视为一流的公民,并可以轻松地将传统的存储基准测试工作负载与用户定义的控制操作工作负载结合在一起。由于CNSBench本身是一个云原生应用程序,因此其原生支持大规模地编排不同的控制和I / O工作负载组合。我们为Kubernetes构建了CNSBench的原型,利用了几个现有的容器化存储基准测试来生成数据和元数据I / O。我们通过对两个流行的Kubernetes存储提供者Ceph和OpenEBS进行案例研究来证明CNSBench的有用性,该发现和分析了以前未知的性能特征。
Concordia: Distributed Shared Memory with In-Network Cache Coherence Qing Wang, Youyou Lu, Erci Xu, Junru Li, Youmin Chen, and Jiwu Shu, Tsinghua University(中,清华大学,12-9)
- 随着新兴的快速网络堆栈,分布式共享内存(DSM)正在兴起。为了减少频繁的远程访问和平衡负载,仍然需要缓存,这会导致高一致性开销。在本文中,我们提出了CONCORDIA,这是一种具有可编程交换机支持的具有快速网络内高速缓存一致性的DSM。CONCORDIA的核心是FLOWCC,它是一种混合缓存一致性协议,由交换机和服务器共同努力实现。此外,为克服可编程交换机的局限性,我们还引入了两种技术:(i)所有权迁移机制,以解决交换机上的存储容量有限的问题;(ii)在交换机为有状态的情况下,用于处理数据包丢失的幂等操作。为了展示CONCORDIA的实际好处,我们在其上构建了一个分布式键值存储和一个分布式图形引擎,并向其移植了一个分布式事务处理系统。评估显示,在关键值存储,图形引擎和事务处理工作负载方面,CONCORDIA分别比最新的DSM分别提高4.2倍,2.3倍和2倍。
Caching Everywhere
- eMRC: Efficient Miss Ratio Approximation for Multi-Tier Caching Zhang Liu, University of Colorado Boulder; Hee Won Lee, Samsung Electronics; Yu Xiang, AT&T Labs Research; Dirk Grunwald and Sangtae Ha, University of Colorado Boulder(中,科罗拉多大学博尔德分校,13-9)
- 许多存储缓存分配方法都使用未命中率曲线(MRC)来提高缓存效率。但是,它们只专注于单层缓存体系结构,并要求整个MRC作为缓存管理的输入,而现代数据中心则采用分层缓存体系结构以最大程度地利用资源。由于每个缓存层的驱逐策略和容量不同,因此为多层缓存生成MRC(我们将其称为未命中率函数)更具挑战性。我们介绍eMRC是一种多维未命中率近似技术,可实现多层缓存的有效MRC生成。我们的方法使用了新颖的多维性能悬崖去除方法和凸包壳近似技术,可以使用少量采样点有效地生成没有悬崖的多维MRC。为了展示e MRC的好处,我们设计了ORCA,这是一种多层缓存管理框架,可通过e MRC协调驻留在不同层次结构中的缓存,并为具有不同服务级别目标的云租户提供有效的多层缓存配置。我们使用真实的数据中心轨迹评估我们的e MRC近似技术和ORCA的性能。
- The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with Orthus Kan Wu, Zhihan Guo, Guanzhou Hu, and Kaiwei Tu, University of Wisconsin–Madison; Ramnatthan Alagappan, VMware Research; Rathijit Sen and Kwanghyun Park, Microsoft; Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau, University of Wisconsin–Madison (中,威斯康星大学,14-9)
- 我们介绍了非分层缓存(NHC),这是一种在现代存储层次结构中进行缓存的新颖方法。与传统缓存相比,NHC通过将多余的负载重定向到层次结构中较低的设备来提高性能,这是有利的。NHC动态调整分配和访问决策,从而最大化性能(例如,高吞吐量,低99%ile延迟)。我们在Orthus-CAS(块层缓存内核模块)和Orthus-KV(键值存储的用户级缓存层)中实现NHC。我们通过全面的经验研究显示了NHC的功效:在各种实际工作负载下,Orthus-KV和Orthus-CAS在各种现代层次结构上提供的经典缓存都比传统缓存好得多(高达2倍)。
- A Community Cache with Complete Information Mania Abdi, Northeastern University; Amin Mosayyebzadeh, Boston University; Mohammad Hossein Hajkazemi, Northeastern University; Emine Ugur Kaynar, Boston University; Ata Turk, State Street; Larry Rudolph, TwoSigma; Orran Krieger, Boston University; Peter Desnoyers, Northeastern University (外,美国东北大学,14-9)
- Kariz是一种新架构,用于缓存来自多个分析平台可能同时访问的数据湖中的数据。它将来自分析平台的丰富信息与有关需求和资源可用性的全球知识集成在一起,以实现复杂的缓存管理和预取策略,例如,将历史运行时信息与作业依赖图(DAG),有关缓存状态的信息以及跨计算的共享相结合集群。我们的原型支持多种分析框架(Pig / Hadoop和Spark),并且我们证明所需的更改是适度的。我们在Kariz中实现了三种算法,用于优化单个查询的缓存(一种来自文献,而另一种新颖于我们的平台),以及三种策略,用于优化可能来自多个不同集群的查询。
- Learning Cache Replacement with CACHEUS Liana V. Rodriguez, Farzana Yusuf, Steven Lyons, Eysler Paz, Raju Rangaswami, and Jason Liu, Florida International University; Ming Zhao, Arizona State University; Giri Narasimhan, Florida International University (外,佛罗里达国际大学,14-9)
- 机器学习的最新进展为解决计算系统中的经典问题开辟了新的且有吸引力的方法。对于存储系统,缓存替换是这样的问题之一,因为它对性能产生巨大影响。我们将工作负载分类为四种工作负载原语类型的组合-友好的LFU,友好的LRU,扫描和搅动。然后,我们设计和评估CACHEUS,这是一类新型的完全自适应,机器学习的缓存算法,该算法利用专为解决这些工作负载原始类型而设计的专家进行组合。CACHEUS使用的专家包括最先进的ARC,LIRS和LFU,以及两个新的专家-SR-LRU(LRU的防扫描版本)和CR-LFU(LFU的防搅动版本)。我们使用17; 766个模拟实验对6种不同的缓存配置下运行的329个工作负载进行了评估,以评估CACHEUS。配对的t检验分析表明,使用新提出的轻量级专家SR-LRU和CR-LFU的CACHEUS是在各种工作负载和高速缓存大小中性能最稳定的高速缓存算法。此外,CACHEUS通过将其与互补的缓存替换算法(例如LFU)结合使用,可以增强最新算法(例如LIRS,ARC),从而更好地处理各种工作负载原语类型。
- eMRC: Efficient Miss Ratio Approximation for Multi-Tier Caching Zhang Liu, University of Colorado Boulder; Hee Won Lee, Samsung Electronics; Yu Xiang, AT&T Labs Research; Dirk Grunwald and Sangtae Ha, University of Colorado Boulder(中,科罗拉多大学博尔德分校,13-9)
The SSD Revolution Is Not Over
FusionRAID: Achieving Consistent Low Latency for Commodity SSD Arrays Tianyang Jiang, Guangyan Zhang, and Zican Huang, Tsinghua University; Xiaosong Ma, Qatar Computing Research Institute, HBKU; Junyu Wei, Zhiyue Li, and Weimin Zheng, Tsinghua University (中,清华大学,15-10)
- 全闪存阵列的使用一直在增加。与硬盘驱动器相比,每个驱动器提供更高的性能,但也会遭受更严重的周期性性能下降(由于内部操作(例如垃圾收集))。通过对广泛使用的应用程序/迹线和6种SSD模型的详细研究,我们确认RAID阵列中单个SSD的性能抖动进一步放大了。我们的结果还表明,随着SSD延迟的降低和降低,RAID写入的软件开销会创建包含更多驱动器的长而复杂的写入路径,从而增加了平均情况下的延迟和暴露最坏情况下的性能的风险。
- 基于这些发现,我们提出了FusionRAID,这是一种新的RAID架构,可在商品SSD阵列上实现一致的低延迟。通过将请求散布到共享的大型存储池中的所有SSD,可以通过大量“正常运行”的驱动器来处理突发的应用程序工作负载。通过执行临时的复制写操作,它可以保留RAID容错能力,但可以极大地加快小型随机写操作的速度。此类临时数据副本的块基于RAID群集在条带就绪位置中创建,从而可以轻松转换为长期RAID存储。最终,FusionRAID使用轻量级的SSD延迟峰值检测和请求重定向,避免了驱动器在瞬态但性能严重下降的情况下使用。我们对跟踪和应用程序的评估表明,FusionRAID将中值延迟降低了22%–98%,
Behemoth: A Flash-centric Training Accelerator for Extreme-scale DNNs Shine Kim, Seoul National University and Samsung Electronics; Yunho Jin, Gina Sohn, Jonghyun Bae, Tae Jun Ham, and Jae W. Lee, Seoul National University (外,首尔国立大学,15-10)
- 深度神经网络(DNN)模型大小的爆炸性增长,加速了对更大存储容量的需求。这种运动对于自然语言处理(NLP)中的模型尤为真实,自然语言处理(NLP)是AI与计算机视觉一起占主导地位的应用。例如,来自OpenAI的最新超大规模语言模型GPT-3具有超过1,750亿个参数。此外,这种模型主要由具有巨大尺寸的FC层组成,因此具有相对较高的算术强度。从这种意义上说,极端规模的语言模型不太适合传统的基于HBM DRAM的存储系统,该系统缺少容量并提供极高的带宽。因此,我们建议将神经网络训练加速器与基于闪存的存储系统而不是基于HBM DRAM的存储系统配对。为了设计有效的基于闪存的内存系统,我们优化了现有的SSD设计,以提高SSD带宽和耐用性。最后,我们评估了我们提出的平台,并表明Behemoth较TPU v3节省了3.65倍的成本,而与连接到商用SSD的加速器相比,则提高了2.05倍的训练吞吐量。
FlashNeuron: SSD-Enabled Large-Batch Training of Very Deep Neural Networks Jonghyun Bae, Seoul National University; Jongsung Lee, Seoul National University and Samsung Electronics; Yunho Jin and Sam Son, Seoul National University; Shine Kim, Seoul National University and Samsung Electronics; Hakbeom Jang, Samsung Electronics; Tae Jun Ham and Jae W. Lee, Seoul National University(外,首尔国立大学,15-10)
- 深度神经网络(DNN)广泛用于各种AI应用领域,例如计算机视觉,自然语言处理,自动驾驶和生物信息学。随着DNN不断扩大和深入以提高精度,像GPU这样的培训平台有限的DRAM容量通常成为限制DNN大小和批量大小的因素-称为内存容量墙。由于增加批次大小是提高硬件利用率的流行技术,因此这可能会导致次优训练吞吐量。最近的提议通过将一些中间数据(例如,特征图)卸载到主机存储器来解决该问题。但是,由于GPU上的训练过程与在CPU上运行的应用程序争用内存带宽和容量,因此它们无法提供强大的性能。
- 因此,我们提出了FlashNeuron,第一个使用NVMe SSD作为后备存储的DNN培训系统。为了充分利用有限的SSD写入带宽,FlashNeuron引入了卸载调度程序,该调度程序有选择地以压缩格式将一组中间数据卸载到SSD上,而不会增加DNN评估时间。由于GPU和SSD直接通信进行数据传输,因此FlashNeuron对CPU进程的影响最小。我们对具有四个最新DNN的FlashNeuron的评估表明,与具有16GB DRAM的NVIDIA Tesla V100 GPU所允许的最大批量大小相比,FlashNeuron可以使批量大小增加12.4倍至14.0倍。通过采用更大的批处理大小,FlashNeuron还仅使用GPU内存就可以将培训吞吐量提高到基线的37.8%(平均30.3%),而对CPU上运行的应用程序的干扰却最小。
D2FQ: Device-Direct Fair Queueing for NVMe SSDs Jiwon Woo, Minwoo Ahn, Gyusun Lee, and Jinkyu Jeong, Sungkyunkwan University (外,成均馆大学,15-10)
- 借助可处理来自多个租户的并行I / O请求的现代高性能SSD,公平共享块I / O是实现性能隔离的基本要求。典型的块I / O调度程序需要三步(submit-arbitratedispatch)将I / O请求传输到设备,这三步会在CPU利用率,可伸缩性和块I / O性能方面带来高开销。这促使我们向设备添加I / O调度功能。如果是这样,则可以将三个步骤简化为一个步骤(提交=调度),从而节省了CPU周期并提高了I / O性能。
- 为此,我们建议使用公平排队的I / O调度程序D2FQ,该调度程序利用NVMe加权轮循(WRR)仲裁(一种设备端I / O调度功能)。 D2FQ将WRR中的三类命令队列抽象为具有不同I / O处理速度的三个队列。然后,对于每个I / O提交,D2FQ在满足公平性的同时立即选择并向三个队列之一分配I / O请求。这避免了耗时的I / O调度操作,从而节省了CPU周期并提高了块I / O性能。该原型在Linux内核中实现,并通过各种工作负载进行了评估。与最新的公平队列I / O调度程序MQFQ相比,D2FQ通过综合工作负载提供了公平性,同时节省了多达45%的CPU周期。
An In-Depth Study of Correlated Failures in Production SSD-Based Data Centers Shujie Han and Patrick P. C. Lee, The Chinese University of Hong Kong; Fan Xu, Yi Liu, Cheng He, and Jiongzhou Liu, Alibaba Group (中,香港中文大学,16-11)
- 基于闪存的固态驱动器(SSD)越来越多地被用作现代数据中心的主流存储介质。然而,人们对在空间和时间上如何将SSD故障相关联还知之甚少。我们认为,表征SSD的相关故障至关重要,特别是对于指导冗余保护设计以实现高存储可靠性而言尤其如此。
- 我们对阿里巴巴基于SSD的数据中心中的相关故障进行了深入的数据分析。我们基于SMART日志,故障记录,物理位置和应用程序的数据集研究了11种驱动器模型中的近100万个SSD。
- 我们证明了在同一节点或机架中的相关故障很常见,并研究了可能对这些相关故障产生影响的因素。我们还通过跟踪驱动的仿真评估了各种冗余方案如何在相关故障下影响存储可靠性。为此,我们报告了15个发现。我们的数据集和源代码现已发布供公众使用。