一种保障ZNS-SSD访问公平性的I/O调度方法技术

技术编号:35576670 阅读:13 留言:0更新日期:2022-11-12 16:01
本发明专利技术属于计算机存储技术领域,具体涉及一种保障ZNS

【技术实现步骤摘要】
一种保障ZNS

SSD访问公平性的I/O调度方法


[0001]本专利技术属于计算机存储
,具体涉及一种保障ZNS

SSD访问公平性的I/O调度方法。

技术介绍

[0002]智能时代在带来前所未有的用户体验的同时,产生的数据量呈爆炸式增长。据国际数据公司(IDC)预测,到2025年,全球数据圈将增至175ZB。海量数据的存储已成为存储系统发展的必然趋势与内在需求,亟需高性能的持久化存储软硬件,以缓解存储系统面临的巨大压力,为此,NVMe标准推出分区命名空间(Zoned Namespace,简称ZNS)协议,重新定义了固态存储接口。
[0003]ZNS接口将逻辑地址划分为固定大小的分区,在分区内部,上层应用只能顺序写入数据,从而规范数据分布,避免有效数据的频繁迁移。相比传统块设备接口,ZNS接口打破了上层应用与底层设备的隔阂,消除了设备内部的垃圾回收,达到了削减SSD成本、提高SSD性能的目标,因此,ZNS接口更加贴合闪存的介质访问特性,逐步成为新一代SSD访问接口,与此同时,三星、西部数据等硬件厂商同步研制出基于ZNS接口的闪存固态盘(ZNS

SSD),旨在提升存储系统的性能与利用率。
[0004]然而,在推广和应用过程中,新型ZNS

SSD硬件仍面临诸多挑战。其中,当多个应用程序同时访问ZNS

SSD设备时,ZNS接口的特有性质导致了严重的访问不公平性。具体地,由于ZNS

SSD分区必须顺序地写入数据,多个应用程序发出的I/O请求无法像传统SSD那样被随意调度,从而造成I/O阻塞。如果一个应用程序发出的I/O请求被其它应用程序阻塞,那么,这个应用程序的I/O请求迟迟得不到响应,出现访问不公平的现象。在高性能存储系统中,访问不公平会影响服务水平,降低用户体验。

技术实现思路

[0005]为解决上述技术问题,本专利技术提出一种保障ZNS

SSD访问公平性的I/O调度方法,包括以下步骤:
[0006]S1:针对每个闪存芯片队列,通过计时器记录所有I/O请求到来的时间,并统计平均响应时间,并根据平均响应时间计算每个应用程序的Slowdown值,选择Slowdown值最大的应用程序为不公平应用程序,其发出的I/O请求为不公平的I/O请求;
[0007]S2:在闪存芯片队列中,寻找与不公平I/O请求访问同一个分区的所有I/O请求,并根据访问同一个分区的先后顺序捆绑为待调度的I/O请求组,基于ZNS接口规定,对I/O请求组进行ZNS感知的粗粒度调度;
[0008]S3:粗粒度调度完成后,重新计算每个应用程序的Slowdown值,若重新计算得到的最大Slowdown值对应的应用程序和没进行调度之前最小Slowdown值对应的应用程序发生互换,则利用自平衡的细粒度调度策略,调整不公平I/O请求的位置。
[0009]优选的,根据平均响应时间计算每个应用程序的放缓速度,每个应用程序的放缓
速度计算为:
[0010][0011]其中,Slowdown
i
表示第i个应用程序的Slowdown值,RT
iShared
表示第i个应用程序与其它应用程序共同访问ZNS

SSD设备时的平均响应时间,RT
iAlone
表示第i个应用程序单独访问ZNS

