WO2017124925A1 - 存储系统的服务质量控制方法和装置 - Google Patents

存储系统的服务质量控制方法和装置 Download PDF

Info

Publication number
WO2017124925A1
WO2017124925A1 PCT/CN2017/070289 CN2017070289W WO2017124925A1 WO 2017124925 A1 WO2017124925 A1 WO 2017124925A1 CN 2017070289 W CN2017070289 W CN 2017070289W WO 2017124925 A1 WO2017124925 A1 WO 2017124925A1
Authority
WO
WIPO (PCT)
Prior art keywords
request instruction
system resources
storage system
request
priority
Prior art date
Application number
PCT/CN2017/070289
Other languages
English (en)
French (fr)
Inventor
舒坦
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017124925A1 publication Critical patent/WO2017124925A1/zh

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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a service quality control method and apparatus for a storage system.
  • SAN storage area network
  • the main object of the present invention is to provide a service quality control method and apparatus for a storage system, aiming at improving the quality of service of the storage system.
  • the present invention provides a service quality control method for a storage system, including:
  • the priority and system resources, and allocating system resources for the request instruction include:
  • the request instruction waits for other request instructions of the object to release system resources, and after the idle system resources exist, allocates system resources for the request instruction.
  • the performance data includes delay, traffic, and concurrency
  • the scheduling priority and system resource amount of each type of object are set according to performance data of each type of object at preset time intervals, including:
  • the delay, the traffic, and the concurrency in the performance data are weighted every preset time, and the priority corresponding to each type of object and the ratio of the corresponding system resources to the total system resources are set according to the result of the weighting calculation.
  • the performance data is directly proportional to the priority level and the system resource quantity, and the better the performance of the object, the more system resources are obtained, and the higher the priority.
  • the system resource quantity includes a CPU scheduling resource, a memory resource, and a link resource.
  • the present invention also provides a service quality control apparatus for a storage system, including:
  • the statistics module is configured to count performance data of various objects according to unique indications of various objects at each monitoring point of the storage system
  • a setting module configured to set a scheduling priority and a system resource quantity of each type of object according to performance data of each type of object every preset time
  • a processing module configured to: after receiving the request instruction for the object operation, acquire an object corresponding to the request instruction according to a correspondence between the mark of the request instruction and the unique identifier of the object, and preferentially according to the scheduling of the object Level and system resource amount, allocating system resources for the request instruction.
  • the processing module includes:
  • a determining unit configured to determine, according to the scheduling priority of the corresponding object, whether the object has an idle system resource after receiving the request instruction for the object operation;
  • An allocating unit configured to allocate system resources to the request finger when the object has idle system resources When the object does not have an idle system resource, the request instruction waits for other request instructions of the object to release the system resource, and after the idle system resource exists, allocates the system resource for the request instruction.
  • the performance data includes delay, traffic, and concurrency
  • the setting module is further configured to perform weighting calculation on delay, traffic, and concurrency in the performance data every preset time, and calculate according to the weighting.
  • the priority corresponding to each type of object and the ratio of the corresponding system resources to the total system resources are set.
  • the performance data is directly proportional to the priority level and the system resource quantity, and the better the performance of the object, the more system resources are obtained, and the higher the priority.
  • the system resource quantity includes a CPU scheduling resource, a memory resource, and a link resource.
  • the embodiment of the invention performs performance statistics on objects of different types in the storage system, and sets scheduling priorities and system resources of various objects according to performance data of various objects. After receiving the request instruction for the object operation, the corresponding system resource is allocated for the request instruction according to the scheduling priority of the object and the amount of system resources. It realizes the allocation of reasonable system resources for objects with different performances and improves the service quality of the storage system.
  • FIG. 1 is a schematic flowchart of a first embodiment of a method for controlling quality of service of a storage system according to the present invention
  • FIG. 2 is a schematic diagram of a plurality of request instruction allocations to obtain system resources
  • FIG. 3 is a schematic diagram of a refinement process for allocating system resources for a request instruction according to an object's scheduling priority and system resource quantity in the service quality control method of the storage system according to the present invention
  • FIG. 4 is a schematic diagram of functional modules of a first embodiment of a quality of service control apparatus for a storage system according to the present invention
  • FIG. 5 is a schematic diagram of a refinement function module of a processing module in a service quality control apparatus of a storage system according to the present invention.
  • the service quality control method of the storage system of this embodiment includes:
  • Step S10 Calculate performance data of each type of object according to unique indications of various objects at each monitoring point of the storage system
  • the storage system may include multiple types of storage systems for disk intermixing, storage systems for mixing traditional and thin volumes, multiple storage systems for activating snapshots, and the like.
  • the storage system of the same type is divided into objects of the same type, that is, different types of disks are objects of different classes.
  • the monitoring points of the storage system are full of performance data, for example, a plurality of monitoring points are set in different places of the storage system's instruction request entry, receiving response, processing response, etc., so as to be different types.
  • the object is monitored, and the performance statistics of the request instruction, delay, traffic, and concurrency are mainly counted.
  • a unique identifier is set for each type of object, and each request instruction that operates on each type of object is marked with a corresponding object, so that the request instruction can be notified by the mark of the request instruction.
  • Object
  • the performance data of each object will be statistically calculated in real time according to the unique indication of each type of object at each monitoring point.
  • the performance data includes delay, traffic, and concurrency, etc., wherein the delay is the time from receiving the request instruction to processing the completion of the request instruction, and the traffic is the amount of data processed in a unit time, and is concurrently received at the same time on average.
  • the performance monitoring point of the system is the average delay of the object statistics request instruction, and then the traffic and concurrency in the cycle are calculated, so as to set the system resource quantity and scheduling processing for each object according to the performance data of various objects. Priority.
  • the acquisition manner of the delay may be: mode one, when receiving the request instruction, the recording module preset by the triggering system records the time at the time, and records the time when the request instruction is completed. The time, then the recorded time of receiving the request instruction is compared with the time of processing the request instruction to obtain the delay of the request instruction.
  • the recording module that triggers the system preset starts timing, and stops counting after processing the completion of the request instruction to obtain the delay of requesting the instruction.
  • the manner of obtaining the delay is only an enumeration of the specific implementation manner, and other manners for obtaining the delay proposed by those skilled in the art are within the protection scope of the present invention.
  • Step S20 Set scheduling priorities and system resource amounts of various objects according to performance data of various objects at preset time intervals
  • the preset time can be flexibly set according to a specific situation, for example, the preset time can be set to 1 second or 2 seconds, and the like.
  • the priority of each type of object and its usable system resources are refreshed according to the result of the weighting calculation, which will be described in detail in the following embodiments.
  • the amount of system resources may include CPU scheduling resources, memory resources, and link resources.
  • Performance data is directly proportional to priority, and performance data is proportional to the amount of resources. That is, the object with poorer performance has lower scheduling priority and less available system resources; the object with better performance has higher scheduling priority and more available system resources. Therefore, it allocates more resources for better-performing objects, allocates less resources for poorer-performing objects, and allocates system resources reasonably to achieve optimal running performance of the storage system, for example, high-performance volumes. Still maintain its high The characteristics of energy.
  • Step S30 after receiving the request instruction for the object operation, acquiring an object corresponding to the request instruction according to the correspondence between the mark of the request instruction and the unique identifier of the object, and according to the scheduling priority of the object and A system resource amount that allocates system resources for the request instruction.
  • system resources for example, a memory request, or a system resource such as a CPU schedule or a link
  • system resources for example, a memory request, or a system resource such as a CPU schedule or a link
  • the object corresponding to the request instruction is obtained, and the corresponding object is determined according to the request instruction to determine when to schedule. That is, system resources are allocated for request instructions according to the scheduling priority of the object and the amount of system resources. That is, it is determined whether the request instruction can acquire the corresponding system resource, and if the request instruction can acquire the corresponding system resource, the system resource is allocated to execute the request instruction. If the request instruction cannot obtain the corresponding system resources, join the waiting queue to wait.
  • the horizontal axis direction in FIG. 2 represents time
  • the vertical axis direction represents system resources. It is assumed that the total number of system resources of the same type is 4, and the request command of 1 to 4 is received at time t1, respectively. Obtaining resource execution. In the prior art, at time t2, the 3 and 4 request instructions have been completed, and the system receives 5-8 request instructions again. According to the principle of first come, first served, 5 and 6 request instructions acquire resources. The execution is performed. At this time, the processing time of all subsequent request instructions in the entire system is equal to the delay of the slowest request, and the delay of the request is the waiting delay plus the processing delay.
  • the priority order of the 7 and 8 request instructions can be determined according to the performance parameters of the 5-8 command delay, the flow rate, and the concurrency, and the priority of the request instruction is higher than the priority of the 5 and 6 request instructions. Therefore, after the 3 and 4 request instructions have been completed, the 7 and 8 request instructions are preferentially obtained for resource execution.
  • the system receives 9-12 request commands again, and requests 11 and 12 request commands according to 5, 6, and 9-12 request command delay, flow, and concurrent performance parameters. The priority of the request is higher than that of other request instructions. Therefore, after the 7 and 8 request instructions have been completed, the 11 and 12 request instructions are preferentially obtained for resource execution.
  • the embodiment of the invention performs performance statistics on objects of different types in the storage system, and sets scheduling priorities and system resources of various objects according to performance data of various objects. After receiving the request instruction for the object operation, the corresponding system resource is allocated for the request instruction according to the scheduling priority of the object and the amount of system resources. It realizes the allocation of reasonable system resources for objects with different performances, and improves the running performance and service quality of the storage system.
  • a second embodiment of the service quality control method of the storage system of the present invention may include:
  • Step S31 after receiving the request instruction for the object operation, determining, according to the scheduling priority of the corresponding object, whether the object has an idle system resource;
  • Step S32 When the object has an idle system resource, allocate system resources to the request instruction;
  • Step S33 When the object does not have an idle system resource, the request instruction waits for other request instructions of the object to release the system resource, and after the idle system resource exists, allocates the system resource for the request instruction.
  • the storage system after receiving the request instruction for the object operation, the storage system will apply for the required system resources, and according to the correspondence between the mark of the request instruction and the unique indication of the object, the scheduling of the corresponding object according to the request instruction.
  • Priority determine whether the object has idle system resources. If the object still has idle resources, the resource is allocated to the request instruction; if the object does not have an idle resource, the request instruction is added to the waiting queue, waiting for other request instructions of the object to release the system resource. After the object releases the system resources, it can start processing the request instruction in the waiting queue, and allocate system resources according to the principle of first entering the queue first.
  • the storage system After receiving the request command for the object operation, the storage system needs to obtain the CPU scheduling to process its business logic, that is, request to acquire the CPU scheduling resource. The system will determine whether there is an idle CPU scheduling resource. If there is an idle CPU scheduling resource, the CPU scheduling resource is directly allocated, and the request instruction is scheduled to be executed; if there is no idle CPU scheduling resource, the corresponding object according to the request instruction will be requested. The instruction is added to the waiting queue of the corresponding priority. After the executed request instruction releases the CPU scheduling resource, the queue to be scheduled is processed according to the principle of priority first high, low first, and first incoming first service, and the scheduled request command is sent out for execution. After obtaining the CPU scheduling resource, the request instruction is completed according to the logic processing corresponding to the request instruction.
  • the request instruction it is determined whether the request instruction can obtain the corresponding system resources, allocate reasonable system resources for objects with different performances, and improve the service quality of the storage system.
  • the foregoing step S20 may include: performing performance every preset time.
  • the delay, traffic, and concurrency in the data are weighted, and the priority corresponding to each type of object and the ratio of the corresponding system resources to the total system resources are set according to the result of the weighted calculation.
  • the preset time may be flexibly set according to a specific situation.
  • weighting calculation may be performed on delay, traffic, and concurrency according to a weighted algorithm.
  • the corresponding priority of each object is obtained, and the corresponding system resource quantity is proportional to the total system resource quantity, so as to update the priority of each type of object and the system resources that can be used.
  • the priority corresponding to each type of object and the ratio of the corresponding system resource amount to the total system resource amount may be set according to the result of the weighting calculation every preset time.
  • the result of the weighted calculation R delay * 0.5 + flow * 0.3 + concurrent * 0.2, respectively get the weight of each type of object
  • the calculated results R1 to Rn set the priority corresponding to each type of object and the ratio of the corresponding system resources to the total system resources according to R1 to Rn. For example, when R1 of object 1 is obtained as 5, and R2 of object 2 is obtained as 15, the priority of object 2 is higher than the priority of object 1, and the amount of system resources of object 1 and object 2 is allocated in a 1:3 relationship. It should be noted that the manner in which the delay, the flow rate, and the concurrent calculation in the performance data are weighted can be flexibly set according to specific conditions, and does not limit the present invention.
  • weighting calculation is performed according to performance data such as delay, traffic, and concurrency, and reasonable system resources are allocated to objects of different performance according to the weighted calculation result, thereby improving the service quality of the storage system.
  • the quality of service control device of the storage system of this embodiment includes:
  • the statistics module 100 is configured to count performance data of various objects according to unique indications of various objects at each monitoring point of the storage system
  • the storage system may include multiple types of storage systems for disk intermixing, storage systems for mixing traditional and thin volumes, multiple storage systems for activating snapshots, and the like.
  • a storage system used for multiple types of disk intermixing divides the same type of disk into objects of the same type, that is, different types of disks are objects of different classes.
  • the monitoring points of the storage system are full of performance data, for example, a plurality of monitoring points are set in different places of the storage system's instruction request entry, receiving response, processing response, etc., so as to be different types.
  • the object is monitored, and the performance statistics of the request instruction, delay, traffic, and concurrency are mainly counted.
  • a unique identifier is set for each type of object, and each request instruction that operates on each type of object is marked with a corresponding object, so that the request instruction can be notified by the mark of the request instruction.
  • Object is
  • the statistic module 100 will perform real-time statistics on the performance data of various objects according to the unique indications of various objects at each monitoring point.
  • the performance data includes delay, traffic, and concurrency, etc., wherein the delay is the time from receiving the request instruction to processing the completion of the request instruction, and the traffic is the amount of data processed in a unit time, and is concurrently received at the same time on average.
  • the performance monitoring point statistics module 100 of the system is the average delay of the object statistical request instruction, and then calculates the traffic and concurrency in the period, so as to set the amount of system resources that can be used for each object according to the performance data of various objects. And the priority of scheduling processing.
  • the acquisition manner of the delay may be: mode one, when receiving the request instruction, the recording module preset by the triggering system records the time at the time, and records the time when the request instruction is completed. The time, then the recorded time of receiving the request instruction is compared with the time of processing the request instruction to obtain the delay of the request instruction.
  • the system preset recording module is triggered to start timing until After the completion of the request instruction, the timing is stopped to obtain the delay of the request instruction.
  • the manner of obtaining the delay is only an enumeration of the specific implementation manner, and other manners for obtaining the delay proposed by those skilled in the art are within the protection scope of the present invention.
  • the setting module 200 is configured to set scheduling priorities and system resource amounts of various objects according to performance data of various objects at preset time intervals;
  • the setting module 200 After obtaining performance data of various types of objects, the setting module 200 needs to allocate reasonable system resources to objects of different performance types, that is, the setting module 200 sets various types of objects according to performance data of various objects every preset time.
  • the scheduling priority and the amount of system resources, the preset time can be flexibly set according to a specific situation, for example, the preset time can be set to 1 second or 2 seconds.
  • the setting module 200 refreshes the priority of each type of object and its usable system resources according to the result of the weighting calculation, which will be described in detail in the following embodiments.
  • the amount of system resources may include CPU scheduling resources, memory resources, and link resources.
  • Performance data is directly proportional to priority, and performance data is proportional to the amount of resources. That is, the object with poorer performance has lower scheduling priority and less available system resources; the object with better performance has higher scheduling priority and more available system resources. Therefore, it allocates more resources for better-performing objects, allocates less resources for poorer-performing objects, and allocates system resources reasonably to achieve optimal running performance of the storage system, for example, high-performance volumes. Still maintaining its high performance characteristics.
  • the processing module 300 is configured to: after receiving the request instruction for the object operation, acquire an object corresponding to the request instruction according to a correspondence between the mark of the request instruction and the unique identifier of the object, and according to the scheduling of the object.
  • the priority and the amount of system resources are allocated system resources for the request instruction.
  • the processing module 300 may mark the object and the unique identifier of the object according to the request. Corresponding relationship, the object corresponding to the request instruction is obtained, and the corresponding object is determined according to the request instruction to determine when to schedule. That is, the processing module 300 allocates system resources for the request command according to the scheduling priority of the object and the amount of system resources. That is, it is determined whether the request instruction can acquire the corresponding system resource, and if the request instruction can acquire the corresponding system resource, the system resource is allocated to execute the request instruction. If the request instruction cannot obtain the corresponding system resources, join the waiting queue to wait.
  • system resources for example, a memory application, or a system resource such as a CPU schedule or a link
  • the horizontal axis direction in FIG. 2 represents time, and the vertical axis direction represents system resources. It is assumed that the total number of system resources of the same type is 4, and the request command of 1 to 4 is received at time t1, respectively. Obtaining resource execution. In the prior art, at time t2, the 3 and 4 request instructions have been completed, and the system receives 5-8 request instructions again. According to the principle of first come, first served, 5 and 6 request instructions acquire resources. Execution is performed. At this time, the processing time of all subsequent request instructions is equal to the delay of the slowest request, and the delay of the request is the waiting delay plus processing. Delay.
  • the priority order of the 7 and 8 request instructions can be determined according to the performance parameters of the 5-8 command delay, the flow rate, and the concurrency, and the priority of the request instruction is higher than the priority of the 5 and 6 request instructions. Therefore, after the 3 and 4 request instructions have been completed, the 7 and 8 request instructions are preferentially obtained for resource execution.
  • the system receives 9-12 request commands again, and requests 11 and 12 request commands according to 5, 6, and 9-12 request command delay, flow, and concurrent performance parameters. The priority of the request is higher than that of other request instructions. Therefore, after the 7 and 8 request instructions have been completed, the 11 and 12 request instructions are preferentially obtained for resource execution.
  • the embodiment of the invention performs performance statistics on objects of different types in the storage system, and sets scheduling priorities and system resources of various objects according to performance data of various objects. After receiving the request instruction for the object operation, the corresponding system resource is allocated for the request instruction according to the scheduling priority of the object and the amount of system resources. It realizes the allocation of reasonable system resources for objects with different performances, and improves the running performance and service quality of the storage system.
  • the foregoing processing module 300 includes :
  • the determining unit 310 is configured to: after receiving the request instruction for the object operation, determine, according to the scheduling priority of the corresponding object, whether the object has an idle system resource;
  • the allocating unit 320 is configured to allocate system resources to the request instruction when the object has idle system resources, and wait for other request instructions of the object when the object does not have idle system resources. System resources are released until system resources are allocated for the request instruction after there are free system resources.
  • the storage system after receiving the request instruction for the object operation, the storage system will apply for the required system resources, and the determining unit 310 may respond according to the request instruction according to the corresponding relationship between the mark of the request instruction and the unique identifier of the object.
  • the scheduling priority of the object determines whether the object has idle system resources. If the object still has free resources, the allocation unit 320 allocates the resource to the request instruction; if the object has no free resources, the allocation unit 320 adds the request instruction to the waiting queue, waiting for other requests of the object.
  • the instruction releases system resources. After the object releases the system resources, it can start processing the request instruction in the waiting queue, and allocate system resources according to the principle of first entering the queue first.
  • the storage system After receiving the request command for the object operation, the storage system needs to obtain the CPU scheduling to process its business logic, that is, request to acquire the CPU scheduling resource. The system will determine whether there is an idle CPU scheduling resource. If there is an idle CPU scheduling resource, the CPU scheduling resource is directly allocated, and the request instruction is scheduled to be executed; if there is no idle CPU scheduling resource, the corresponding object according to the request instruction will be requested. The instruction is added to the waiting queue of the corresponding priority. After the executed request instruction releases the CPU scheduling resource, the queue to be scheduled is processed according to the principle of priority first high, low first, and first incoming first service, and the scheduled request command is sent out for execution. After obtaining the CPU scheduling resource, the request instruction is completed according to the logic processing corresponding to the request instruction.
  • the request instruction it is determined whether the request instruction can obtain the corresponding system resources, allocate reasonable system resources for objects with different performances, and improve the service quality of the storage system.
  • the setting module 200 is further configured to: The time weights the delay, the traffic, and the concurrency in the performance data, and sets the priority corresponding to each type of object and the ratio of the corresponding system resources to the total system resources according to the result of the weighting calculation.
  • the preset time may be flexibly set according to a specific situation.
  • the setting module 200 may perform delay, traffic, and concurrency according to the weighted algorithm.
  • the weighting calculation is performed, and according to the result of the weighting calculation, the corresponding priority of each object is obtained, and the corresponding system resource quantity is proportional to the total system resource quantity, so as to update the priority of each type of object and its usable system resource.
  • the setting module 200 sets the priority corresponding to each type of object and the ratio of the corresponding system resource amount to the total system resource amount according to the result of the weighting calculation every preset time, which may include: assuming a delay of an object, The weights of the traffic and the concurrent are 0.5, 0.3, and 0.2, respectively.
  • weighting calculation is performed according to performance data such as delay, traffic, and concurrency, and reasonable system resources are allocated to objects of different performance according to the weighted calculation result, thereby improving the service quality of the storage system.
  • the modules or units in the apparatus provided by the embodiments of the present application may pass through one or more digital signal processors (DSPs), application specific integrated circuits (ASICs), processors, microprocessors, controllers, microcontrollers, and on-site Implemented by a programming array (FPGA), programmable logic device, or other electronic unit, or any combination thereof.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGA programming array
  • Some of the functions or processes described in this application embodiment may also be implemented by software executing on a processor.
  • the embodiment of the present invention further provides a quality of service control device for a storage system, for example, the device can be applied to a storage system, including:
  • a memory for storing processor executable instructions
  • processor is configured to:
  • the application can be applied to the field of computer technology, and is particularly suitable for quality of service control of a storage system.
  • the embodiment of the invention performs performance statistics on objects of different types in the storage system, and sets scheduling priorities and system resources of various objects according to performance data of various objects. After receiving the request instruction for the object operation, the corresponding system resource is allocated for the request instruction according to the scheduling priority of the object and the amount of system resources. It realizes the allocation of reasonable system resources for objects with different performances and improves the service quality of the storage system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种存储系统的服务质量控制方法,包括:在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据(S10);每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量(S20);在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源(S30)。还公开了一种存储系统的服务质量控制装置。由此实现了为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。

