自助建站实验报告,wordpress放在二级目录下,赣州做网站找谁,襄阳住房城乡建设厅官方网站TOCS 2023 Paper 论文阅读笔记整理
问题
文件系统碎片是计算机系统随着时间的推移而变慢的主要原因之一。以前认为#xff0c;碎片化对硬盘驱动器#xff08;HDD#xff09;等旋转存储设备有害#xff0c;但不影响固态驱动器#xff08;SSD#xff09;#xff0c;因为…TOCS 2023 Paper 论文阅读笔记整理
问题
文件系统碎片是计算机系统随着时间的推移而变慢的主要原因之一。以前认为碎片化对硬盘驱动器HDD等旋转存储设备有害但不影响固态驱动器SSD因为SSD在访问数据时不需要寻道时间。然而最近的研究表明碎片化对SSD也有影响。
根据本文的实验文件系统碎片化不仅降低了现代存储设备的I/O性能还带来了与I/O公平性相关的各种问题如性能干扰。 从性能的角度来看当前的Linux I/O堆栈只允许单个I/O表示连续的LBA空间。而碎片化将单个系统调用拆分为多个小的随机I/O增加了内核开销阻碍了SSD内部并行性的有效利用导致请求拆分。 从公平性的角度来看碎片会干扰I/O调度器的活动[46]。当前大多数用于I/O公平性的Linux I/O调度器都依赖于块层级别的I/O属性如I/O数量及其大小。但碎片化使这些属性随机化并导致性能干扰。
挑战
消除碎片的直观方法是将碎片块迁移到新的连续区域称为碎片整理。现有的碎片整理工具[111318]例如用于Ext4的e4defrag[11]主要是为旋转存储设备如HDD设计的它们会导致SSD和现代计算环境出现各种问题。 大多数碎片整理工具[2101118]将每个碎片文件的全部内容复制到新的空间中这会产生过多的I/O操作。增加了碎片整理的时间降低了可用性。 显著降低了协同运行应用程序的性能。在现代计算环境中为了更好地利用资源大量应用程序同时运行。 现有方法显著增加了底层存储设备的写入流量从而缩短了现代存储设备的寿命包括基于闪存的存储设备甚至Optane SSD。
本文方法
本文提出了FragPicker用于现代存储设备的碎片整理工具适用于现代存储设备如基于闪存和optane的存储设备。主要目标是最大限度地减少碎片整理引起的I/O量同时实现与传统工具类似的性能改进。
传统的碎片整理工具倾向于保证每个文件的整个文件块的连续性因为HDD的寻道时间占I/O开销的很大一部分。本文通过实验分析在现代存储设备上只要不发生请求拆分碎片之间的距离与I/O性能无关。因此FragPicker试图保证每个系统调用访问的数据的连续性而不是整个文件以防止请求分裂。 为此FragPicker分析指定应用程序/容器的I/O特性并找出每个文件中用于迁移的最佳数据片段。只有在迁移有助于提高性能时才会将碎片数据迁移到新的空间有效地将碎片整理的I/O量降至最低。 在分析阶段跟踪应用程序的I/O活动并确定用于后续迁移的最佳文件系统块避免无意义的复制操作。例如当应用程序以偏斜的方式发出I/O时热数据的位置和放置可能会决定I/O性能迁移冷数据不会带来很大的性能提升。因此FragPicker在系统调用层跟踪I/O信息并识别应用程序确实需要的数据。为了进一步减少I/O数量FragPicker计算每个数据段的访问计数并将其用于决定迁移的目标数据。 在迁移阶段首先确认分析阶段中的预定块是否分段。在迁移之前调查这些数据的碎片状态以确定数据是否需要迁移。之后使用fallocate为迁移分配一个新区域并执行碎片块的实际迁移。
开源代码GitHub - jonggyup/FragPicker
通过YCSB-C的评估显示FragPicker将碎片整理的I/O总量减少了约66%所用时间减少了约84%同时显示出类似的碎片整理效果。
实验
实验环境 数据集合成工作负载RocksDB YCSB-Cfilebench fileserverFIO
实验对比吞吐量、开销、读性能、运行时间
实验参数读写方式、文件系统、硬件
总结
本文针对文件系统碎片化问题现有方法整理碎片引入的I/O开销过高。本文实验分析了现代存储设备上碎片化导致的性能和公平性下降主要原因是请求分裂即碎片化将单个系统调用拆分为多个小的随机I/O。因此提出了新的碎片整理工具FragPicker分为两阶段执行。1在系统调用层跟踪I/O信息对数据段访问计数确定最影响性能的数据段。2确定数据块是否分段若分段则分配新空间进行实际数据迁移。