SSD设备时的平均响应时间。
[0012]优选的,所述基于ZNS接口规定,对I/O请求组进行ZNS感知的粗粒度调度,具体包括:根据同一个分区的所有I/O请求的访问顺序写入请求并将请求调度到芯片队列首部。
[0013]优选的,所述利用自平衡的细粒度调度策略,调整不公平I/O请求的位置,具体包括:将捆绑的I/O请求组中的不公平I/O请求向闪存芯片队列尾部移动一个位置,并再次重新计算每个应用程序的Slowdown值,直到最大Slowdown值对应的应用程序不再发生改变,则完成调度。
[0014]本专利技术有益效果:本专利技术通过在运行时计算每个应用程序的Slowdown值,并结合ZNS顺序写约束,优先响应不公平的I/O请求,平衡了所有应用程序的访问延迟,保障了ZNS

SSD的访问公平性,具有开销低、易实施等优势,同时具备良好的可扩展性、实用性。
附图说明
[0015]图1为本专利技术的实施原理图;
[0016]图2为本专利技术的ZNS感知的粗粒度调度示意图;
[0017]图3为本专利技术的自平衡的细粒度调度示意图;
[0018]图4为本专利技术的实施例流程图。
具体实施方式
[0019]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]一种保障ZNS

SSD访问公平性的I/O调度方法,如图1所示,该方法包括:
[0021]S1:针对每个闪存芯片队列,通过计时器记录所有I/O请求到来的时间,并统计平均响应时间,并根据平均响应时间计算每个应用程序的Slowdown值,选择Slowdown值最大的应用程序为不公平应用程序,其发出的I/O请求为不公平的I/O请求;
[0022]S2:在闪存芯片队列中,寻找与不公平I/O请求访问同一个分区的所有I/O请求,并根据访问同一个分区的先后顺序捆绑为待调度的I/O请求组,基于ZNS接口规定,对I/O请求组进行ZNS感知的粗粒度调度;
[0023]S3:粗粒度调度完成后,重新计算每个应用程序的Slowdown值,若重新计算得到的最大Slowdown值对应的应用程序和没进行调度之前最小Slowdown值对应的应用程序发生互换,则利用自平衡的细粒度调度策略,调整不公平I/O请求的位置。
[0024]优选的,根据平均响应时间计算每个应用程序的放缓速度,每个应用程序的放缓
速度计算为:
[0025][0026]其中,Slowdown
i
表示第i个应用程序的Slowdown值,RT
iShared
表示第i个应用程序与其它应用程序共同访问ZNS

SSD设备时的平均响应时间(Response Time),RT
iAlone
表示第i个应用程序单独访问ZNS

SSD设备时的平均响应时间。
[0027]基于ZNS接口规定,进行ZNS感知的粗粒度调度,具体包括:同一个分区必须顺序写入数据,在I/O请求组内部,所有I/O请求的顺序不能改变,将I/O请求组内的所有I/O请求调度至芯片队列首部,以I/O请求组为单位进行整体I/O调度,保证分区的顺序写入数据的特性,突破本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种保障ZNS

SSD访问公平性的I/O调度方法,其特征在于,包括以下步骤:S1:针对每个闪存芯片队列,通过计时器记录所有I/O请求到来的时间,并统计平均响应时间,并根据平均响应时间计算每个应用程序的Slowdown值,选择Slowdown值最大的应用程序为不公平应用程序,其发出的I/O请求为不公平的I/O请求;S2:在闪存芯片队列中,寻找与不公平I/O请求访问同一个分区的所有I/O请求,并根据访问同一个分区的先后顺序捆绑为待调度的I/O请求组,基于ZNS接口规定,对I/O请求组进行ZNS感知的粗粒度调度;S3:粗粒度调度完成后,重新计算每个应用程序的Slowdown值,若重新计算得到的最大Slowdown值对应的应用程序和没进行调度之前最小Slowdown值对应的应用程序发生互换,则利用自平衡的细粒度调度策略,调整不公平I/O请求的位置。2.根据权利要求1所述的一种保障ZNS

SSD访问公平性的I/O调度方法,其特征在于,根据平均响应时间计算每个应用程序的放缓速度,每个应用程序的放缓速度计算为:其中,Slowdown

【专利技术属性】
技术研发人员:刘人萍龙林波张询
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1