Description

存储系统的服务质量控制方法和装置
本申请基于申请号为CN201610035799.7、申请日为2016年1月18日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本发明涉及计算机技术领域,尤其涉及一种存储系统的服务质量控制方法和装置。
背景技术
随着存储区域网络(Storage Area Network,SAN)存储技术的发展,对同一个存储系统的使用,出现了更复杂的需求和应用场景,例如,多种类型的磁盘混插使用的需求,传统卷和精简卷混合使用的应用场景,以及多个激活快照同时使用的应用场景等。
在以上这些场景中,存在共性的问题,不同类的对象的处理能力不尽相同,不同类的对象的请求指令流程也不尽相同,最终对请求指令的响应时间差异很大,这样就会导致一个相同的结果:请求指令的响应速度慢的那些对象,由于需要更长的处理时间,会更长时间的占用系统资源;而请求指令响应速度快的那些对象,虽然在更短的时间内处理完成了请求,但是接下来接收到的对象请求会等待更慢的请求释放出占用的系统资源,最终的结果就是所有对象的请求的时延都成为性能最低对象的时延,导致系统的运行性能降低,从而降低了存储系统的服务质量。
发明内容
本发明的主要目的在于提供一种存储系统的服务质量控制方法和装置,旨在提高存储系统的服务质量。
为实现上述目的,本发明提供了一种存储系统的服务质量控制方法,包括:
在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;
每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;
在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间 的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。
可选地,所述在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源包括:
在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;
当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;
当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。
可选地,所述性能数据包括时延、流量及并发,所述每隔预设时间根据各类对象的性能数据设定各类对象的调度优先级和系统资源量包括:
每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。
可选地,所述性能数据与所述优先级及所述系统资源量均成正比关系,对象的性能越好,获得的系统资源量越多,优先级越高。
可选地,所述系统资源量包括CPU调度资源、内存资源及链路资源。
此外,为实现上述目的,本发明还提供了一种存储系统的服务质量控制装置,包括:
统计模块,用于在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;
设定模块,用于每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;
处理模块,用于在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。
可选地,所述处理模块包括:
判断单元,用于在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;
分配单元,用于当所述对象存在空闲的系统资源,则分配系统资源给所述请求指 令;当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。
可选地,所述性能数据包括时延、流量及并发,所述设定模块还用于,每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。
可选地,所述性能数据与所述优先级及所述系统资源量均成正比关系,对象的性能越好,获得的系统资源量越多,优先级越高。
可选地,所述系统资源量包括CPU调度资源、内存资源及链路资源。
本发明实施例通过对存储系统不同类的对象进行性能数据的统计,并根据各类对象的性能数据设定各类对象的调度优先级和系统资源量。在接收到对对象操作的请求指令后,根据对象的调度优先级及系统资源量,为请求指令分配相应的系统资源。实现了为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。
附图说明
图1为本发明存储系统的服务质量控制方法第一实施例的流程示意图;
图2为多个请求指令分配得到系统资源的示意图;
图3为本发明存储系统的服务质量控制方法中,根据对象的调度优先级及系统资源量,为请求指令分配系统资源的细化流程示意图;
图4为本发明存储系统的服务质量控制装置第一实施例的功能模块示意图;
图5为本发明存储系统的服务质量控制装置中处理模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,示出了本发明一种存储系统的服务质量控制方法第一实施例。该实施例的存储系统的服务质量控制方法包括:
步骤S10、在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;
本实施例中,存储系统可包括多种类型的磁盘混插使用的存储系统、传统卷和精简卷混合使用的存储系统、多个激活快照同时使用的存储系统等。以多种类型的磁盘混插使用 的存储系统为例,将同一种类型的磁盘划分为同一类对象,即不同类型的磁盘为不同类的对象。为了使得控制更加清晰,存储系统中布满性能数据的监控点,例如,在存储系统的指令请求入口、收到响应、处理响应等不同的地方共设置有多个监控点,以便对不同类的对象进行监控,主要统计请求指令的时延,流量和并发等性能数据。为了区分不同类的对象,为各类对象设置唯一标示,并对各类对象进行操作的每个请求指令都会打上与各自对象对应的标记,以便通过请求指令的标记即可获知该请求指令对应的对象。
在上述设置好监控点后,在各个监控点将根据各类对象的唯一标示实时统计各类对象的性能数据。该性能数据包括时延、流量及并发等,其中,时延为接收到请求指令到处理完成该请求指令的时间,流量为在单位时间内处理的数据量,并发为在平均的同一时刻收到的请求数量。在系统的性能监控点为对象统计请求指令的平均时延,再计算周期内的流量及并发,以便后续根据各类对象的性能数据为每个对象设定其能使用的系统资源量和调度处理的优先级。
可以理解的是,该时延的获取方式可以是:方式一,当接收到请求指令时,将触发系统预置的记录模块记录此时的时间,并当处理完成该请求指令时记录该时刻的时间,然后将所记录的接收到请求指令的时间与处理完成该请求指令的时间进行作差,以获取请求指令的时延。方式二,当接收到请求指令时,将触发系统预置的记录模块开始计时,直到处理完成该请求指令后停止计时,以得到请求指令的时延。上述获取时延的方式仅为具体实施方式的枚举,本领域技术人员提出的其它获取时延的方式,均在本发明的保护范围内。
步骤S20、每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;
在得到各类对象的性能数据后,需要给性能不同类的对象分配合理的系统资源,即每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量,该预设时间可根据具体情况而灵活设置,例如,该预设时间可设置为1秒或2秒等。在每个统计周期结束时,根据加权计算的结果刷新各类对象的优先级及其可使用的系统资源,以下实施例将进行详细说明。
系统资源量可包括CPU调度资源、内存资源及链路资源等。性能数据与优先级成正比关系,性能数据与统资源量也成正比关系。即性能更差的对象,其调度的优先级更低,可获取的系统资源更少;性能更好的对象,其调度的优先级更高,可获取的系统资源更多。从而实现了为性能更好的对象分配更多的资源,为性能更差的对象分配较少的资源,合理分配系统资源,以使存储系统达到最佳的运行性能,例如,让高性能的卷依然保持其高性 能的特性。
步骤S30、在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。
在接收到对对象操作的请求指令,系统中所有请求指令需要获取系统资源时,例如,内存申请、或CPU调度或链路等系统资源,可根据请求指令的标记与对象的唯一标示之间的对应关系,获取该请求指令对应的对象,并根据请求指令对应的对象来确定何时调度。即根据对象的调度优先级及系统资源量,为请求指令分配系统资源。即判断该请求指令是否可获取到相应的系统资源,若该请求指令可获取到相应的系统资源,则分配系统资源给该请求指令执行。若请求指令获取不到相应的系统资源,则加入等待队列中进行等待。
以下进行举例说明,如图2所示,图2中的横轴方向表示时刻,纵轴方向表示系统资源,假设同一类的系统资源总数为4,t1时刻收到1~4请求指令,都分别获取到资源执行,现有技术中,在t2时刻时,3和4请求指令已完成,同时系统又收到5~8请求指令,依据先来先服务的原则,5和6请求指令获取到资源得到执行,此时,后续收到的所有请求指令,在整个系统中的处理时间都等于最慢请求的时延,该请求的时延为等待时延加处理时延。
而采用本发明实施例的方案,在t2时刻时,可根据5~8请求指令时延、流量及并发等性能参数来确定7和8请求指令的优先级比5和6请求指令的优先级高,因此,可在3和4请求指令已完成后,优先让7和8请求指令获取到资源执行。在t3时刻时,7和8请求指令已完成,同时系统又收到9~12请求指令,根据5、6、9~12请求指令时延、流量及并发等性能参数来确定11和12请求指令的优先级比其他请求指令的优先级高,因此,可在7和8请求指令已完成后,优先让11和12请求指令获取到资源执行。在t4时刻时,11和12请求指令完成后,让5和6请求指令获取到资源执行。在t6时刻时,1和2请求指令完成后,让9和10请求指令获取到资源执行。从而实现合理分配系统资源,使得存储系统达到最佳的运行性能。
本发明实施例通过对存储系统不同类的对象进行性能数据的统计,并根据各类对象的性能数据设定各类对象的调度优先级和系统资源量。在接收到对对象操作的请求指令后,根据对象的调度优先级及系统资源量,为请求指令分配相应的系统资源。实现了为不同性能的对象分配合理的系统资源,提高了存储系统的运行性能及服务质量。
进一步地,如图3所示,基于上述存储系统的服务质量控制方法的第一实施例,提出 了本发明存储系统的服务质量控制方法第二实施例,该实施例中上述步骤S30可包括:
步骤S31、在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;
步骤S32、当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;
步骤S33、当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。
本实施例中,存储系统在接收到对对象操作的请求指令后,将会申请其所需的系统资源,可根据请求指令的标记与对象的唯一标示的对应关系,根据请求指令对应对象的调度优先级,判断该对象是否存在空闲的系统资源。如果该对象的仍有空闲的资源,则分配资源给该请求指令;如果该对象已不存在空闲的资源,则将该请求指令加入到等待队列,等待该对象的其他请求指令释放出系统资源。当该对象释放出系统资源后,则可开始处理等待队列中的请求指令,按照先入队先服务的原则分配系统资源。
以下将以CPU调度资源为例进行详细说明,存储系统在接收到对对象操作的请求指令后,需要得到CPU调度才能处理其业务逻辑,即请求获取CPU调度资源。系统将会判断是否有空闲的CPU调度资源,如果有空闲的CPU调度资源,则直接分配CPU调度资源,调度该请求指令执行;如果无空闲的CPU调度资源,则按请求指令对应的对象将请求指令加入到相应优先级的等待调度队列。当执行完的请求指令释放出CPU调度资源后,则按照优先级先高后低和先入队先服务的原则处理待调度队列,将得到调度的请求指令出队执行。根据得到CPU调度资源后,按照请求指令对应的逻辑处理完成该请求指令。
本实施例可根据对象的调度优先级及系统资源量,判断请求指令是否可获取到相应的系统资源,为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。
进一步地,基于上述存储系统的服务质量控制方法第二实施例,提出了本发明存储系统的服务质量控制方法第三实施例,该实施例中上述步骤S20可包括:每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。
本实施例中,该预设时间可根据具体情况而灵活设置,在每个统计周期结束,在得到各类对象的性能数据后,可依据加权的算法对时延、流量和并发等进行加权计算,根据加权计算的结果,得出每个对象其对应的优先级,及其对应的系统资源量占总系统资源量的比例,以更新各类对象的优先级及其可使用的系统资源。具体地,每隔预设时间根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例可包 括:假设某一对象的时延、流量和并发的权重分别为0.5、0.3、0.2,则加权计算的结果R=时延*0.5+流量*0.3+并发*0.2,分别得到各类对象的加权计算的结果R1~Rn,根据R1~Rn设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。例如,得到对象1的R1为5,得到对象2的R2为15,则对象2的优先级高于对象1的优先级,并按1:3的关系分配对象1和对象2的系统资源量。需要说明的是,将性能数据中的时延、流量及并发进行加权计算的方式可根据具体情况而灵活设置,并不限定本发明。
本实施例根据时延、流量及并发等性能数据进行加权计算,根据加权计算结果为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。
对应地,如图4所示,提出本发明一种存储系统的服务质量控制装置第一实施例。该实施例的存储系统的服务质量控制装置包括:
统计模块100,用于在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;
本实施例中,存储系统可包括多种类型的磁盘混插使用的存储系统、传统卷和精简卷混合使用的存储系统、多个激活快照同时使用的存储系统等。以多种类型的磁盘混插使用的存储系统为例,将同一种类型的磁盘划分为同一类对象,即不同类型的磁盘为不同类的对象。为了使得控制更加清晰,存储系统中布满性能数据的监控点,例如,在存储系统的指令请求入口、收到响应、处理响应等不同的地方共设置有多个监控点,以便对不同类的对象进行监控,主要统计请求指令的时延,流量和并发等性能数据。为了区分不同类的对象,为各类对象设置唯一标示,并对各类对象进行操作的每个请求指令都会打上与各自对象对应的标记,以便通过请求指令的标记即可获知该请求指令对应的对象。
在上述设置好监控点后,统计模块100在各个监控点将根据各类对象的唯一标示实时统计各类对象的性能数据。该性能数据包括时延、流量及并发等,其中,时延为接收到请求指令到处理完成该请求指令的时间,流量为在单位时间内处理的数据量,并发为在平均的同一时刻收到的请求数量。在系统的性能监控点统计模块100为对象统计请求指令的平均时延,再计算周期内的流量及并发,以便后续根据各类对象的性能数据为每个对象设定其能使用的系统资源量和调度处理的优先级。
可以理解的是,该时延的获取方式可以是:方式一,当接收到请求指令时,将触发系统预置的记录模块记录此时的时间,并当处理完成该请求指令时记录该时刻的时间,然后将所记录的接收到请求指令的时间与处理完成该请求指令的时间进行作差,以获取请求指令的时延。方式二,当接收到请求指令时,将触发系统预置的记录模块开始计时,直到处 理完成该请求指令后停止计时,以得到请求指令的时延。上述获取时延的方式仅为具体实施方式的枚举,本领域技术人员提出的其它获取时延的方式,均在本发明的保护范围内。
设定模块200,用于每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;
在得到各类对象的性能数据后,设定模块200需要给性能不同类的对象分配合理的系统资源,即设定模块200每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量,该预设时间可根据具体情况而灵活设置,例如,该预设时间可设置为1秒或2秒等。在每个统计周期结束时,设定模块200根据加权计算的结果刷新各类对象的优先级及其可使用的系统资源,以下实施例将进行详细说明。
系统资源量可包括CPU调度资源、内存资源及链路资源等。性能数据与优先级成正比关系,性能数据与统资源量也成正比关系。即性能更差的对象,其调度的优先级更低,可获取的系统资源更少;性能更好的对象,其调度的优先级更高,可获取的系统资源更多。从而实现了为性能更好的对象分配更多的资源,为性能更差的对象分配较少的资源,合理分配系统资源,以使存储系统达到最佳的运行性能,例如,让高性能的卷依然保持其高性能的特性。
处理模块300,用于在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。
在接收到对对象操作的请求指令,系统中所有请求指令需要获取系统资源时,例如,内存申请、或CPU调度或链路等系统资源,处理模块300可根据请求指令的标记与对象的唯一标示之间的对应关系,获取该请求指令对应的对象,并根据请求指令对应的对象来确定何时调度。即处理模块300根据对象的调度优先级及系统资源量,为请求指令分配系统资源。即判断该请求指令是否可获取到相应的系统资源,若该请求指令可获取到相应的系统资源,则分配系统资源给该请求指令执行。若请求指令获取不到相应的系统资源,则加入等待队列中进行等待。
以下进行举例说明,如图2所示,图2中的横轴方向表示时刻,纵轴方向表示系统资源,假设同一类的系统资源总数为4,t1时刻收到1~4请求指令,都分别获取到资源执行,现有技术中,在t2时刻时,3和4请求指令已完成,同时系统又收到5~8请求指令,依据先来先服务的原则,5和6请求指令获取到资源得到执行,此时,后续收到的所有请求指令,在整个系统中的处理时间都等于最慢请求的时延,该请求的时延为等待时延加处理时 延。
而采用本发明实施例的方案,在t2时刻时,可根据5~8请求指令时延、流量及并发等性能参数来确定7和8请求指令的优先级比5和6请求指令的优先级高,因此,可在3和4请求指令已完成后,优先让7和8请求指令获取到资源执行。在t3时刻时,7和8请求指令已完成,同时系统又收到9~12请求指令,根据5、6、9~12请求指令时延、流量及并发等性能参数来确定11和12请求指令的优先级比其他请求指令的优先级高,因此,可在7和8请求指令已完成后,优先让11和12请求指令获取到资源执行。在t4时刻时,11和12请求指令完成后,让5和6请求指令获取到资源执行。在t6时刻时,1和2请求指令完成后,让9和10请求指令获取到资源执行。从而实现合理分配系统资源,使得存储系统达到最佳的运行性能。
本发明实施例通过对存储系统不同类的对象进行性能数据的统计,并根据各类对象的性能数据设定各类对象的调度优先级和系统资源量。在接收到对对象操作的请求指令后,根据对象的调度优先级及系统资源量,为请求指令分配相应的系统资源。实现了为不同性能的对象分配合理的系统资源,提高了存储系统的运行性能及服务质量。
进一步地,如图5所示,基于上述存储系统的服务质量控制装置第一实施例,提出了本发明存储系统的服务质量控制装置第二实施例,该实施例中上述处理模块300包括可包括:
判断单元310,用于在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;
分配单元320,用于当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。
本实施例中,存储系统在接收到对对象操作的请求指令后,将会申请其所需的系统资源,判断单元310可根据请求指令的标记与对象的唯一标示的对应关系,根据请求指令对应对象的调度优先级,判断该对象是否存在空闲的系统资源。如果该对象的仍有空闲的资源,则分配单元320分配资源给该请求指令;如果该对象已不存在空闲的资源,则分配单元320将该请求指令加入到等待队列,等待该对象的其他请求指令释放出系统资源。当该对象释放出系统资源后,则可开始处理等待队列中的请求指令,按照先入队先服务的原则分配系统资源。
以下将以CPU调度资源为例进行详细说明,存储系统在接收到对对象操作的请求指令后,需要得到CPU调度才能处理其业务逻辑,即请求获取CPU调度资源。系统将会判断是否有空闲的CPU调度资源,如果有空闲的CPU调度资源,则直接分配CPU调度资源,调度该请求指令执行;如果无空闲的CPU调度资源,则按请求指令对应的对象将请求指令加入到相应优先级的等待调度队列。当执行完的请求指令释放出CPU调度资源后,则按照优先级先高后低和先入队先服务的原则处理待调度队列,将得到调度的请求指令出队执行。根据得到CPU调度资源后,按照请求指令对应的逻辑处理完成该请求指令。
本实施例可根据对象的调度优先级及系统资源量,判断请求指令是否可获取到相应的系统资源,为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。
进一步地,基于上述存储系统的服务质量控制装置第二实施例,提出了本发明存储系统的服务质量控制装置第三实施例,该实施例中上述设定模块200还用于,每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。
本实施例中,该预设时间可根据具体情况而灵活设置,在每个统计周期结束,在得到各类对象的性能数据后,设定模块200可依据加权的算法对时延、流量和并发等进行加权计算,根据加权计算的结果,得出每个对象其对应的优先级,及其对应的系统资源量占总系统资源量的比例,以更新各类对象的优先级及其可使用的系统资源。具体地,设定模块200每隔预设时间根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例可包括:假设某一对象的时延、流量和并发的权重分别为0.5、0.3、0.2,则加权计算的结果R=时延*0.5+流量*0.3+并发*0.2,分别得到各类对象的加权计算的结果R1~Rn,根据R1~Rn设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。例如,得到对象1的R1为5,得到对象2的R2为15,则对象2的优先级高于对象1的优先级,并按1:3的关系分配对象1和对象2的系统资源量。需要说明的是,将性能数据中的时延、流量及并发进行加权计算的方式可根据具体情况而灵活设置,并不限定本发明。
本实施例根据时延、流量及并发等性能数据进行加权计算,根据加权计算结果为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。
本申请实施例提供的装置中的各个模块或单元可以通过一个或多个数字信号处理器(DSP)、专用集成电路(ASIC)、处理器、微处理器、控制器、微控制器、现场可编程阵列(FPGA)、可编程逻辑器件或其他电子单元或其任意组合来实现。 在本申请实施例中描述的一些功能或处理也可以通过在处理器上执行的软件来实现。
例如,本发明的实施例还提供了一种存储系统的服务质量控制装置,例如该装置可以应用于一存储系统中,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;
每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;
在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。
工业实用性
本申请可以应用于计算机技术领域,尤其适用于存储系统的服务质量控制。本发明实施例通过对存储系统不同类的对象进行性能数据的统计,并根据各类对象的性能数据设定各类对象的调度优先级和系统资源量。在接收到对对象操作的请求指令后,根据对象的调度优先级及系统资源量,为请求指令分配相应的系统资源。实现了为不同性能的对象分配合理的系统资源,提高了存储系统的服务质量。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

  1. 一种存储系统的服务质量控制方法,其中,所述存储系统的服务质量控制方法包括以下步骤:
    在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象的性能数据;
    每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;
    在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。
  2. 如权利要求1所述的存储系统的服务质量控制方法,其中,所述在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源包括:
    在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;
    当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;
    当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。
  3. 如权利要求2所述的存储系统的服务质量控制方法,其中,所述性能数据包括时延、流量及并发,所述每隔预设时间根据各类对象的性能数据设定各类对象的调度优先级和系统资源量包括:
    每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。
  4. 如权利要求3所述的存储系统的服务质量控制方法,其中,所述性能数据与所述优先级及所述系统资源量均成正比关系,对象的性能越好,获得的系统资源量越多,优先级越高。
  5. 如权利要求1-4中任一项所述的存储系统的服务质量控制方法,其中,所述系统资源量包括CPU调度资源、内存资源及链路资源。
  6. 一种存储系统的服务质量控制装置,其中,所述存储系统的服务质量控制装置包括:
    统计模块,设置为在存储系统的各个监控点根据各类对象的唯一标示,统计各类对象 的性能数据;
    设定模块,设置为每隔预设时间根据各类对象的性能数据,设定各类对象的调度优先级和系统资源量;
    处理模块,设置为在接收到对对象操作的请求指令后,根据请求指令的标记与对象的唯一标示之间的对应关系,获取与所述请求指令对应的对象,并根据所述对象的调度优先级及系统资源量,为所述请求指令分配系统资源。
  7. 如权利要求6所述的存储系统的服务质量控制装置,其中,所述处理模块包括:
    判断单元,设置为在接收到对对象操作的请求指令后,根据所述请求指令对应对象的调度优先级,判断所述对象是否存在空闲的系统资源;
    分配单元,设置为当所述对象存在空闲的系统资源,则分配系统资源给所述请求指令;当所述对象不存在空闲的系统资源,则所述请求指令等待所述对象的其他请求指令释放出系统资源,直到存在空闲的系统资源后,为所述请求指令分配系统资源。
  8. 如权利要求7所述的存储系统的服务质量控制装置,其中,所述性能数据包括时延、流量及并发,所述设定模块还设置为,每隔预设时间将性能数据中的时延、流量及并发进行加权计算,并根据加权计算的结果设定各类对象对应的优先级及对应的系统资源量占总系统资源量的比例。
  9. 如权利要求8所述的存储系统的服务质量控制装置,其中,所述性能数据与所述优先级及所述系统资源量均成正比关系,对象的性能越好,获得的系统资源量越多,优先级越高。
  10. 如权利要求6-9中任一项所述的存储系统的服务质量控制装置,其中,所述系统资源量包括CPU调度资源、内存资源及链路资源。
