Coarse-grained mtime update for better fsync() performance

H. Son, Seongjin Lee, Gyeongyeol Choi, Y. Won
{"title":"Coarse-grained mtime update for better fsync() performance","authors":"H. Son, Seongjin Lee, Gyeongyeol Choi, Y. Won","doi":"10.1145/3019612.3019739","DOIUrl":null,"url":null,"abstract":"This work is dedicated to improve the performance of the fsync(), which is one of the most expensive system calls in UNIX operating systems. Due to the recent advancement of the Flash storage based storage device, the storage device can flush the data blocks in order of magnitudes faster than the legacy HDDs. Often, the rate of flushing the data blocks to the storage device prevails the rate of CPU updating the file system time. The amount of the dirty blocks created in the system depends on the timer interrupt interval of the kernel. Read and write operations update the atime and mtime metadata, respectively. These timestamps are useful; however, there is significant performance degradation due to frequent updates of the metadata. Now in the file system, atime has several options to mediate between usefulness and performance efficiency. Most of the Database Management Systems frequently perform fsync() to guarantee the consistency of user data. The synchronous writes involve journaling overhead of updating mtime metadata in EXT4 file system. However, the effect of frequent update of mtime on write intensive workload has been overlooked. We introduce coarse-grained mtime update scheme to increase the mtime/ctime timestamp update interval while maintaining the same level of resolution for kernel time interrupts. As a result, coarse-grained update interval scheme reduces the journaling overhead with the least effort. The experiment results show that the I/O performance of random workload on mobile and PC increased about 7+ and 107+ against the default mtime update interval, respectively. The result of insert operations on PERSIST mode of SQLite on mobile and PC shows 8.4+ and 45.1+ of I/O performance increase, respectively. On MySQL OLTP workload, the performance increased by 7.9+.","PeriodicalId":20728,"journal":{"name":"Proceedings of the Symposium on Applied Computing","volume":"55 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the Symposium on Applied Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3019612.3019739","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

This work is dedicated to improve the performance of the fsync(), which is one of the most expensive system calls in UNIX operating systems. Due to the recent advancement of the Flash storage based storage device, the storage device can flush the data blocks in order of magnitudes faster than the legacy HDDs. Often, the rate of flushing the data blocks to the storage device prevails the rate of CPU updating the file system time. The amount of the dirty blocks created in the system depends on the timer interrupt interval of the kernel. Read and write operations update the atime and mtime metadata, respectively. These timestamps are useful; however, there is significant performance degradation due to frequent updates of the metadata. Now in the file system, atime has several options to mediate between usefulness and performance efficiency. Most of the Database Management Systems frequently perform fsync() to guarantee the consistency of user data. The synchronous writes involve journaling overhead of updating mtime metadata in EXT4 file system. However, the effect of frequent update of mtime on write intensive workload has been overlooked. We introduce coarse-grained mtime update scheme to increase the mtime/ctime timestamp update interval while maintaining the same level of resolution for kernel time interrupts. As a result, coarse-grained update interval scheme reduces the journaling overhead with the least effort. The experiment results show that the I/O performance of random workload on mobile and PC increased about 7+ and 107+ against the default mtime update interval, respectively. The result of insert operations on PERSIST mode of SQLite on mobile and PC shows 8.4+ and 45.1+ of I/O performance increase, respectively. On MySQL OLTP workload, the performance increased by 7.9+.
粗粒度mtime更新,提高fsync()性能
这项工作致力于提高fsync()的性能,这是UNIX操作系统中最昂贵的系统调用之一。由于基于Flash存储的存储设备的最新进步,该存储设备可以比传统hdd快几个数量级地刷新数据块。通常,将数据块刷新到存储设备的速率优先于CPU更新文件系统时间的速率。系统中创建的脏块的数量取决于内核的计时器中断间隔。读操作和写操作分别更新atime和mtime元数据。这些时间戳很有用;但是,由于元数据的频繁更新,会导致显著的性能下降。现在在文件系统中,时间有几个选项可以在有用性和性能效率之间进行调节。大多数数据库管理系统经常执行fsync()来保证用户数据的一致性。同步写涉及到在EXT4文件系统中更新mtime元数据的日志开销。然而,频繁更新mtime对写密集型工作负载的影响被忽略了。我们引入了粗粒度的mtime更新方案,以增加mtime/ctime时间戳更新间隔,同时保持内核时间中断的相同分辨率。因此,粗粒度更新间隔方案以最少的努力减少了日志记录开销。实验结果表明,与默认的mtime更新间隔相比,移动和PC上随机工作负载的I/O性能分别提高了约7+和107+。在移动端和PC端对SQLite的PERSIST模式进行插入操作的结果分别显示了8.4+和45.1+的I/O性能提升。在MySQL OLTP工作负载上,性能提高了7.9+。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信