基于闪存的SSD的高性能轻量级事务协议

基于闪存的SSD的高性能轻量级事务协议

Abstract

  • 发现问题:现有的基于闪存的SSD的嵌入式事务协议要么限制了事务的并发性能,要么追踪事务状态的开销过大,导致SSD性能下降或不稳定。
  • 解决方案:本文提出LightTx,在支持事务高并发处理的同时满足低开销。主要从三个方面实现这个目标。
    • 采用页独立提交方式(page-independent commit protocal)改进事务并发性能。
    • 利用SSD的近日志结构更新(near-log-structured)的特性追踪最后的数据更新,并且周期性的回收死亡事务减少事务跟踪开销。
  • 结果评估:相比已有的嵌入式事务协议,LightTx在垃圾回收、内存消耗、映射持久化方面的开销降到最低,同时并发性能提升显著。

ps:本节简要介绍了问题的起源,提出的解决方案,以及本文亮点。主题是嵌入式事务协议;下文关键在阐述并发性能改进方案、降低事务状态追踪开销方案两个方面;亮点是实验数据支撑的大幅提升,实验主要在内存消耗、垃圾回收、影射持久化和并发性能四个方面。


Introduction

  1. 通过应用层(DBMSs、File System、Apps)介绍事务在上层的问题:实现复杂度高、性能低。强调了事务恢复的重要性,同时介绍两种主要的事务恢复方法:WAL(write ahead logging)、影子页(shadow paging)。前者额外的log操作引起巨大开销,后者降低性能。从而引出可能的解决方案,利用闪存的不可重复写和随机读写两个特性能解决前两者的问题,在SSD内部尝试提供事务支持。
  2. 围绕上文提出的可行的解决方案,本节介绍了目前的研究情况。各种研究主要滞涩在两个技术瓶颈上。a)对于不同的事务隔离等级环境的不兼容,仅使用于strict isolation,不能满足并发事务需求,这使得SSD性能不能被充分利用。b)开销过高,大量并发事务的状态追踪的开销、事务中止的垃圾回收开销、映射持久化开销。
  3. 根据上文提到的两大技术瓶颈,本文提出了TxSSD事务协议,通过称之为LightTx的技术同时解决这两个问题。
    • 根据SSD不可重复写特性,利用页独立更新以及页独立的事务提交协议,支持事务并发。
    • 根据SSD近日志结构更新特性提出的基于区域的事务状态追踪方案解决事务管理开销问题。
  4. 成果:这是首个在SSD内部实现的低开销且兼容多事务隔离等级的嵌入式事务协议。

Background & Related Work

  1. 基于闪存的SSD:存储体的组织结构(片、面、块、页、OOB,极其大小)、存储单元的物理结构与特性(不可重复写的原理)。
  2. 事务:ACID特性、事务生命周期(BEGIN COMMIT\ABORT CHECKPOINT ERASE)。
  3. 相关研究:AW(Atomic-Write)& AW FTL、TxFlash、Flag Commit、MARS’。它们的主要思路与缺点。

ps:本节分三部分展开。第一部分介绍了SSD的物理组成,存储体的工作原理、特性,证明其能很好的在底层支持事务。第二部分介绍了事务的特性及其生命周期,提出了兼容不同事务隔离等级和减少事务追踪开销的需求。第三部分介绍了已有的关于嵌入式事务机制,AW、TxFlash、FlagCommit以及MARS几种方法的原理和缺点,对比引出了本文的解决方案LightTx。


LightTx Design

目标:

  • 页独立提交协议,用以提高事务兼容性,支持事务并发
  • 基于区域的事务状态跟踪机制,降低LightTX的开销。

设计组成:

