54
1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日 清华大学计算机系 清华大学信息科学与技术国家实验室(筹) [email protected] http://storage.cs.tsinghua.edu.cn/~jiwu-shu/ 2017-6-21 Tsinghua Univ.—Jiwu Shu

全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

Embed Size (px)

Citation preview

Page 1: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

1

全闪存阵列与分布式全闪存

的架构与技术发展

舒继武207年6月21日

清华大学计算机系

清华大学信息科学与技术国家实验室(筹)

[email protected]

http://storage.cs.tsinghua.edu.cn/~jiwu-shu/ 2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 2: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

主要内容

2

背景一

分布式全闪存系统三

协议四

相关公司闪存阵列介绍五

全闪存阵列二

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 3: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

一 背景

在计算机系统的三大基石(计算、存储、通信)中,唯有存储仍包含机械式部件操作

电子式存储器件-闪存-是电子式计算机发展的趋势

然而,如何充分发挥闪存优势?

系统调用

进程管理

设备驱动

磁盘HDD

操作系统(内核态)

应用程序(用户态)

硬件设备

内存管理

文件系统

网络通信

CPU

内存网卡

计算 存储 通信

磁盘HDD芯片 芯片 芯片

FTLSSD

芯片

文件系统

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 4: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

4

一背景:闪存在构建外存系统中的优势

以目前广泛应用的闪存为例

低延迟、高带宽、随机读写性能高

成本“优势”

容量 RMB/GB RMB/IOPS

Samsung 840 256 GB 5.86 0.015

Seagate Barracuda 3 TB 0.26 50

设备 随机读 随机写 读带宽 写带宽

Fusion-IO ioDrive2 480K IOPS 490K IOPS 3GB/s 2.5GB/s

Samsung 840 100K IOPS 78K IOPS 540MB/s 450MB/s

Seagate Barracuda 52 IOPS 47 IOPS 156MB/s 156MB/s

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 5: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

5

以目前广泛应用的闪存为例

可靠性高:

低能耗:[SOSP’09 FAWN]

HDD MTTF = 500K Hours.

SSD MTTF = 2M Hours.source : SanDisk SSD: A More Reliable Alternative to the Laptop HDD ,2007

System Watts QPS Queries /Joule

2TB HDD 20 250 12.5

32GB SSD 15 35K 2.3K

一背景:闪存在构建外存系统中的优势

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 6: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

一背景:闪存应用结构的变革

闪存存储的分类

固态盘

1.固态盘的形式限制了闪存优势的发挥,SATA接口成为存储速度的瓶颈。

2.以文件系统为代表的系统软件,大多以磁盘为假设进行优化,较少

考虑闪存特性,其优势难以得到充分发挥。

3.在等待闪存读写时,不能利用主机空闲的计算和内存资源。

Source: Desgin Tradeoffs for SSD Performance. USENIX’08, UWM

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 7: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

一背景:闪存应用结构的变革(续)

闪存存储的分类

PCIe 闪存卡

1、在主机端实现闪存转换层

2、能利用主机的冗余计算和缓存能

3、利用异地更新的特性,可实现多

闪存页的原子写操作,避免log带

来的重复写,延长寿命

4、将内部的设备信息开放给系统软

件,使优化更有针对性

Source: Survey on Flash-Based Storage Systems. JCRD’13, THU

难以实现存储容量的扩展及存储共享

相比于固态盘,体积和发热较大2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 8: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

一背景:闪存应用结构的变革(续)

闪存存储的分类

闪存阵列

基于传统存储阵列的演进式设计

SSD HDD

优化的存储控制器

基于全闪存阵列的革新式设计

闪存芯片 HDD

全新的阵列控制器

结构复杂,价格昂贵 相比磁盘阵列,有效容量较低

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 9: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

一背景:全闪存阵列

全闪存阵列(all-flash array, AFA)

一种仅包含闪存介质的存储架构,也叫固态盘阵列(Solid-State

Array, SSA)

闪存卡的缺点:容量小、难以扩展和共享

全闪存阵列优势:

性能更高

可扩展性好

效率

数据保护

功能(快照、数据去重和压缩等)

92017-6-21 Tsinghua Univ.—Jiwu Shu

Page 10: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

主要内容

10

背景一

分布式全闪存系统三

协议四

相关公司闪存阵列介绍五

全闪存阵列二

2.1 全闪存阵列关键技术

2.2 本地闪存系统软件