PCT/CN2017/070289 2016-01-18 2017-01-05 存储系统的服务质量控制方法和装置 WO2017124925A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610035799.7 2016-01-18
CN201610035799.7A CN106980463A (zh) 2016-01-18 2016-01-18 存储系统的服务质量控制方法和装置

Publications (1)

Publication Number Publication Date
WO2017124925A1 true WO2017124925A1 (zh) 2017-07-27

Family

ID=59341061

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/070289 WO2017124925A1 (zh) 2016-01-18 2017-01-05 存储系统的服务质量控制方法和装置

Country Status (2)

Country Link
CN (1) CN106980463A (zh)
WO (1) WO2017124925A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356386B2 (en) 2017-11-22 2022-06-07 Huawei Technologies Co., Ltd. Method and apparatus for setting link priority

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107800574B (zh) * 2017-11-03 2021-05-28 郑州云海信息技术有限公司 存储qos调节方法、系统、设备及计算机可读存储器
CN112596904A (zh) * 2020-12-25 2021-04-02 济南浪潮高新科技投资发展有限公司 一种基于量子云平台量子服务资源调用优化的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079308A1 (en) * 2005-09-30 2007-04-05 Computer Associates Think, Inc. Managing virtual machines
CN101132631A (zh) * 2006-06-21 2008-02-27 华为技术有限公司 一种根据用户服务质量分配系统资源的方法及基站
CN102301355A (zh) * 2008-12-31 2011-12-28 英特尔公司 在硬件存储控制器中提供差异化i/o服务
CN102932442A (zh) * 2012-10-26 2013-02-13 北京奇虎科技有限公司 用于分布式数据存储系统的设备、系统及方法
CN104937584A (zh) * 2012-12-19 2015-09-23 赛门铁克公司 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量
CN105094983A (zh) * 2014-04-30 2015-11-25 华为技术有限公司 计算机,控制设备和数据处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4625675B2 (ja) * 2004-10-20 2011-02-02 株式会社日立製作所 ストレージ装置のリソース割り当て方法及びストレージ装置
CN102799487A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 基于阵列/lun的io调度方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079308A1 (en) * 2005-09-30 2007-04-05 Computer Associates Think, Inc. Managing virtual machines
CN101132631A (zh) * 2006-06-21 2008-02-27 华为技术有限公司 一种根据用户服务质量分配系统资源的方法及基站
CN102301355A (zh) * 2008-12-31 2011-12-28 英特尔公司 在硬件存储控制器中提供差异化i/o服务
CN102932442A (zh) * 2012-10-26 2013-02-13 北京奇虎科技有限公司 用于分布式数据存储系统的设备、系统及方法
CN104937584A (zh) * 2012-12-19 2015-09-23 赛门铁克公司 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量
CN105094983A (zh) * 2014-04-30 2015-11-25 华为技术有限公司 计算机,控制设备和数据处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356386B2 (en) 2017-11-22 2022-06-07 Huawei Technologies Co., Ltd. Method and apparatus for setting link priority

