信息存储系统教育部重点实验室

冯丹教授课题组在ISCA 2020发表非易失内存中故障原子性研究新进展


中国计算机学会推荐A类国际会议International Symposium on Computer Architecture(ISCA 2020)近期录用了华中科技大学武汉光电国家研究中心冯丹教授课题组博士生魏学亮为第一作者的研究成果“MorLog: Morphable Hardware Logging for Atomic Persistence in Non-Volatile Main Memory”。此次会议收到的总投稿数为428篇,最终录用77篇,录用率为18%。受COVID-19影响,ISCA 2020是历史上首次采用线上召开方式的ISCA会议。超过1400名来自世界各地的参会者,在线上围绕着领域内最新研究进展进行了为期6天的交流讨论。

新型字节可寻址的非易失存储器(Non-Volatile Memory,NVM)被视为未来计算机内存的最有潜力的候补之一,如何将NVM放置在内存总线上作为非易失内存(Non-Volatile Main Memory,NVMM)使用成为当前研究热点。其面临着两方面挑战:支持故障原子持久性、降低NVMM写操作开销。为了支持故障原子持久性,现有工作提出了基于事务的硬件日志机制,但现有的硬件日志机制会导致额外的顺序约束并且会保存冗余的日志数据,从而导致额外的性能和能耗开销。为了降低NVMM写操作开销,现有工作提出了数据编码策略,但现有的数据编码策略未区分普通数据和日志数据,从而无法充分利用日志数据的特性来减少写操作开销。

为了解决上述问题,武汉光电国家研究中心冯丹教授课题组提出了一种避免冗余日志数据、充分利用日志数据的特性的硬件日志方案(称为MorLog),显著减少了NVMM写操作数量和能耗并提升了系统整体性能。图1所示为MorLog的整体系统结构示意图,其中创新性地提出了可变日志机制(MorphableLogging)、选择性日志数据编码机制(SelectiveLogDataEncoding)。可变日志机制的设计基于一个新的发现:在日志中同时记录undo数据和redo数据能够放松顺序约束,并且每个事务中只有最旧的undo数据和最新的redo数据是必要的。基于此发现,可变日志机制在每个事务中当普通数据第一次更新时记录undo数据,并且在undo数据写回NVMM后,只为后续对相同数据的更新记录redo数据。此外,可变日志机制通过积极地写回undo数据来保证可恢复性,并通过懒惰地写回redo数据来减少冗余的日志数据。选择性日志数据编码机制的设计基于另一个新的发现:只有普通数据中值发生变化的部分对应的日志数据是必要的。基于此发现,选择性日志数据编码机制采用了一种新编码策略,在编码时先直接丢弃普通数据中值未发生变化的部分对应的日志数据,再根据预定义的数据模式对剩余的日志数据进行压缩。此外,选择性日志数据编码机制动态地从现有编码策略和新编码策略中,选择编码后写操作开销最小的数据写入NVMM。如图2所示,基于Gem5+NVMain全系统仿真平台的测试结果表明,相比于采用了最新的Undo+Redo硬件日志机制和数据编码机制的系统,MorLog能够达到平均72.5%的性能提升。

图1 MorLog的整体系统结构

图2 Micro-Benchmarks负载下的性能对比

本研究工作得到了国家自然科学基金、国家科技重大专项、中央高校基本科研专项资金等项目资助。

注:本文为原创,如转载请注明出处。

分享文章

Share