Page 11: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.1 全闪存阵列关键技术

数据去重

在备份和归档系统中80-90%数据是冗余的。闪存单位容量的价格

高于机械硬盘,因此数据去重技术在全闪存阵列中有重要意义。

磨损均衡

每个SSD的FTL内部有磨损均衡策略,但使用SSD构建的闪存阵列

需要磨损均衡机制在SSD之间进行全局磨损均衡

数据保护

MLC型闪存可靠性较低,使用RAID机制和多副本技术进行数据保

闪存感知

考虑闪存垃圾回收开销高、有限写寿命、读写性能不平衡等特点

,进行特定的优化

112017-6-21 Tsinghua Univ.—Jiwu Shu

Page 12: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

(1)数据去重

数据划分方法

全文件分块(EMC Centera)

静态分块(Oceanstore,Venti)

基于内容分块(LBFS,Pastiche)

I/O优化技术

利用Chunk重复局部性减少I/O次数

分层去重优化策略

利用新型存储介质存放索引

系统可靠性

副本机制

纠删码

系统可扩展性

122017-6-21 Tsinghua Univ.—Jiwu Shu

Page 13: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

(1)数据去重

132017-6-21 Tsinghua Univ.—Jiwu Shu

Source: ChunkStash: Speeding up Inline Storage Deduplication using Flash Memory, ATC’10, Microsoft, UMN

基本思想:把文件划分为块,每块计算出fingerprint,使用哈希表组织fingerprint,根据fingerprint判断块的内容是否相同

存在的问题:哈希索引太大,需要存放在外部设备里,查找外部设备造成瓶颈

基于指纹匹配的数据去重

Page 14: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

Bloom filter 优点就是它的插入和查询时间都是常数,另外它查

询元素却不保存元素本身,具有良好的安全性。

使用特殊数据布局和LPC(Locality Preserving Cache)缓存算法

,充分利用局部性减少外设查找次数。

索引查找引起的磁盘IO减少了99%

14

0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 0

x

(1)数据去重

1: Avoiding the Disk Bottleneck in the Data Domain Deduplication File System fast’08

利用 Bloom Fliter 加速fingerprint查找(FAST’2008)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 15: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

(1)数据去重

发挥闪存顺序写的优势

,以追加写的形式写闪

使用write buffer避免小粒

度写

使用类似cuckoo hash的

方式解决冲突

压缩key值减少内存使用

备份吞吐量比传统在线

去重方式提升7-60倍

152017-6-21 Tsinghua Univ.—Jiwu Shu

发挥闪存特性的在线去重(ATC’2010)

1: ChunkStash: Speeding up Inline Storage Deduplication using Flash Memory, ATC’10, Microsoft, UMN

Page 16: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

(1)数据去重

目标:减少内存使用;易于扩展的架构

为方便扩展,允许一定的数据重复

分布式架构

分层的设计

16

1: Extreme Binning: Scalable, Parallel Deduplication for Chunk-based File Backup, MASCOTS’09, UCSC, Hewlett-Packard Laboratories

面向并行、可扩展的去重技术(MASCOTS’2009)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 17: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

(2)磨损均衡

校验数据差异分布阵列Diff-RAID(TOS’10) RAID5盘间损耗较为均匀,由于闪存的特性,各个盘老化程度将会很接近,同时损坏的可能性会大大增加。而RAID5最多能容忍一个盘损坏,若是

出现多个盘同时损坏或者是在重建期间有数据盘损坏的关联错误,会导致数据不可恢复。

校验码比数据更新频繁,Diff-RAID根据设备的老化程度来决定校验码分配比例

让老化设备加速老化,然后用新设备替换

172017-6-21 Tsinghua Univ.—Jiwu Shu 1: Differential RAID: Rethinking RAID for SSD Reliability, 2010 Trans on Storage, Microsoft, University of Wisconsin-Madison

Page 18: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

(2)磨损均衡

闪存阵列分成活跃设备

组和预备设备组。

热数据均匀分布在活跃

设备组,组内设备磨损

尽量一致。

整个系统达到寿命限度

时,迁移控制器把数据

从活跃设备组整体迁移

到准备设备组

182017-6-21 Tsinghua Univ.—Jiwu Shu

基于闪存组的磨损均衡(NPC’11)

1: WeLe-RAID: a SSD-based RAID for system endurance and performance, NPC 2011,

Page 19: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

(3)数据保护

应用在SSD层面 应用在闪存层面