Also Published As

Publication number Publication date
CN106980463A (zh) 2017-07-25

Similar Documents

Publication Publication Date Title
US9027028B2 (en) Controlling the use of computing resources in a database as a service
US11010199B2 (en) Efficient critical thread scheduling for non-privileged thread requests
US10754706B1 (en) Task scheduling for multiprocessor systems
CN107515786B (zh) 资源分配方法、主装置、从装置和分布式计算系统
Elliott et al. GPUSync: A framework for real-time GPU management
WO2020052301A1 (zh) 一种资源调度方法及装置
US7822885B2 (en) Channel-less multithreaded DMA controller
CN113434284B (zh) 一种隐私计算服务端设备、系统及任务调度方法
Zhu et al. FPGA resource pooling in cloud computing
US20130198758A1 (en) Task distribution method and apparatus for multi-core system
US10908955B2 (en) Systems and methods for variable rate limiting of shared resource access
CN110012062B (zh) 一种多机房任务调度方法、装置及存储介质
US9244733B2 (en) Apparatus and method for scheduling kernel execution order
WO2017124925A1 (zh) 存储系统的服务质量控制方法和装置
US9785473B2 (en) Configurable per-task state counters for processing cores in multi-tasking processing systems
US10503546B2 (en) GPU resource priorities based on hardware utilization
CN109117280B (zh) 电子装置及其限制进程间通信的方法、存储介质
CN106991071B (zh) 内核调度方法及系统
CN109117279B (zh) 电子装置及其限制进程间通信的方法、存储介质
Usui et al. Squash: Simple qos-aware high-performance memory scheduler for heterogeneous systems with hardware accelerators
CN108845870B (zh) 一种基于pWCET整形的概率性实时任务调度方法
JP2006195985A (ja) リソース利用率を制御する方法およびコンピュータシステム
CN109062707B (zh) 电子装置及其限制进程间通信的方法、存储介质
CN109117278A (zh) 一种移动终端及其进程间通信的限制方法、存储介质
US9563494B2 (en) Systems and methods for managing task watchdog status register entries

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17740956

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17740956

Country of ref document: EP

Kind code of ref document: A1