ElaineLv

人生如逆旅,我亦是行人!

Lessons and Actions

What We Learned from 10K SSD-Related Storage System Failures

了解大规模生产系统中 Reported As "SSD-Related"(RASR)故障的特点和潜在的根本影响因素,以及SSD的这些错误与系统设计和使用之间的因果关系,为硬件架构师、软件工程师和系统管理员提供一些主要的经验教训以及实际的补救措施。 发于ATC 2019,原文链接 SSD中的错误非常复杂并且受各种因素的影响,本文是阿里公司团队研究的,实验部署在7个阿里云......

SILK

Preventing Latency Spikes in Log-Structured Merge Key-Value Stores

ATC 2019,原文链接 LSM KV 所谓的LSM(log structured-merge tree)是一种日志型结构的树。其中一部分在内存中(写缓存),其余部分在磁盘内。从图中可以看出,从上到下容量不断增加。因此,通过在内存中缓存写请求来提升写性能。客户端操作:读、更新或者写;LSM内部的操作:flushing、compaction内存中的文件称为memtable;硬盘中的文件称为S......

ParaFS

A Log-Structured File System to Exploit the Internal Parallelism of Flash Devices

问题:当写请求非常密集的时候,闪存内部的并行度并没有很好的利用解决下述三方面引起并行冲突的问题: 冷热数据分离 垃圾回收:FS和FTL中的垃圾收集会发生冲突并破坏性能 随着通道数的增加,F2FS的擦除闪存块数量增加,GC效率降低 当日志结构文件系统清理FS级别的一个段时,无效的闪存页实际上分散在多个闪存并行单元上。设备拥有的通道越多,无效页面就越多样化。这降低了FTL中的GC效率。同时,由......

FLIN

Enabling Fairness and Enhancing Performance in Modern NVMe Solid State Drives

Flash-Level INterference-aware scheduler分析Multi-Queue引起的不公平是由于应用之间存在干扰所致,分析干扰来源,提出干扰感知调度器FLIN。在SSD控制器内将事务重新排序,平衡并发应用之间的推进速度,实现fairness,原文链接 写在文前在NVMe SSD中,使用了Multi-Queue,使得SSD可以跨过块设备层直接访问应用层I/O请求......

QoS-aware Flash Memory Controller

SSD内部的GC导致性能的下降和吞吐量的波动,这极大的影响实时系统的QoS 在FLASH存储器中满足QoS要求有三大挑战: 在共享一个FLASH子系统时,多个FTL任务之间存在资源争用 任务的关键程度取决于存储系统的状态。当系统的空闲块数量较少时,垃圾收集的性能就成为瓶颈,因为需要为主机写入回收空间 由于垃圾回收引起的负载不均衡 针对上述问题,本文讲述了三方面的特征:1. FTL任务之间......

Multi-Queue Fair Queuing

写在文前在学习这篇文章前,先来了解下块设备层中Multi-Queue的概念,Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems,这篇文章于2013年发在SYSTOR,首次提出了multi-queue,从Linux5.0开始就成为块设备层的默认选项,介绍 Linux 内核的块设备层针对现代硬件——高速......

SOML Read

Rethinking the Read Operation Granularity of 3D NAND SSDs

4月美国举办的ASPLOS19’上一篇最新的paper,来自Myoungsoo Jung大佬团队 问题引入 1)3D NAND相比于2D NAND具有更高的density,因此同等容量下,3D NAND的chips数量相对就少,降低了chip-level parallelism。这会导致在相同的时间内被处理的请求数量减少,从而导致整个性能的下降。从图中可以看出,对于read-intens......

Tiny-Tail Flash

Near-Perfect Elimination of Garbage Collection Tail Latencies in NAND SSDs

本文是2017年FAST上的一篇paper,通过避免GC-blocked I/Os来消除GC所带来的尾端延迟。 问题引入SSD并不总是能满足用户期待的性能要求,这正是因为尾端延迟存在。why is hard to meet SLAs with SSD? 一个首要的原因就是GC的影响,导致性能的不稳定。由于SSD自身的废旧地更新特点,在使用一段时间之后,系统内部的空闲资源越来越少,这就需要......

MittOS

Supporting Millisecond Tail Tolerance with Fast Rejecting SLO-Aware OS Interface

这是一篇2017年SOSP上的会议文章 paper 问题引入 解决OS在集群上的QoS问题当一个节点的资源竞争激烈无法满足当前请求时,转而竞争其他不太激烈的节点资源。因此用于解决由于竞争资源导致的等待所带来的尾端延迟问题。 确切地说,当一个application发出I/O请求之后,如果OS的I/O处于繁忙状态,那么此时APP就很有可能需要等待较长的一段时间才能被处理。这篇paper讨论......

FastGC

Accelerate Garbage Collection via an Efficient Copyback-based Data Migration in SSDs

引子我们知道,在闪存设备中,由于数据的非就地更新特性,并采用重映射的page写机制,使得在GC操作时需要先以block为单位进行erase。然而GC耗时且被频繁触发。 在GC过程中,传统基于数据迁移的copyback操作如上述所示,由于ECC纠错机制存在于SSD 控制器中,每次执行copyback操作时,需要将数据从Source Page中读取出来放到cache Register然后一步步传......