19

RAID机制

纠删码

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 20: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

(4)闪存感知

闪存感知的冗余阵列FRA

把校验信息的更新延迟到空闲时间执行

使用双页映射表判断校验信息是否更新

优化了小写性能,但降低了数据可靠些

202017-6-21 Tsinghua Univ.—Jiwu Shu

1: FRA: a flash-aware redundancy array of flash storage devices, CODES+ISSS 2009, Samsung, Hanyang University

Page 21: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

主要内容

21

背景一

分布式全闪存系统三

协议四

相关公司闪存阵列介绍五

全闪存阵列二

2.1 全闪存阵列关键技术

2.2 本地闪存系统软件

Page 22: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.2 本地闪存系统软件

随着存储介质访问延迟的越来越低,软件开销所占比例越来越

高。报告1指出,传统磁盘存储系统中,软件开销所占比例为0.3%,

PCIe闪存卡系统中软件开销占21.9%,随着NVM的发展,预计软

件开销比例将高达94.09%。

1: Redrawing the boundary between software and storage for fast non-volatile memories.[OL] 2012-9-1, UCSD

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 23: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.2 本地闪存系统软件

23

分布式闪存的研究- NSDI’12

- SOSP’13

- ICCD’13

- IPDPS’14

基于闪存的事务管理- SOSP’09

- HPCA’11

- ICCD’13

- TC’16

Block Device Drivers

Process

Management

Memory

Management

Kernel

Space

User SpaceApplications(Database, Apache, ...)

Read, write, deallocate, write-atomic

SSD简化的

核心控制器

VFS

分布式文件系统

Flash

存储

设备

SATA 控制器

Flash

chip

Flash

chip

Flash

chip

Read、Write、Erase

SATA/PCIe/Network Drivers

FTL

兼容 (空间分配)

新型存储转换层

SSD控制器SSD

SATA 控制器

Flash

chip

Flash

chip

Flash

chip磁盘 磁盘

磁盘磁盘

磁盘

传统磁盘与磁盘阵列

闪存文件系统 - FAST’13

- FAST’14

- FAST’15

- DATE’14

基于闪存的文件系统- FAST’10

- FAST’12

- FAST’16

- ATC’16

- Eurosys’14

- ASPLOS’14

- FAST’17

- DATE’14

基于闪存的KV Store- FAST’16

- ATC’15

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 24: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.2 本地闪存系统软件

通知机制

存取路径 在块设备层,基于磁盘的IO调度策略,并不适用于闪存的特性。

在文件系统层,通过文件系统与闪存设备间的新软件接口,由闪存设备

自主选择数据写入的物理地址,再通知文件系统更新记录,减少了重复

映射的管理开销。

软件接口 TRIM:提供了数据显示删除的语义。 atomic-write:提供原子写操作。 PTRIM:提供持久性删除语义。 EXIST:检查数据页存在性。

低访问延迟 频繁中断上下文切换代价超过

循环等待的代价

事务闪存接口 AtomicWrite / TxWrite事务接口

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 25: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

25

TxFlash

[SOSP’09]

AtomicWrite

[HPCA’11]

0 1 2 3 4 5 6 7

S/W

H/W

T1: update(0, 2, 4, 6)

T2: update(1, 2, 4)

0 0 0 1 0 0 10 2 4 6 1 2 4

LightTx

[ICCD’13]T1,0

T1,4

T2,0

T1,0

T2,3T2,0

T1,0

事务闪存接口——利用闪存异地更新特性提供原子写(SOSP’09,

HPCA’11, ICCD’13)

AtomicWrite / TxWrite事务接口

利用闪存的异地更新特性在存储设备中提供原子写入接口,避免双重写入

利用FTL及OOB等特性降低事务状态跟踪代价

2.2 本地闪存系统软件(事务机制)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 26: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.2 本地闪存系统软件(文件系统)

闪存介质的访问,呈现低延迟、读写不对称的特点,随机读写性

能较硬盘提升很高。传统针对硬盘优化设计的软件系统直接用于闪存

时,一方面带来了不必要的冗余功能,另一方面隐藏了闪存可能带来

的优势。

1.冗余工作:文件系统中从文件逻辑块到设备物理块的映射,与

FTL中逻辑地址到物理地址的映射双层映射

2.语义缺失:设备不能理解数据页面间的关系,难以优化数据分布

和感知文件系统的操作数据删除

