CN110018781B - 磁盘流控方法、装置以及电子设备 - Google Patents

磁盘流控方法、装置以及电子设备 Download PDF

Info

Publication number
CN110018781B
CN110018781B CN201810017428.5A CN201810017428A CN110018781B CN 110018781 B CN110018781 B CN 110018781B CN 201810017428 A CN201810017428 A CN 201810017428A CN 110018781 B CN110018781 B CN 110018781B
Authority
CN
China
Prior art keywords
read
write
flow control
disk
thread
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810017428.5A
Other languages
English (en)
Other versions
CN110018781A (zh
Inventor
程曙光
付挺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810017428.5A priority Critical patent/CN110018781B/zh
Publication of CN110018781A publication Critical patent/CN110018781A/zh
Application granted granted Critical
Publication of CN110018781B publication Critical patent/CN110018781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Abstract

本申请公开了一种磁盘流控方法,包括:获取磁盘在至少一个读写线程中的读写参数;判断所述读写参数是否满足流控调整条件,若是,将所述磁盘的磁盘状态设为流控状态;对与所述磁盘的读写参数对应的流控阈值进行调整。所述磁盘流控方法在对磁盘进行流控调整的同时均衡了读写线程的读写压力,同时确保磁盘的读写线程之间互不干扰,缩短了流控耗时。

Description

磁盘流控方法、装置以及电子设备
技术领域
本申请涉及数据存储领域,具体涉及一种磁盘流控方法。本申请同时涉及一种磁盘流控装置,以及一种电子设备。
背景技术
云计算环境下,一台物理机上可以虚拟出多个虚拟机,多个虚拟机共享物理机的CPU、内存、网络以及后端的存储资源;在这种共享模式下,为确保承诺给不同客户的SLA(Service-Level Agreement,服务等级协议),需要对虚拟机能够使用的资源进行限制,避免单个虚拟机使用过多的共享资源而导致其他虚拟机的性能受到影响。而这其中尤为重要的一项就是存储资源,虚拟机设置有系统盘和若干数据盘,虚拟机内各种应用会读写数据到这些磁盘中,也就是发送读写(I/O)请求到后端的存储系统中,如果磁盘的读写速度等得不到保证,将会直接影响到虚拟机性能,因此需要对虚拟机的磁盘进行流控。
目前的流控方式,对虚拟机的磁盘进行流控时,通过在后端的存储系统设置流控装置,也就是在整个I/O路径上加入一个共用的流控装置,所有的I/O必须经过该流控装置,同时在流控装置通过一些经典的限流算法(比如,漏桶算法、令牌桶算法等),能够达到对磁盘流控的效果。
然而在读写速度要求比较高的场景下,比如对于百万级别IOPS量级、微秒级别延时的高性能磁盘,目前的流控方式提供的流控装置已经成为了整个存储系统的瓶颈之一,原因在于:所有的I/O请求流都流经一个公用的流控装置,并且是串行通过,限制了I/O请求流的处理效率。同时,由于一个磁盘的I/O请求会被分散到多个I/O请求线程中去,目前的流控模块单队列模式需要在多个线程之间加锁,来保证流控的准确性,从而带来了不低的I/O延时,锁操作的耗时对于高性能、低延时磁盘来说是一个不可忽视的开销。
发明内容
本申请提供一种磁盘流控方法,以解决现有技术存在的问题。本申请同时涉及一种磁盘流控装置,以及一种电子设备。
本申请提供一种磁盘流控方法,包括:
获取磁盘在至少一个读写线程中的读写参数;
判断所述读写参数是否满足流控调整条件,若是,将所述磁盘的磁盘状态设为流控状态;
对与所述磁盘的读写参数对应的流控阈值进行调整。
可选的,所述判断所述读写参数是否满足流控调整条件步骤执行前,执行如下操作:
获取所述磁盘的磁盘状态;
其中,所述磁盘状态包括:流控状态和非流控状态。
可选的,所述流控调整条件,包括下述至少一项:
在所述非流控状态下所述读写线程中的读写参数之和大于第一读写参数阈值,
在所述流控状态下所述读写线程中的读写参数之和大于第二读写参数阈值。
可选的,所述判断所述读写参数是否满足流控调整条件,采用如下方式实现:
判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若是,执行所述将所述磁盘的磁盘状态设为流控状态步骤;若否,判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若大于,执行所述将所述磁盘的磁盘状态设为流控状态步骤;
或者,
判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若是,判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,执行所述将所述磁盘的磁盘状态设为流控状态步骤;如果不是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若大于,执行所述将所述磁盘的磁盘状态设为流控状态步骤。
可选的,所述第一读写参数阈值大于所述第二读写参数阈值;且所述第一读写参数阈值小于所述磁盘的读写参数的上限值。
可选的,所述对与所述磁盘的读写参数对应的流控阈值进行调整,采用如下方式实现:
判断所述读写线程中的读写参数是否大于平均流量阈值,若是,将所述读写线程作为待调整读写线程;
对所述待调整读写线程中的读写参数对应的流控阈值进行调整;
其中,所述流控阈值包括:所述待调整读写线程中的读写参数对应的读写阈值上限。
可选的,所述对所述待调整读写线程中的读写参数对应的流控阈值进行调整子步骤执行后,执行如下操作:
判断调整后所述待调整读写线程中的读写参数是否小于或者等于所述平均流量阈值,若否,返回执行所述对所述待调整读写线程中的读写参数对应的流控阈值进行调整子步骤。
可选的,所述磁盘流控方法,包括:
判断调整后所述磁盘在所述读写线程中的读写参数之和是否小于所述第二读写参数阈值,若是,将所述磁盘的磁盘状态设为所述非流控状态。
可选的,所述平均流量阈值,是指所述读写参数的上限值与所述读写线程的数目二者的比值。
可选的,所述待调整读写线程中读写参数对应的流控阈值,采用如下方式进行调整:
确定所述待调整读写线程中读写参数对应的目标读写阈值;
将所述待调整读写线程中读写参数对应的读写阈值上限调整为所述目标读写阈值。
可选的,所述目标读写阈值,是指所述磁盘的可分配流量值与所述待调整读写线程中的读写参数在所有待调整读写线程中的读写参数之和中所占比例的乘积,与所述平均流量阈值二者之和;其中,所述磁盘的可分配流量值,是指所述磁盘的读写参数的上限值,减去所述待调整读写线程的数目与所述平均流量阈值二者乘积,再减去所述待调整读写线程之外所有读写线程中的读写参数之和。
可选的,所述读写参数,包括下述至少一项:每秒处理读写请求的数目,每秒处理读写数据的字节数。
可选的,所述磁盘包括:虚拟机中至少一块磁盘;并且,所述磁盘对应于分布式存储系统的存储集群。
可选的,所述磁盘流控方法,基于所述分布式存储系统设置的流控模块实现;其中,所述获取磁盘在至少一个读写线程中的读写参数步骤,基于所述流控模块包含的统计子模块实现;以及,所述判断所述读写参数是否满足流控调整条件步骤,所述将所述磁盘的磁盘状态设为流控状态步骤,和/或所述对与所述磁盘的读写参数对应的流控阈值进行调整步骤,基于所述流控模块包含的流控管理子模块实现。
可选的,所述读写线程与所述流控模块包含的统计子模块和/或所述统计子模块一一对应;并且,所述流控调整子模块和/或所述统计子模块在其对应的读写线程中实现。
可选的,所述流控管理子模块基于管理线程实现,所述管理线程独立于所述读写线程。
本申请还提供一种磁盘流控装置,包括:
读写参数获取单元,用于获取磁盘在至少一个读写线程中的读写参数;
流控调整条件判断单元,用于判断所述读写参数是否满足流控调整条件,若是,运行流控状态设置单元和流控调整单元;
所述流控状态设置单元,用于将所述磁盘的磁盘状态设为流控状态;
所述流控调整单元,用于对与所述磁盘的读写参数对应的流控阈值进行调整。
本申请还提供一种电子设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取磁盘在至少一个读写线程中的读写参数;
判断所述读写参数是否满足流控调整条件,若是,将所述磁盘的磁盘状态设为流控状态;
对与所述磁盘的读写参数对应的流控阈值进行调整。
本申请提供的所述磁盘流控方法,获取磁盘在至少一个读写线程中的读写参数;判断所述读写参数是否满足流控调整条件,若是,将所述磁盘的磁盘状态设为流控状态;对与所述磁盘的读写参数对应的流控阈值进行调整。
所述磁盘流控方法在对所述磁盘进行流控调整时,依据获取到的所述磁盘在至少一个读写线程中的读写参数,判断所述磁盘是否触发流控调整条件,如果所述磁盘触发流控调整条件,则将所述磁盘设为流控状态,并在流控状态下对所述磁盘进行流控调整,在流控的同时均衡所述磁盘的各读写线程的读写压力,同时确保所述磁盘的读写线程之间互不干扰,缩短了流控耗时。
附图说明
附图1是本申请提供的一种磁盘流控方法实施例的处理流程图;
附图2是本申请提供的一种磁盘流控实施场景的示意图;
附图3是本申请提供的一种磁盘流控的示意图;
附图4是本申请提供的一种磁盘流控装置实施例的示意图;
附图5是本申请提供的一种电子设备实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种磁盘流控方法,本申请还提供一种磁盘流控装置,以及一种电子设备。以下分别结合本申请提供的实施例的附图逐一进行详细说明,并且对方法的各个步骤进行说明。
本申请提供的一种磁盘流控方法实施例如下:
参照附图1,其示出了本申请提供的一种磁盘流控方法实施例的处理流程图,参照附图2,其示出了本申请提供的一种磁盘流控实施场景的示意图,参照附图3,其示出了本申请提供的一种磁盘流控的示意图。
步骤S101,获取磁盘在至少一个读写线程中的读写参数。
随着硬件水平的高速发展,存储系统能够提供的读写(I/O)能力也开始数量级的增长,高性能、低延迟成为磁盘发展的重要方向,为做到整个I/O链路的超低延时,并且充分利用多核的处理能力,可采用多线程用于对I/O请求的处理,多个I/O线程之间处于对等的关系,I/O请求会分配到这些I/O线程中去处理,从而利用多核的优势实现高速读写。本申请提供的所述磁盘流控方法,旨在解决现有技术提供的流控装置成为整个高性能、低延时存储系统瓶颈这一缺陷,本实施例以虚拟平台中分布式存储系统下,针对虚拟机磁盘的磁盘流控方法为例进行说明,但不限于此,其他存储系统下同样可实现所述磁盘流控方法,实现机制是类似的,参照本实施例提供的所述磁盘流控方法的下述实现方式即可。
本申请提供的所述磁盘流控方法,在对虚拟机的磁盘进行流控调整时,通过在分布式存储系统中设置一个流控模块,该流控模块能够在多线程环境下对磁盘I/O进行有效流控,并且I/O线程之间相互独立,无需加锁等协调操作,最大程度的降低流控模块自身对磁盘I/O链路时延以及磁盘性能产生的影响,从而满足高性能磁盘的需求。如附图2所示,一个虚拟机中可以有多块磁盘,这些磁盘对应分布式存储系统的一块虚拟的卷,一块磁盘的I/O请求最终会通过调用分布式存储系统的客户端接口,发送到分布式存储系统的存储集群中。同时,基于分布式存储系统的客户端设置的流控模块对虚拟机磁盘进行流控,在实现流控的同时使虚拟机磁盘具有高性能、低延时的特性。
本申请实施例以虚拟机的至少一块磁盘为例进行说明,所述磁盘对应于分布式存储系统的存储集群,磁盘的I/O请求最终会通过调用分布式存储系统的客户端接口,发送到后端的存储集群中。在具体实现时,所述磁盘流控方法可以是针对虚拟机的每一块磁盘分别进行流控调整,也可以是针对所述分布式存储系统中的所有磁盘进行流控调整,还可以将多块磁盘整合在一次,通过所述磁盘流控方法对整合后的整体进行流控调整,本实施例对此不作限定。
本申请实施例提供的一种优选实施方式中,所述磁盘流控方法基于所述流控模块实现;优选的,所述流控模块包括:流控管理子模块、统计子模块和流控调整子模块,如附图3所示。
所述统计子模块,用于统计所述磁盘在I/O线程内的读写参数。其中,所述读写参数包括:每秒处理读写请求的数目(IOPS,InputOutput Operations Per Second),每秒处理读写数据的字节数(BPS,Bits Per Second)。所述流控管理子模块,根据所述统计子模块统计获得的所述磁盘在I/O线程内的读写参数,根据所述读写参数对需要流控的磁盘进行动态调控,比如流控管理子模块定时收集磁盘在各线程内的IOPS、BPS信息,并通过一套动态调控算法需要流控的磁盘进行调整,动态调整IOPS、BPS信息对应的流控阈值到每个I/O线程中。优选的,为避免流控管理子模块对I/O线程的影响,所述流控管理子模块需要另起一个管理线程,该管理线程独立于所述I/O线程。所述流控管理子模块,用于根据流控管理子模块确定的流控阈值,利用所述流控阈值对所述磁盘在I/O线程内的I/O请求进行流控调整,比如实现单个磁盘或者多个磁盘在I/O线程内的流控。
优选的,可针对每一个I/O线程分别设置对应的统计子模块和流控调整子模块,建立I/O线程与统计子模块和流控调整子模块三者的一一对应关系,在此基础上,统计子模块和流控调整子模块可以在其对应的I/O线程中实现。基于此,所述磁盘的I/O线程之间互不干扰,每个I/O线程都有一个流控调整子模块,I/O请求能够并行的处理且多个I/O线程之间不需要加锁,能够充分的利用多核的优势。同时,通过管理线程中的流控管理子模块来定时的采集各个I/O线程中磁盘的IOPS、BPS信息,并通过一套调整算法动态的调整各I/O线程中磁盘的流控上限,在流控的同时均衡所述磁盘的各读写线程的读写压力。
本步骤中,获取所述磁盘在至少一个读写线程(I/O线程)中的读写参数,是指由所述统计子模块采集所述磁盘在各I/O线程内的IOPS、BPS信息。比如,参照附图3,在流控管理子模块设置一个定时任务,该定时任务启动时,流控管理子模块通知统计子模块采集一段时间内(如100ms)磁盘在各I/O线程内的IOPS、BPS信息,由统计子模块将采集到的各I/O线程内的IOPS、BPS信息返回给流控管理子模块。
步骤S102,判断所述读写参数是否满足流控调整条件。
上述步骤S101获取到所述磁盘在至少一个读写线程中的读写参数之后,本步骤根据获取到的所述读写参数,判断所述读写参数是否满足流控调整条件,即判断所述磁盘是否触发流控调整条件,若是,执行下述步骤S103,则需对所述磁盘进行流控调整,将所述磁盘的磁盘状态设为流控状态;若否,不作处理即可,或者返回执行上述步骤S101中所述的定时任务,待下一次定时任务来临时采集下一段时间内(如100ms)磁盘在各I/O线程内的IOPS、BPS信息。
本申请实施例提供的一种优选实施方式中,在本步骤判断所述读写参数是否满足流控调整条件执行前,获取所述磁盘的磁盘状态,其中,所述磁盘状态包括流控状态和非流控状态(比如,初始化状态)。优选的,所述流控调整条件包括:在所述非流控状态下所述读写线程中的读写参数之和大于第一读写参数阈值,在所述流控状态下所述读写线程中的读写参数之和大于第二读写参数阈值。进一步,还可将所述第一读写参数阈值设置为大于所述第二读写参数阈值;并将所述第一读写参数阈值设置为小于所述磁盘的读写参数的上限值。
以IOPS为例,如果磁盘的IOPS上限值为Limit,磁盘启动后处于初始化状态,此时磁盘的IOPS上限值设置为Limit。流控调整条件为:(1)在初始化状态下,磁盘在各I/O线程内IOPS之和大于第一读写参数阈值(例如,90%*Limit);(2)在流控状态下,磁盘在各I/O线程内IOPS之和大于第二读写参数阈值(例如,70%*Limit)。
基于上述所述磁盘状态,优选的,本步骤判断所述读写参数是否满足流控调整条件,采用如下方式实现:判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若是,执行下述步骤S103,将所述磁盘的磁盘状态设为流控状态,对所述磁盘进行流控调整;若否,判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若大于,执行下述步骤S103,将所述磁盘的磁盘状态设为流控状态,对所述磁盘进行流控调整。
除上述提供的实施方式,还可以通过其他方式对所述磁盘的流控调整条件进行判断,比如,判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若是,判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,执行下述步骤S103,将所述磁盘的磁盘状态设为流控状态,对所述磁盘进行流控调整;如果不是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若大于执行下述步骤S103,将所述磁盘的磁盘状态设为流控状态,对所述磁盘进行流控调整。
步骤S103,将所述磁盘的磁盘状态设为流控状态。
本步骤和下述步骤S104得以实施的前提是上述步骤S102中判断所述读写参数是否满足流控调整条件的判断结果为是,如上所述,所述磁盘的磁盘状态分为流控状态和初始化状态,而只有在流控状态下所述磁盘才允许被流控调整,在此,本步骤将所述磁盘的磁盘状态设为流控状态,从而能够对所述磁盘进行调整。
步骤S104,对与所述磁盘的读写参数对应的流控阈值进行调整。
本申请实施例提供的一种优选实施方式中,对所述磁盘进行流控调整,具体是通过对与所述磁盘在各I/O线程内读写参数对应的流控阈值进行调整来实现,具体采用如下方式实现:
判断所述读写线程中的读写参数是否大于平均流量阈值,若是,将所述读写线程作为待调整读写线程;对所述待调整读写线程中的读写参数对应的流控阈值进行调整;其中,所述流控阈值包括:所述待调整读写线程中的读写参数对应的读写阈值上限。优选的,所述平均流量阈值,是指所述读写参数的上限值与所述读写线程的数目二者的比值。
在具体实施时,所述待调整读写线程中读写参数对应的流控阈值,可采用如下方式进行调整:
确定所述待调整读写线程中读写参数对应的目标读写阈值;
将所述待调整读写线程中读写参数对应的读写阈值上限调整为所述目标读写阈值。
优选的,所述目标读写阈值,是指所述磁盘的可分配流量值与所述待调整读写线程中的读写参数在所有待调整读写线程中的读写参数之和中所占比例的乘积,与所述平均流量阈值二者之和;
其中,所述磁盘的可分配流量值,是指所述磁盘的读写参数的上限值,减去所述待调整读写线程的数目与所述平均流量阈值二者乘积,再减去所述待调整读写线程之外所有读写线程中的读写参数之和。
下述以磁盘在各I/O线程内的IOPS为例进行说明:
如上所述,磁盘的IOPS上限值为Limit,I/O线程的数目为N,磁盘在每个I/O线程中的平均流量阈值Avg=1/N*Limit。随着业务提交的I/O请求的流量不断增大,当检测到磁盘的IOPS触发流控调整条件,将磁盘的状态设为流控状态,则需针对磁盘在各I/O线程中IOPS对应的读写阈值上限(IOPS上限值)进行调整。在调整时,判断每个I/O线程中的IOPS是否大于平均流量阈值Avg,对于IOPS小于或者等于平均流量阈值Avg的I/O线程,无需对这类I/O线程进行流控调整,如果这类I/O线程的数目为n1,这类I/O线程内的IOPS总和为s1。对于IOPS大于平均流量阈值Avg的I/O线程,这类I/O线程为待调整读写线程(待调整I/O线程),则需对待调整I/O线程进行流控调整,如果待调整I/O线程的数目为n2,待调整I/O线程中的IOPS总和为s2,待调整I/O线程最少需要分配的IOPS数目为s3=n2*Avg。
上述磁盘IOPS上限值为Limit,无需进行流控调整的I/O线程已经用掉Limit当中s1的IOPS,待调整I/O线程已经用掉Limit当中s3的IOPS,则剩余的可分配流量值(可分配IOPS)R=Limit-s1-s3。对于可分配流量值R,在分配给数目为n2个待调整I/O线程时,按照待调整I/O线程中各自IOPS所占的比例进行分配。比如n2个待调整I/O线程当中的任意一个待调整I/O线程x,待调整I/O线程x的IOPS为ix,则分配给该待调整I/O线程x的IOPS为:R*ix/s2;由此可知,待调整I/O线程x在流控调整后的IOPS上限值,即待调整I/O线程x的IOPS的目标读写阈值Ix=Avg+R*ix/s2。
例如,磁盘的IOPS上限值Limit为4000,流控模块包含4个I/O线程和1个管理线程,I/O请求被随机分配到了4个I/O线程中,管理线程中的流控管理子模块检测到4个I/O线程中IOPS分别为500、100、2000、1200,可见,这4个I/O线程中IOPS之和3800大于第一读写参数阈值90%*Limit=90%*4000=3600,则触发流控调整条件。
磁盘被设为流控状态,I/O线程1、I/O线程2、I/O线程3和I/O线程4初始设置的IOPS上限值均为2000,平均流量阈值Avg=1/N*Limit=1/4*4000=1000,I/O线程1和I/O线程2的IOPS小于平均流量阈值Avg,因此无需对I/O线程1和I/O线程2的IOPS上限值进行调整,其IOPS上限值依旧为2000。I/O线程3和I/O线程4中的IOPS大于平均流量阈值Avg,则需对I/O线程3和I/O线程4中的IOPS上限值进行动态调整,直至调整后I/O线程3和I/O线程4中的IOPS小于或者等于平均流量阈值Avg。对I/O线程3和I/O线程4中的IOPS上限值的动态调整过程具体如下:
(1)第一次调整:
I/O线程1和I/O线程2中的IOPS之和s1=500+100=600,I/O线程3和I/O线程4中的IOPS之和s2=2000+1200=3200,I/O线程3和I/O线程4最少需要分配的IOPS为:s3=2*Avg=2000,磁盘的可分配流量值R=Limit-s1-s3=4000-600-2000=1400。因此,I/O线程3中IOPS对应的目标读写阈值I3=Avg+R*i3/s2=1000+1400*2000/3200=1875;I/O线程4中IOPS对应的目标读写阈值I4=Avg+R*i4/s2=1000+1400*1200/3200=1525。
(2)第二次调整:
I/O线程1和I/O线程2中的IOPS之和s1=500+100=600,I/O线程3和I/O线程4中的IOPS之和s2=1875+1200=3025,I/O线程3和I/O线程4最少需要分配的IOPS为s3=2*Avg=2000,实际中I/O线程3的IOPS上限值调低会导致其上无法承载的I/O请求被随机分配到其他三个I/O线程上,因此剩余的可分配流量值R=Limit-s1-s3-(2000-1875)=4000-600-2000-125=1275。由此可得,I/O线程3中IOPS对应的目标读写阈值=Avg+R*i3/s2=1000+1275*1875/3025=1790,I/O线程4中IOPS对应的目标读写阈值I4=Avg+R*i4/s2=1000+1275*1200/3025=1505。
重复上述调整过程,直至某次调整后I/O线程4和I/O线程3的IOPS小于或者等于平均流量阈值Avg。
本申请实施例提供的另一种优选实施方式中,在上述提供的优选实施方式的基础上,在上述对所述待调整读写线程内读写参数对应的流控阈值进行调整子步骤执行后,还可执行如下操作:判断调整后所述待调整读写线程中的读写参数是否小于或者等于所述平均流量阈值,若是,不作处理即可;若否,返回执行所述对所述待调整读写线程中读写参数对应的流控阈值进行调整子步骤。
除此之外,在上述提供的优选实施方式的基础上,还可以在上述对所述待调整读写线程内读写参数对应的流控阈值进行调整子步骤执行后,判断调整后所述磁盘在所述读写线程中的读写参数之和是否小于所述第二读写参数阈值,若是,将所述磁盘的磁盘状态设为所述非流控状态;若否,继续上述动态调整过程的执行即可。比如磁盘在流控状态下进行流控调整后,磁盘在各线程中IOPS之和小于第二读写参数阈值70%*Limit,则将磁盘置为初始化状态。
综上所述,所述磁盘流控方法,在对所述磁盘进行流控调整时,依据获取到的所述磁盘在至少一个读写线程中的读写参数,判断所述磁盘是否触发流控调整条件,如果所述磁盘触发流控调整条件,则将所述磁盘设为流控状态,并在流控状态下对所述磁盘进行流控调整,在流控的同时均衡所述磁盘的各读写线程的读写压力,同时确保所述磁盘的读写线程之间互不干扰,缩短了流控耗时。
本申请提供的一种磁盘流控装置实施例如下:
在上述的实施例中,提供了一种磁盘流控方法,与之相对应的,本申请还提供了一种磁盘流控装置,下面结合附图进行说明。
参照附图4,其示出了本申请提供的一种磁盘流控装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种磁盘流控装置,包括:
读写参数获取单元401,用于获取磁盘在至少一个读写线程中的读写参数;
流控调整条件判断单元402,用于判断所述读写参数是否满足流控调整条件,若是,运行流控状态设置单元403和流控调整单元403;
所述流控状态设置单元403,用于将所述磁盘的磁盘状态设为流控状态;
所述流控调整单元404,用于对与所述磁盘的读写参数对应的流控阈值进行调整。
所述磁盘流控装置,包括:
磁盘状态获取单元,用于获取所述磁盘的磁盘状态;其中,所述磁盘状态包括:流控状态和非流控状态。
可选的,所述流控调整条件,包括下述至少一项:
在所述非流控状态下所述读写线程中的读写参数之和大于第一读写参数阈值,
在所述流控状态下所述读写线程中的读写参数之和大于第二读写参数阈值。
可选的,所述流控调整条件判断单元402,包括:
第一读写参数阈值判断子单元,用于判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若是,运行所述流控状态设置单元403和所述流控调整单元403;若否,运行第一流控状态判断子单元;
所述第一流控状态判断子单元,用于判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若大于,运行所述流控状态设置单元403和所述流控调整单元403;
第二读写参数阈值判断子单元,用于判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若是,运行第二流控状态判断子单元;
所述第二流控状态判断子单元,用于判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,运行所述流控状态设置单元403和所述流控调整单元403;如果不是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若大于,运行所述流控状态设置单元403和所述流控调整单元403。
可选的,所述第一读写参数阈值大于所述第二读写参数阈值;且所述第一读写参数阈值小于所述磁盘的读写参数的上限值。
可选的,所述流控调整单元404,包括:
平均流量阈值判断子单元,用于判断所述读写线程中的读写参数是否大于平均流量阈值,若是,将所述读写线程作为待调整读写线程;
流控阈值调整子单元,用于对所述待调整读写线程中的读写参数对应的流控阈值进行调整;
其中,所述流控阈值包括:所述待调整读写线程中的读写参数对应的读写阈值上限。
可选的,所述流控调整单元404,包括:
平均流量阈值二次判断子单元,用于判断调整后所述待调整读写线程中的读写参数是否小于或者等于所述平均流量阈值,若否,运行所述流控阈值调整子单元。
可选的,所述流控调整单元404,包括:
读写参数判断子单元,用于判断调整后所述磁盘在所述读写线程中的读写参数之和是否小于所述第二读写参数阈值,若是,将所述磁盘的磁盘状态设为所述非流控状态。
可选的,所述平均流量阈值,是指所述读写参数的上限值与所述读写线程的数目二者的比值。
可选的,所述待调整读写线程中读写参数对应的流控阈值,采用如下方式进行调整:
确定所述待调整读写线程中读写参数对应的目标读写阈值;
将所述待调整读写线程中读写参数对应的读写阈值上限调整为所述目标读写阈值。
可选的,所述目标读写阈值,是指所述磁盘的可分配流量值与所述待调整读写线程中的读写参数在所有待调整读写线程中的读写参数之和中所占比例的乘积,与所述平均流量阈值二者之和;其中,所述磁盘的可分配流量值,是指所述磁盘的读写参数的上限值,减去所述待调整读写线程的数目与所述平均流量阈值二者乘积,再减去所述待调整读写线程之外所有读写线程中的读写参数之和。
可选的,所述读写参数,包括下述至少一项:每秒处理读写请求的数目,每秒处理读写数据的字节数。
可选的,所述磁盘包括:虚拟机中至少一块磁盘;并且,所述磁盘对应于分布式存储系统的存储集群。
可选的,所述磁盘流控装置,基于所述分布式存储系统设置的流控模块实现;其中,所述读写参数获取单元401基于所述流控模块包含的统计子模块运行;以及,所述流控调整条件判断单元402、所述流控状态设置单元403和/或所述流控调整单元404基于所述流控模块包含的流控管理子模块运行。
可选的,所述读写线程与所述流控模块包含的统计子模块和/或所述统计子模块一一对应;并且,所述流控调整子模块和/或所述统计子模块在其对应的读写线程中实现。
可选的,所述流控管理子模块基于管理线程实现,所述管理线程独立于所述读写线程。
本申请提供的一种电子设备实施例如下:
在上述的实施例中,提供了一种磁盘流控方法,此外,本申请还提供了一种用于实现所述磁盘流控方法的电子设备,下面结合附图进行说明。
参照附图5,其示出了本实施例提供的一种电子设备的示意图。
本申请提供的所述电子设备实施例描述得比较简单,相关的部分请参见上述提供的所述磁盘流控方法实施例的对应说明即可。下述描述的实施例仅仅是示意性的。
本申请提供一种电子设备,包括:
存储器501和处理器502;
所述存储器501用于存储计算机可执行指令,所述处理器502用于执行如下计算机可执行指令:
获取磁盘在至少一个读写线程中的读写参数;
判断所述读写参数是否满足流控调整条件,若是,将所述磁盘的磁盘状态设为流控状态;
对与所述磁盘的读写参数对应的流控阈值进行调整。
可选的,所述判断所述读写参数是否满足流控调整条件指令执行前,所述处理器502还用于执行如下计算机可执行指令:
获取所述磁盘的磁盘状态;其中,所述磁盘状态包括:流控状态和非流控状态。
可选的,所述流控调整条件,包括下述至少一项:
在所述非流控状态下所述读写线程中的读写参数之和大于第一读写参数阈值,
在所述流控状态下所述读写线程中的读写参数之和大于第二读写参数阈值。
可选的,所述判断所述读写参数是否满足流控调整条件,采用如下方式实现:
判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若是,执行所述将所述磁盘的磁盘状态设为流控状态指令;若否,判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若大于,执行所述将所述磁盘的磁盘状态设为流控状态指令;
或者,
判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若是,判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,执行所述将所述磁盘的磁盘状态设为流控状态指令;如果不是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若大于,执行所述将所述磁盘的磁盘状态设为流控状态指令。
可选的,所述第一读写参数阈值大于所述第二读写参数阈值;且所述第一读写参数阈值小于所述磁盘的读写参数的上限值。
可选的,所述对与所述磁盘的读写参数对应的流控阈值进行调整,采用如下方式实现:
判断所述读写线程中的读写参数是否大于平均流量阈值,若是,将所述读写线程作为待调整读写线程;
对所述待调整读写线程中的读写参数对应的流控阈值进行调整;
其中,所述流控阈值包括:所述待调整读写线程中的读写参数对应的读写阈值上限。
可选的,所述对所述待调整读写线程中的读写参数对应的流控阈值进行调整指令执行后,所述处理器502还用于执行如下计算机可执行指令:
判断调整后所述待调整读写线程中的读写参数是否小于或者等于所述平均流量阈值,若否,返回执行所述对所述待调整读写线程中的读写参数对应的流控阈值进行调整指令。
可选的,所述处理器502还用于执行如下计算机可执行指令:
判断调整后所述磁盘在所述读写线程中的读写参数之和是否小于所述第二读写参数阈值,若是,将所述磁盘的磁盘状态设为所述非流控状态。
可选的,所述平均流量阈值,是指所述读写参数的上限值与所述读写线程的数目二者的比值。
可选的,所述待调整读写线程中读写参数对应的流控阈值,采用如下方式进行调整:
确定所述待调整读写线程中读写参数对应的目标读写阈值;
将所述待调整读写线程中读写参数对应的读写阈值上限调整为所述目标读写阈值。
可选的,所述目标读写阈值,是指所述磁盘的可分配流量值与所述待调整读写线程中的读写参数在所有待调整读写线程中的读写参数之和中所占比例的乘积,与所述平均流量阈值二者之和;其中,所述磁盘的可分配流量值,是指所述磁盘的读写参数的上限值,减去所述待调整读写线程的数目与所述平均流量阈值二者乘积,再减去所述待调整读写线程之外所有读写线程中的读写参数之和。
可选的,所述读写参数,包括下述至少一项:每秒处理读写请求的数目,每秒处理读写数据的字节数。
可选的,所述磁盘包括:虚拟机中至少一块磁盘;并且,所述磁盘对应于分布式存储系统的存储集群。
可选的,所述电子设备基于所述分布式存储系统设置的流控模块执行所述计算机可执行指令;其中,所述获取磁盘在至少一个读写线程中的读写参数指令,基于所述流控模块包含的统计子模块执行;以及,所述判断所述读写参数是否满足流控调整条件指令,所述将所述磁盘的磁盘状态设为流控状态指令,和/或所述对与所述磁盘的读写参数对应的流控阈值进行调整指令,基于所述流控模块包含的流控管理子模块执行。
可选的,所述读写线程与所述流控模块包含的统计子模块和/或所述统计子模块一一对应;并且,所述流控调整子模块和/或所述统计子模块在其对应的读写线程中实现。
可选的,所述流控管理子模块基于管理线程实现,所述管理线程独立于所述读写线程。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (16)

1.一种磁盘流控方法,其特征在于,包括:
获取磁盘在至少一个读写线程中的读写参数;
获取所述磁盘的磁盘状态;其中,所述磁盘状态包括:流控状态和非流控状态;
判断所述读写参数是否满足流控调整条件,若是,将所述磁盘的磁盘状态设为所述流控状态;其中,所述流控调整条件,包括下述至少一项:
在所述非流控状态下所述读写线程中的读写参数之和大于第一读写参数阈值,
在所述流控状态下所述读写线程中的读写参数之和大于第二读写参数阈值;
对与所述磁盘的读写参数对应的流控阈值进行调整。
2.根据权利要求1所述的磁盘流控方法,其特征在于,所述判断所述读写参数是否满足流控调整条件,采用如下方式实现:
判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若是,执行所述将所述磁盘的磁盘状态设为流控状态步骤;若否,判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若大于,执行所述将所述磁盘的磁盘状态设为流控状态步骤;
或者,
判断所述读写线程中的读写参数之和是否大于所述第二读写参数阈值,若是,判断所述磁盘的磁盘状态是否为所述流控状态,如果是所述流控状态,执行所述将所述磁盘的磁盘状态设为流控状态步骤;如果不是所述流控状态,判断所述读写线程中的读写参数之和是否大于所述第一读写参数阈值,若大于,执行所述将所述磁盘的磁盘状态设为流控状态步骤。
3.根据权利要求1所述的磁盘流控方法,其特征在于,所述第一读写参数阈值大于所述第二读写参数阈值;且所述第一读写参数阈值小于所述磁盘的读写参数的上限值。
4.根据权利要求1所述的磁盘流控方法,其特征在于,所述对与所述磁盘的读写参数对应的流控阈值进行调整,采用如下方式实现:
判断所述读写线程中的读写参数是否大于平均流量阈值,若是,将所述读写线程作为待调整读写线程;
对所述待调整读写线程中的读写参数对应的流控阈值进行调整;
其中,所述流控阈值包括:所述待调整读写线程中的读写参数对应的读写阈值上限。
5.根据权利要求4所述的磁盘流控方法,其特征在于,所述对所述待调整读写线程中的读写参数对应的流控阈值进行调整子步骤执行后,执行如下操作:
判断调整后所述待调整读写线程中的读写参数是否小于或者等于所述平均流量阈值,若否,返回执行所述对所述待调整读写线程中的读写参数对应的流控阈值进行调整子步骤。
6.根据权利要求4所述的磁盘流控方法,其特征在于,包括:
判断调整后所述磁盘在所述读写线程中的读写参数之和是否小于第二读写参数阈值,若是,将所述磁盘的磁盘状态设为所述非流控状态。
7.根据权利要求4所述的磁盘流控方法,其特征在于,所述平均流量阈值,是指所述读写参数的上限值与所述读写线程的数目二者的比值。
8.根据权利要求7所述的磁盘流控方法,其特征在于,所述待调整读写线程中读写参数对应的流控阈值,采用如下方式进行调整:
确定所述待调整读写线程中读写参数对应的目标读写阈值;
将所述待调整读写线程中读写参数对应的读写阈值上限调整为所述目标读写阈值。
9.根据权利要求8所述的磁盘流控方法,其特征在于,所述目标读写阈值,是指所述磁盘的可分配流量值与所述待调整读写线程中的读写参数在所有待调整读写线程中的读写参数之和中所占比例的乘积,与所述平均流量阈值二者之和;
其中,所述磁盘的可分配流量值,是指所述磁盘的读写参数的上限值,减去所述待调整读写线程的数目与所述平均流量阈值二者乘积,再减去所述待调整读写线程之外所有读写线程中的读写参数之和。
10.根据权利要求1至9任意一项所述的磁盘流控方法,其特征在于,所述读写参数,包括下述至少一项:
每秒处理读写请求的数目,每秒处理读写数据的字节数。
11.根据权利要求1至9任意一项所述的磁盘流控方法,其特征在于,所述磁盘包括:虚拟机中至少一块磁盘;并且,所述磁盘对应于分布式存储系统的存储集群。
12.根据权利要求11所述的磁盘流控方法,其特征在于,所述磁盘流控方法,基于所述分布式存储系统设置的流控模块实现;
其中,所述获取磁盘在至少一个读写线程中的读写参数步骤,基于所述流控模块包含的统计子模块实现;
以及,所述判断所述读写参数是否满足流控调整条件步骤,所述将所述磁盘的磁盘状态设为流控状态步骤,和/或所述对与所述磁盘的读写参数对应的流控阈值进行调整步骤,基于所述流控模块包含的流控管理子模块实现。
13.根据权利要求12所述的磁盘流控方法,其特征在于,所述读写线程与所述流控模块包含的流控调整子模块和/或所述统计子模块一一对应;并且,所述流控调整子模块和/或所述统计子模块在其对应的读写线程中实现。
14.根据权利要求13所述的磁盘流控方法,其特征在于,所述流控管理子模块基于管理线程实现,所述管理线程独立于所述读写线程。
15.一种磁盘流控装置,其特征在于,包括:
读写参数获取单元,用于获取磁盘在至少一个读写线程中的读写参数;
所述磁盘的磁盘状态获取单元,用于获取所述磁盘的磁盘状态;其中,所述磁盘状态包括:流控状态和非流控状态;
流控调整条件判断单元,用于判断所述读写参数是否满足流控调整条件,若是,运行流控状态设置单元和流控调整单元;
所述流控状态设置单元,用于将所述磁盘的磁盘状态设为所述流控状态;其中,所述流控调整条件,包括下述至少一项:
在所述非流控状态下所述读写线程中的读写参数之和大于第一读写参数阈值,
在所述流控状态下所述读写线程中的读写参数之和大于第二读写参数阈值;
所述流控调整单元,用于对与所述磁盘的读写参数对应的流控阈值进行调整。
16.一种电子设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取磁盘在至少一个读写线程中的读写参数;
获取所述磁盘的磁盘状态;其中,所述磁盘状态包括:流控状态和非流控状态;
判断所述读写参数是否满足流控调整条件,若是,将所述磁盘的磁盘状态设为所述流控状态;其中,所述流控调整条件,包括下述至少一项:
在所述非流控状态下所述读写线程中的读写参数之和大于第一读写参数阈值,
在所述流控状态下所述读写线程中的读写参数之和大于第二读写参数阈值;
对与所述磁盘的读写参数对应的流控阈值进行调整。
CN201810017428.5A 2018-01-09 2018-01-09 磁盘流控方法、装置以及电子设备 Active CN110018781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810017428.5A CN110018781B (zh) 2018-01-09 2018-01-09 磁盘流控方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810017428.5A CN110018781B (zh) 2018-01-09 2018-01-09 磁盘流控方法、装置以及电子设备

Publications (2)

Publication Number Publication Date
CN110018781A CN110018781A (zh) 2019-07-16
CN110018781B true CN110018781B (zh) 2022-06-21

Family

ID=67187674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810017428.5A Active CN110018781B (zh) 2018-01-09 2018-01-09 磁盘流控方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN110018781B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674064B (zh) * 2019-09-05 2021-06-29 苏州浪潮智能科技有限公司 一种数据传输方法、装置、设备及计算机可读存储介质
CN111142790B (zh) * 2019-12-10 2023-07-07 北京金山云网络技术有限公司 对磁盘写请求的控制方法、装置、电子设备及存储介质
CN112783441B (zh) * 2021-01-08 2023-08-01 中国银联股份有限公司 一种调整虚拟机磁盘读写限速的方法、装置及计算设备
CN113608682B (zh) * 2021-06-30 2023-12-22 济南浪潮数据技术有限公司 一种基于hdd磁盘压力的智能流控方法及系统
CN116610266B (zh) * 2023-07-18 2023-10-10 中移(苏州)软件技术有限公司 虚拟机磁盘读写性能的调整方法、装置及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122527A (ja) * 2005-10-31 2007-05-17 Hitachi Ltd 流量制御方法
CN101056264A (zh) * 2007-04-25 2007-10-17 华为技术有限公司 流量控制的方法和业务处理系统
CN101957744A (zh) * 2010-10-13 2011-01-26 北京科技大学 一种用于微处理器的硬件多线程控制方法及其装置
CN103116473A (zh) * 2011-11-17 2013-05-22 微软公司 使用盘驱动器模拟模型来对盘i/o扼流

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207639A (ja) * 1997-01-28 1998-08-07 Sony Corp 高速データ記録/再生装置および方法
US7100164B1 (en) * 2000-01-06 2006-08-29 Synopsys, Inc. Method and apparatus for converting a concurrent control flow graph into a sequential control flow graph
US8832417B2 (en) * 2011-09-07 2014-09-09 Qualcomm Incorporated Program flow control for multiple divergent SIMD threads using a minimum resume counter
CN103678085B (zh) * 2013-12-16 2016-05-04 上海证券交易所 一种流量动态可控的系统监控数据采集方法
CN106155931B (zh) * 2016-06-30 2020-07-07 百度在线网络技术(北京)有限公司 一种磁盘读限速的方法和装置
CN107276827B (zh) * 2017-07-25 2021-04-23 郑州云海信息技术有限公司 一种分布式存储系统中Qos的实现方法及装置
CN107276857A (zh) * 2017-08-16 2017-10-20 郑州云海信息技术有限公司 一种监测流量的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122527A (ja) * 2005-10-31 2007-05-17 Hitachi Ltd 流量制御方法
CN101056264A (zh) * 2007-04-25 2007-10-17 华为技术有限公司 流量控制的方法和业务处理系统
CN101957744A (zh) * 2010-10-13 2011-01-26 北京科技大学 一种用于微处理器的硬件多线程控制方法及其装置
CN103116473A (zh) * 2011-11-17 2013-05-22 微软公司 使用盘驱动器模拟模型来对盘i/o扼流

Also Published As

Publication number Publication date
CN110018781A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN110018781B (zh) 磁盘流控方法、装置以及电子设备
US11601512B2 (en) System and method for throttling service requests having non-uniform workloads
US10185592B2 (en) Network storage device using dynamic weights based on resource utilization
US10331492B2 (en) Techniques to dynamically allocate resources of configurable computing resources
US8307370B2 (en) Apparatus and method for balancing load in multi-core processor system
US9419904B2 (en) System and method for throttling service requests using work-based tokens
EP3117335B1 (en) Coordinated admission control for network-accessible block storage
US9454407B2 (en) Service resource allocation
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
US9772958B2 (en) Methods and apparatus to control generation of memory access requests
US9684366B2 (en) Distributed power management system with plurality of power management controllers controlling zone and component power caps of respective zones by determining priority of other zones
US9740275B2 (en) Method performed by an associated power management controller of a zone based on node power consumption and priority data for each of the plurality of zones
US20220413965A1 (en) Data recovery method, apparatus and device, and readable storage medium
US20200210332A1 (en) Dynamic control of memory bandwidth allocation for a processor
US20150033226A1 (en) Host system and method for managing data consumption rate in a virtual data processing environment
US8769201B2 (en) Technique for controlling computing resources
US10761726B2 (en) Resource fairness control in distributed storage systems using congestion data
US10877790B2 (en) Information processing apparatus, control method and storage medium
US10965739B2 (en) Time-based congestion discounting for I/O fairness control
CN111694635A (zh) 一种服务质量控制方法及装置
CN110719306B (zh) 一种网络请求限制方法、计算机设备、存储介质
US11971786B2 (en) Backup processing method and server
US20220179749A1 (en) Backup processing method and server
WO2024000443A1 (en) Enforcement of maximum memory access latency for virtual machine instances
US10684968B2 (en) Conditional memory spreading for heterogeneous memory sizes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40010968

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230613

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right