《软件学报杂志》发表论文赏析
作者:刘星,江松,王洋,范小朋,须成忠
单位:刘星,中国科学院 深圳先进技术研究院, 广东 深圳 518055;中国科学院大学 深圳先进技术学院, 广东 深圳 51805511,江松,中国科学院 深圳先进技术研究院, 广东 深圳 518055;Department of Computer Science and Engineering, The University of Texas at Arlington, Arlington, TX 76010, USA02,王洋,中国科学院 深圳先进技术研究院, 广东 深圳 51805503,范小朋,中国科学院 深圳先进技术研究院, 广东 深圳 51805504,须成忠,中国科学院 深圳先进技术研究院, 广东 深圳 518055;Department of Electrical and Computer Engineering, Wayne State University, Detroit, MI 48202, USA05
摘要:小数据同步写普遍存在于各种计算机环境中,并且可以由计算机系统的不同层次软件产生,从底层操作系统一直到上层应用软件都可以生成小数据同步写请求.然而,操作系统的文件系统是以块作为最小逻辑可寻址单位,小数据写将会导致严重的写放大问题,使得系统的I/O性能大幅度降低.为了解决上述问题,提出了一种I/O调度器,并将其命名为Hitchhike.该调度器可以识别小数据写,并通过对其他数据块中的数据进行压缩,将小数据嵌入到压缩出来的空间中,从而将小数据和该数据块一起写入到磁盘上,以异步回写的方式完成小数据的同步写,不仅有效缓解了磁盘的写放大问题,也极大地提高了小数据同步写的效率.基于Linux 2.6.32的Deadline调度器实现了Hitchhike原型系统,并利用Filebench基准测试来测试调度器在吞吐量、I/O延迟等方面的性能.通过与传统I/O调度器的性能进行比较,可以发现,Hitchhike调度器能够显著地提高小数据同步写的性能高达48.6%.
关键词:同步写;小数据写;I/O调度器;写放大
基金资助:国家重点基础研究计划(973)(2015CB352400);国家自然科学基金(61572487,61672513,61572377,U1401258,6155 0110250);广东省自然科学基金(2015B010129011,2016A030313183);深圳市海外高层次人才创新创业专项(孔雀计划)(KQCX201 40521115045446);深圳市技术攻关项目(JSGG20150512145714248,JSGG20160229200957727)