SDF:Software-Defined Flash for Web-Scale Internet Storage System
一.参考
http://www.csdn.net/article/a/2013-12-18/309280
http://gtstorageworld.blog.51cto.com/908359/1269024
http://www.searchstorage.com.cn/microsites/2014sds/index.html
http://www.baike.com/wiki/%E8%BD%AF%E4%BB%B6%E5%AE%9A%E4%B9%89%E9%97%AA%E5%AD%98
二.其他
1.其核心创新点是“Software Defined”(软件定义):硬件Flash通道向软件暴露,通过系统的角度解决硬件复杂性和不确定性,使软件能充分利用硬件的潜能,让硬件变得更加简单。
众所周知,传统SSD具有一些缺点,如实际性能只有理论性能的50%左右、20%~50%的冗余空间无法使用等,这造成了巨大的硬件成本浪费,无形中也提高了运维成本。随着SSD被广泛应用,这些成本浪费问题越来越凸显。
面对这样的现状,林仕鼎于两年多前提出了Software-Defined Flash的创新概念,并启动相关项目。如今,百度已自主研发了SSD并在内部成功上线。相比市场上主流PCIe Flash卡,百度自研SSD性能提高2倍(在同样的成本下),每GB的成本下降40%~50%,相对于传统SATA SSD,性能提高5倍,每GB成本持平。被ASPLOS收录的论文就源于这一项目。
三.论文本身
摘要
1.目前的问题
(1)Currently only 40% or less of the raw bandwidth of the flash memory in the SSDs is delivered by the storage system to the applications.
目前,固态硬盘的原始带宽的利用率不到40%(由存储系统传送到应用程序。)
(2)Moreover, because of space over-provisioning in the SSD to accommodate nonsequential or random writes, and additionally, parity coding across flash channels, typically only 50-70% of the raw capacity of a commodity SSD can be used for user data
为了适应随机写入,以及 flash channels中的奇偶校验码,所以只有50-70%的固态硬盘的原始容量用来存储用户数据
2.目的:
we seek to maximize both bandwidth and usable capacity
扩大带宽和可用的容量
3.为了达到此目标,提出:SDF-software-defined flash
a hardware/software co-designed storage system to maximally exploit the performance characteristics of flash memory in the context of our workloads.
硬件/软件协同设计的存储系统,硬件/软件协同设计的存储系统 最大限度地利用闪存的性能特点 存储在我们的工作负荷的情况下。
SDF exposes individual flash channels to the host software and eliminates space over-provisioning. The host software, given direct access to the raw flash channels of the SSD, can effectively organize its data and schedule its data access to better realize the SSD’s raw performance potential.
SDF向主机软件公开独立的闪存通道,并消除过度配置的空间。主机软件,给予直接访问到SSD的原始闪存通道,可以有效地组织其数据并排定其数据访问,以更好地实现对SSD的原始性能潜力。
介绍
1.SSD的带宽构成
The raw bandwidth of an SSD is obtained by multiplying its channel count, number of flash planes in each channel, and each plane’s bandwidth.
SSD的带宽由channel的数量和每个channel中的plane的数量决定。
The raw bandwidth of each plane is mainly determined by the flash feature size and was disclosed to us by the respective vendors
每个plane的带宽主要由flash的feature size决定, 这个是由供应商提供数据
*************
?1. We keep the small read unit but greatly increase the write unit size to be a multiple of the flash erase block size and require write addresses to be block-aligned. Thus write amplification is eliminated because no flash block can contain both valid and invalided data pages at the time of garbage collection
减小了读单元,增大了写单元,使得擦除快和写的地址对齐,这样就使得写放大消失,因为闪存快中没有同时包含有效的和无效的数据页。
*********补充********
1.http://ju.outofmemory.cn/entry/90907
百度研究 SDF 的动机有两点:1. 固态盘的空间利用率低;2. 固态盘的带宽利用率低。解决这两个问题,可以降低成本(用更少的固态盘满足需求,更低的冷却、占地、硬件成本)。
固态盘的空间利用率低的原因是:1. over-provisioning (OP)和 2. parity-coding across channels。固态盘一般会额外提供一些存储空间,称为OP,来加速随机写;parity coding 则将每个写请求编码分布到不同 channel去,通过数据冗余保证数据的可靠性,这和 RAID 的思想类似。SDF为了解决存储成本,1. 取消了 OP,所有存储空间都是可见的;2. 取消了 parity coding,也不做条带,每个写请求都只分发到一个 channel,通过上层的 replication 保证数据的可靠性。
固态盘的带宽利用率低的原因和解决方案是:1. 传统操作系统的 I/O 路径过长,穿过整个 I/O Stack 需要大概12微秒,这对磁盘来说不是问题,但对高性能固态盘却无法忽略,SDF 使用IOCTRL直接访问PCIe驱动(见原文图6);2. 过多的中断,每个I/O 请求都会触发中断,SDF 通过合并中断,将中断数减少到1/4 – 1/5(见原文第4页末);3. 将 channel 直接暴露给上层应用,上层应用可以利用 channel 级并行(EuroSys 的论文实际在讨论这个问题,见下文),每个 channel 对于应用来说都像一个独立的 SSD,有自己的 FTL;4. 增大写单元到若干个 block,舍弃对小写的支持(见第5页末);5. 耗时的 erase 命令会使得 SSD 的性能不稳定,由上层应用直接调用 erase 命令控制垃圾回收(见第6页右栏)。
SDF:Software-Defined Flash for Web-Scale Internet Storage System的更多相关文章
- Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking
A method of transferring data between a software defined network (SDN) and an information-centric ne ...
- RFIDler - An open source Software Defined RFID Reader/Writer/Emulator
https://www.kickstarter.com/projects/1708444109/rfidler-a-software-defined-rfid-reader-writer-emul h ...
- NFV-based QoS provision for Software Defined Optical Access and residential networks
文章名称:NFV-based QoS provision for Software Defined Optical Access and residential networks 发表时间:2017 ...
- Improving Network Management with Software Defined Networking
Name of article:Improving Network Management with Software Defined Networking Origin of the article ...
- Web Scale IT 与 6 种 DevOps 工具
新年伊始,在总结过去一年 IT 行业变化和发展的同时,不少企业更关注未来一年甚至几年的行业趋势.Gartner 于 2014 年发表了文章 Gartner Says By 2017 Web-Scale ...
- NFV-Based Scalable Guaranteed-Bandwidth Multicast Service for Software Defined ISP Networks
文章名称:NFV-Based Scalable Guaranteed-Bandwidth Multicast Service for Software Defined ISP Networks 发表时 ...
- 错误<BEA-101165> <Could not load user defined filter in web.xml
<2017-7-4 上午10时13分33秒 CST> <Error> <HTTP> <BEA-101165> <Could not load us ...
- Software Defined Networking(Week 1)
前言 课程名称:软件定义网络 课程地址 Coursera上新的一期还没开课,所以是YouTube. Instructor:Nick Feamster Get Started 对于本次课程,主要的新内容 ...
- 阅读Deep Packet Inspection based Application-Aware Traffic Control for Software Defined Networks
Deep Packet Inspection based Application-Aware Traffic Control for Software Defined Networks Globlec ...
随机推荐
- ueditor上粘贴从word中copy的图片和文字
图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...
- [Luogu] 等差数列
https://www.luogu.org/problemnew/show/P4243#sub 自己的思路错了 #include <iostream> #include <cstdi ...
- 蓝桥历年试题 DNA对比
[编程题](满分27分) 脱氧核糖核酸即常说的DNA,是一类带有遗传信息的生物大分子.它由4种主要的脱氧核苷酸(dAMP.dGMP.dCMT和dTMP)通过磷酸二酯键连接而成.这4种核苷酸可以分别记为 ...
- 决策树算法的Python实现—基于金融场景实操
决策树是最经常使用的数据挖掘算法,本次分享jacky带你深入浅出,走进决策树的世界 基本概念 决策树(Decision Tree) 它通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数 ...
- ARTS打卡计划第十二周
Algorithms: https://leetcode-cn.com/problems/balanced-binary-tree/ 平衡二叉树. Review: “What I Learned i ...
- shell之列表的定义与循环
字符串列表定义方法1: a=(f1 f2 f3 f4)for i in ${a[*]}#遍历每一个列表值 for i in ${a[@]}#等价与上一句 实例: #!bin/basha=(f1 f2 ...
- spring boot 下 开启 gzip
[参考文章]:Spring boot开启Gzip压缩 [参考文章]:Accept-Encoding Spring 版本 :5.1.2-RELEASE 1. application.yml 配置 ser ...
- word2vec原理与代码
目录 前言 CBOW模型与Skip-gram模型 基于Hierarchical Softmax框架的CBOW模型 基于Negative Sampling框架的CBOW模型 负采样算法 结巴分词 wor ...
- Mac OS为UltraEdit在Terminal中添加快捷使用命令
一,什么是UltraEdit 我觉得是个程序员,撸代码的都知道UrlEdit是什么.我们在会使用Linux,在Linux中有个很出名的编辑器gedit,使得我们在终端中输入gedit xxx.便可进入 ...
- 定位上下文(补充css的position属性)
]把元素的position属性设定为relative.absolute或fixed后,继而可以使用TRBL属性,相对于另一个元素移动该元素的位置.这里的“另一个元素”,就是该元素的定位上下文. 绝对定 ...