​ 事务框架(TxSSD)、提交协议、基于区域的事务状态跟踪机制、恢复机制。

  1. 事务框架TxSSD

    并发控制与事务恢复解耦,前者软件实现,后者硬件实现。拓展FTL模块,新增Active TxTable、Commit Logic、Recovery Logic以及基于空闲块的管理模块。接口方面添加了BEGIN、COMMIT、ABORT命令,拓展了WRITE命令。

  2. 页独立提交协议

    设计目标是将不同页以及相同页的不同版本之间的依赖降至最低。每个页的元数据区用12byte存储事务元数据,包括TxID、TxCnt、TxVer,其中TxCnt记录总页数用于检查事务的提交状态。

    ps:该协议是用于支持并发处理的,行文中对每一个原理解释都采取图+案例说明的方式,更容易理解,然而还是没有强调出并发的处理。

  3. 基于区域的事务状态跟踪机制

    • 概述:减少开销。跟踪事务状态,区分已提交、未提交,在事务恢复的时候redo或者undo。两个方面减少开销。1)通过块而不是页跟踪事务状态。2)将活动事务与死亡事务分开以减少跟踪的事务数量。
    • 事务状态、页状态、块状态之间的关系:页状态与它所属的事务状态一致。事务状态由它所更新的所有页的状态而决定。块状->页状->事务状态。
    • 块区域及块滑动:block zone是一个块的集合,根据块中页的状态将块分成四个zone,Free、Unavailable、Available、Checkpointed。

    ps:基于区域是相对与基于页的检测而言的,基于页需要检测的量大开销大,所以类似于将页分组做索引,页聚成块,块聚成区,最终只维护区中的块流动,然后检测特定的区就能检测事务的状态。

  4. 事务恢复

    在Available和Unavailable zone中检测page的metadata区别出committed或uncommitted的事务进行redo或undo。redo的事务更新FTL映射表和页元数据即可,undo的直接从TxTable中discard就可以了。


Evaluation

本节采用对照实验的方法将LightTx与之前的提交协议AW、SCC/BPCC、MHL(Multi-Head Logging)做对比,在多种兼容环境下的性能和开销(垃圾回收、内存消耗、映射持久化)两方面做对比。

实验环境搭建:a simulator based on DiskSim,use configuration as Samsung K9F8G NAND flash ...

事务兼容性:三种事务隔离等级下的吞吐量测试。AW只支持strict isolation,不支持并发;SCC、BPCC不支持同一页的并发事务,但支持不同页的并发事务;其他协议均支持三种隔离等级的事务。横向对比,LightTx在三种隔离等级环境下的吞吐量均优于其他协议。纵向对比,LightTx在处理高并发事务时表现出更高的吞吐量,证明其能提高SSD并行事务处理能力。同时,补充实验验证内部SSD并行性能与隔离等级及吞吐量的关系。

垃圾回收开销:对比四种协议在不同中止率下性能及垃圾回收的开销。性能:中止率对LightTx性能没有影响,且在各中止率下的性能都几乎是最佳性能相比其他的协议。垃圾回收开销最小,且通过变化垃圾回收阈值测试垃圾回收敏感度,由GC时间和吞吐量衡量。

内存开销:LightTx和MHL-D具有很低的内存开销相较其他的协议。

映射持久化开销:恢复时间和持久化开销两个方面实验。恢复时间主要取决与页扫描时间,AW/MHL-M持久化了所有事务的映射,所以不用扫描页,直接读持久化的映射表就能做恢复,故时间最短;而SCC\BPCC需要扫描所有页以确定事务状态,需要最长时间;LightTx只需要扫描没有持久化的映射,即Available和Unavailable Zone里的页,大大减少了扫描时间。映射持久化开销和恢复时间成反比,需要持久化的映射数据越多,那么恢复的时候需要扫描的页越少。

评估总结:对上诉所有实验做一个汇总总结,通过表格的形式描述实验结果,突出了本文研究内容LightTx的优越性。

PS:实验要多角度变化,同时实验说明除了数据描述、结果总结,还需要对每个数据的原因进行剖析,印证前文的原理描述。


Conclusion

总结本文的成果:高兼容性、低开销的SSD事务设计。页独立提交协议实现高兼容性,基于区域的页状态追踪机制减少持久化开销、状态检测开销、垃圾回收开销和内存消耗。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,776评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,527评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,361评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,430评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,511评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,544评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,561评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,315评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,763评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,070评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,235评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,911评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,554评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,173评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,424评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,106评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,103评论 2 352

推荐阅读更多精彩内容