3.特性缺失:闪存设备的异地更新与文件系统的原子性操作 两

次写

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 27: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.2 本地闪存系统软件(文件系统)

SSD文件系统的潜在问题一:优化错配

文件系统对磁盘读写等优化并不适用于闪存存储

闪存在读写特性等方面与传统磁盘存在较大差异

闪存的随机读性能较好,但随机写性能较差

闪存的边界不对齐读写对性能影响较大

……

27

传统的顺序写入方法也不完全适用

文件系统的写入还影响垃圾回收效率,以及闪存写入寿命

……2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 28: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.2本地闪存系统软件(文件系统)

SSD文件系统的潜在问题二:功能冗余

文件系统的存储管理与FTL存储管理存在冗余

地址映射关系的冗余

空闲空间管理的冗余

……

28

命名空间

芯片 芯片 芯片

FTLSSD

芯片

文件系统

缓存

存储管理

Inode

Directory

Entries

Inode

Data

Pages

A B CCA

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 29: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.2本地闪存系统软件(文件系统)

SSD文件系统的潜在问题三:维度缺失

耐久性问题

随着写入次数增加,闪存单元可靠性降低

寿命次数:SLC(100,000)-> MLC (10,000)-> TLC(1,000)

29

图片来源:The Bleak Future of NAND Flash Memory, FAST’12

文件系统管理是否引入额外的数据量的写入?

如何控制文件系统自身的写入数据量?

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 30: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

30

文件系统(命名空间+存储管理)

芯片 芯片 芯片

FTLSSD

芯片

文件系统

缓存

读/写

嵌入式文件系统(命名空间+存储管理)

芯片 芯片 芯片

裸闪存芯片

文件系统

缓存

读/写/擦除

FTL

嵌入式系统

SSD

文件系统

优化错配

如何根据SSD特性设计适用于SSD的文件系统?

友好的数据布局

F2FS(三星公司,FAST’15)

2.2本地闪存系统软件(文件系统)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 31: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

31

随机写会造成闪存页的碎片化,降低SSD的性能。 频繁的随机写和fsync操作,会显著提高SSD延迟和降低Flash寿命。

F2FS使用LOG式结构,利用文件系统的语义信息,将数据根据类型分为6种不同冷热程度,使用6个不同的更新流,提高GC效率。

利用roll-forward recovery,减少fsync写放大

2.2本地闪存系统软件(续)

F2FS——针对SSD优化的日志型文件系统(FAST’15)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 32: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

32

F2FS——针对SSD优化的日志型文件系统(FAST’2015)

冷热数据分组提高GC效率。

NAT表结构,解决LFS存在的“更新到根”问题。

地址对齐,FS的GC单位与SSD保持一致。

2.2本地闪存系统软件(文件系统)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 33: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

文件系统(命名空间+存储管理)

芯片 芯片 芯片

FTLSSD

芯片

文件系统

缓存

读/写

嵌入式文件系统(命名空间+存储管理)

芯片 芯片 芯片

裸闪存芯片

文件系统

缓存

读/写/擦除

文件系统(命名空间+存储管理)

文件

系统

缓存

读/写

FTL

FTL

芯片 芯片 芯片

裸闪存设备芯片

嵌入式系统

SSD

文件系统

软件驱动级F

TL

功能冗余

如何利用FTL的功能以简化文件系统设计?

简化的存储管理

DFS(普林斯顿+FusionIO公司,FAST’10)

2.2本地闪存系统软件(文件系统)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 34: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

34

DFS——针对Fusion-IO设备优化的文件系统(FAST’2010)

Atomic_update :利用VFSL的特性,实现了元数据更新的原子性。

利用底层的log机制,无需额外的log操作。

将块分配操作交由底层完成。

2.2本地闪存系统软件(文件系统)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 35: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

文件系统(命名空间+存储管理)

芯片 芯片 芯片

FTLSSD

芯片

文件系统

缓存

读/写

嵌入式文件系统(命名空间+存储管理)

芯片 芯片 芯片

裸闪存芯片

文件系统

缓存

读/写/擦除

文件系统(命名空间+存储管理)

文件

系统

缓存

读/写

FTL

FTL

芯片 芯片 芯片

裸闪存设备芯片

嵌入式系统

SSD

文件系统

软件驱动级F

TL

命名空间

芯片 芯片 芯片芯片

文件系统

缓存

对象式FTL(存储管理)

裸闪存设备

对象式文件系统(命名空间)

对象接口

读/写/擦除

闪存文件系统

优化错配 ReconFS (清华大学, FAST’14)

如何利用闪存特性设计新目录树管理?

维度缺失 OFSS (清华大学, FAST’13)

如何在文件系统中考虑耐久性?

语义隔离 ParaFS (清华大学, ATC’16)

如何充分发挥闪存的内部并发特性?

2.2本地闪存系统软件(文件系统)

Page 36: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

36

OFFS——采用对象式接口的文件系统(FAST’2013)

底层FTL采用Object接口,能获得上层更多的信息。

压缩更新,减少SSD写入量,延长寿命。

惰性索引,降低元数据的更新频率。

粗粒度块状态管理、更新窗口、……

Namespace Mgmt.,Storage Mgmt.

Flash Translation Layer

Flash Chips

App

FS

SSD

Syscall

Read/Write

Object Interface

Read, Write, Erase

SSD

FSNamespace Mgmt.

Flash Chips

AppSyscall

Object-based FTL(storage mgmt. GC, WL)

2.2本地闪存系统软件(文件系统)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 37: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

ReconFS——优化Flash上的命名空间管理(FAST’2014)

Volatile Directory Tree : 将目录树解耦和,可重建的目录树。

嵌入式的反向指针:用于一致性维护,故障恢复。

动态压缩:将元数据的更新进行压缩,并持久化。

37

Volatile Directory Tree Persistent Directory Tree

2.2本地闪存系统软件(文件系统)

2017-6-121 Tsinghua Univ.—Jiwu Shu

Page 38: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

2.2本地闪存系统软件(文件系统)

问题描述:现有的闪存设备具有高度并发的存储单元,但是现有的文件系统没有针对闪存的并发特性进行优化

H/W

Interface

Host

Interconnect

Flash

Chip

FTL

Flash

Chip

Flash

Chip

Flash

Chip

Die 0 Die 1

Block 0

Block 1

Block ..

Register

Block 0

Block 1

Block ...

Plane 0 Plane 1

Channel Level

Chip Level

Die LevelPlane Level

Register

当前的文件系统+FTL架

构:功能冗余、语义隔离的问题

NILFS2, F2FS[FAST’15]

SFS [FAST’12] ,

Multi-streamed SSD

[HotStorage’14]

DFS [FAST’10] ,

Nameless Write [FAST’12]

READ / WRITE / TRIM

Log-structured File System

FTL

SSD

ParaFS——感知闪存内部并发的文件系统(ATC’2016)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 39: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

ParaFS——感知闪存内部并发的文件系统(ATC’2016)

39

S-FTL

Block Mapping WL ECC

Channel N

Flash

Channel 0

Flash

Channel 1

Flash

Flash Memory

ParaFS

Namespace

2-D Allocation Coordinated GC

Parallelism-Aware Scheduler

READ / WRITE / ERASE

2-D Allocation

Region 0 Region N

Coordinated GC

Thread 0 Thread N

Parallelism-Aware Scheduler

ReadWriteEraseRead

Req. Que. 0

Req. Que. N

ReadWriteEraseRead

二维的数据分配策略

与固件协同的垃圾回收机制

并发感知的请求调度

2.2本地闪存系统软件(文件系统)

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 40: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

主要内容

40

背景一

分布式全闪存系统三

协议四

相关公司闪存阵列介绍五

全闪存阵列二

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 41: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

与磁盘相比,SSD的随机读写性能与

顺序读写性能的差距较小。

已有方法 传统的单机图引擎,GraphChi,

XStream 为了优化磁盘,采用了读取

所有数据的顺序IO,这种方法在SSD

Array上,浪费了IO 带宽。

中心思想 采用单机大内存 + SSD Array的架构,

每次IO,只读取需要的数据。虽然会

引起随机IO,但是SSD的高性能,以

及异步读写与计算时间相互Overlap,

可以达到媲美纯内存图计算引擎的性

能。

FlashGraph: 基于闪存阵列的图处理系统(FAST’15)

SAFS

Asynchronous user-task I/O interface

Page cache

SSD SSD SSD SSD

Vertex

tasks

FlashGraph

Graph algorithms

Vertex-centric interface

Vertex scheduler

Vertex

programs

三 分布式全闪存系统

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 42: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

FlashGraph: 基于闪存阵列的图处理系统(FAST’15)

与传统基于磁盘设计的图计算引擎相比,FlashGraph性能提升数

个数量级(100X以上的性能提升)。

三 分布式全闪存系统

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 43: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

当前大数据处理系统的性能受限于

DRAM的容量。与DRAM相比,闪

存的价格更低,密度更大,更适用

于大数据处理中。

中心思想 轻量级的闪存管理:去掉FTL,与应

用程序相结合,做定向优化。

闪存直连网络,降低网络延迟。

发挥闪存定制FPGA,在设备中计算。

BlueDBM: 基于分布式闪存的大数据处理系统(ISCA’15)

三 分布式全闪存系统

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 44: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

BlueDBM: 基于分布式闪存的大数据处理系统(ISCA’15)

通过 Flash+FPGA 的组合,实现了超过Flash+CPU的传统组合的

性能。

三 分布式全闪存系统

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 45: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

三 分布式全闪存系统

分布式闪存集群存储

基于闪存的分布式集群系统

FAWN1:从集群整体设计的角度考虑闪

存与处理器的匹配,以降低整体

能耗。

低频率CPU 普通CPU

364 query/J >> 1.96 query/J

Gordon2:发挥闪存芯片间的并发特

性,匹配处理器和内存芯片的

性能与能耗。

已经应用到San Diego 超算中心:

300TB容量,340Tfps

1: FAWN: A Fast Array of Wimpy Nodes. SOSP’09, CMU2: Gordon: Using flash memory to build fast, power-efficient clusters for data-intensive applications. ASPLOS’09, UCSD

Page 46: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

主要内容

46

背景一

分布式全闪存系统三

协议四

相关公司闪存阵列介绍五

全闪存阵列二

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 47: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

四 分布式闪存系统协议举例

1:CORFU: A Shared Log Design for Flash Clusters. NSDI’12, Microsoft

CORFU1

将整个闪存集群构成的存储

空间抽象成为一个共享的大日志。

将闪存直连到网络,去掉了服

务器所带来的延迟。

保证强一致性,写带宽将不受

闪存单元带宽的限制。

优势:

节能:单节点15w vs. 单服务器

250w

低延迟:读写延迟低于1ms

快速的故障恢复:650ms

问题:

硬件需要特殊定制。

应用场景有限

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 48: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

四 分布式闪存系统协议举例

1:Tango: Distributed Data Structures over a Shared Log. SOSP’13, Microsoft

Tango1

在CORFU的基础上,提供了一

组in memory的数据结构。

为元数据的操作,进行了统一

的抽象,并提供简单的接口。

底层不需要复杂的分布式协议。

优势:

以CORFU为基础,协议开销低。

保证集群系统中的元数据操作的一

致性、持久性、原子性、隔离性。

提供简单的使用接口

问题:

扩展性受到制约;

运行环境需要定制;

需要客户端做checkpoint,

对客户端的开销较大。2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 49: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

主要内容

49

背景一

分布式全闪存系统三

协议四

相关公司闪存阵列介绍五

全闪存阵列二

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 50: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

IBM XtreamIO

50

少量数据预留

在线数据去重

数据保护(XDP)

数据加密

快照

可扩展的性能

均匀的数据分布

高可用性

2017-6-21 Tsinghua Univ.—Jiwu Shu

Page 51: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

Pure storage

FlashArray//M:良好的数据去重;数据加密;99.9999%可用性

FlashArray//X:第一个主流的100% NVMe企业级全闪存阵列

特点

微秒级别的延迟

高密度的DirectFlash单元

可由M系列无缝升级而来

512017-6-21 Tsinghua Univ.—Jiwu Shu

Page 52: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

nimble storage

扩展性

无中断地扩大容量和性能

四个阵列作为一个单元管理

以毫秒级的延迟提供最大8PB容量和120万IOPS

更低的CTO:

内存需求降低10-30倍

通过去重和压缩数据量减少5倍

后备、DR、索引开销降为1/3

522017-6-21 Tsinghua Univ.—Jiwu Shu

Page 53: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

violin memory

特点:异步副本;同步监测;0 RPO和RTO扩展集群;快照;克隆

FSP 7600

35-140TB裸闪存分布在三个机架单元

110万IOPS在500毫秒一下的延迟,减少延迟同时提升I/O密度

FSP 7250

三个机架单元提供8-26TB容量

基于6:1的数据去重比例,最大提供93TB有效容量

532017-6-21 Tsinghua Univ.—Jiwu Shu

Page 54: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日

54