CN104679575A - Control system and control method for input and output flow - Google Patents

Control system and control method for input and output flow Download PDF

Info

Publication number
CN104679575A
CN104679575A CN201310626190.3A CN201310626190A CN104679575A CN 104679575 A CN104679575 A CN 104679575A CN 201310626190 A CN201310626190 A CN 201310626190A CN 104679575 A CN104679575 A CN 104679575A
Authority
CN
China
Prior art keywords
resource request
resource
stand
period
module
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.)
Granted
Application number
CN201310626190.3A
Other languages
Chinese (zh)
Other versions
CN104679575B (en
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 Group Holding 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 CN201310626190.3A priority Critical patent/CN104679575B/en
Publication of CN104679575A publication Critical patent/CN104679575A/en
Application granted granted Critical
Publication of CN104679575B publication Critical patent/CN104679575B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a control system and a control method for input and output flow. The control method comprises the following steps: receiving an IO resource request; calculating waiting time of the IO resource request according to a set resource index; controlling the corresponding IO resource request to perform submitting processing according to the calculated waiting time. According to the control method disclosed by the invention, virtual machine memory IO is prevented from robbing the stored resources, so that the effective flow control on the distributed type storage system is flexibly realized.

Description

The control system of iostream and method thereof
Technical field
The application relates to a kind of control technology of iostream, relates more specifically to control system and the method thereof of the iostream in a kind of cloud computing environment.
Background technology
Along with the develop rapidly of hardware technology, single server processing power is more and more higher, and user can utilize Intel Virtualization Technology, in the multiple virtual machine of a station server deploy (VM), integrate to realize server resource, improve software and hardware utilization factor, thus save IT cost, raise the efficiency.
Under this cloud computing environment, a cluster or a physical server are large resource ponds, and CPU, internal memory, input and output (IO), Internet resources have its upper limit.For storage IO resource, IO performance also has its upper limit, and separate unit physical machine (NC) can only provide the IO ability corresponding to its cost, and under current Intel Virtualization Technology, the IO of VM does not have the upper limit to control, the utilization of resources relies on user and seizes, user seizes more, then resource consumption is more.
Usually, VM in cluster needs to consume IO resource, if do not controlled, the IO performance that cluster can carry may be used full by certain or certain several VM, affect the normal operation of other other facility such as VM, fast photographic system, also can indirectly cause the CPU at VM place physical machine (NC), internal memory, Internet resources nervous.Such as, it is very high that certain VM writes bandwidth, and VM data in magnetic disk is stored in distributed storage, and certain several VM writes the network interface card that bandwidth just can press a full NC; Under this cloud computing environment, both needed to carry out IO Flow Control to the single disk of VM, and also needed to carry out IO Flow Control to whole NC.It is per second that IO performance index comprise read-write IOPS(IO quantity), read-write BPS(IO byte number is per second), any one index all may reach the equipment performance limit.
In sum, in cloud computing environment, storage resources is limited, and along with virtual machine (VM) quantity becomes many, the possibility that the storage IO of VM fights for is increasing, if do not limited, VM even can all resources in preempting resources pond.Therefore, the storage IO that there is virtual machine in known prior art fights for limited memory resources and causes the unconfined technical matters of resource consumption.
Summary of the invention
The fundamental purpose of the application is the control system and the method thereof that provide a kind of iostream, fights for limited memory resources cause the unconfined technical matters of resource consumption with the storage IO solving the virtual machine existed in prior art.
For solving the problem, according to an aspect of the application, provide the control method that a kind of input and output IO flows, for cloud computing environment, described method comprises: receive IO resource request; The stand-by period of described IO resource request is calculated according to the resource metrics arranged; Control corresponding IO resource request according to the described stand-by period calculated and carry out submission process.
According to another aspect of the application, additionally providing the control system that a kind of input and output IO flows, comprising: receiver module, for receiving IO resource request; Computing module, for calculating the stand-by period of described IO resource request according to the resource metrics arranged; Control module, carries out submission process for controlling corresponding IO resource request according to the described stand-by period calculated.
According to the technique scheme of the application, by calculating the stand-by period of IO resource request, and according to calculate stand-by period control corresponding IO resource request carry out submissions process, the storage IO avoiding virtual machine fights for storage resources, achieves virtual storage system Flow Control flexibly and effectively.
Accompanying drawing explanation
Accompanying drawing described herein is used to provide further understanding of the present application, and form a application's part, the schematic description and description of the application, for explaining the application, does not form the improper restriction to the application.In the accompanying drawings:
Fig. 1 is the schematic diagram of the application scenarios according to the embodiment of the present application;
Fig. 2 is the structured flowchart of the control system of the iostream of the application's embodiment;
Fig. 3 is the structured flowchart of the control system of the iostream of another embodiment of the application;
Fig. 4 is the process flow diagram of the control method of the iostream of the application's embodiment; And
Fig. 5 is the process flow diagram of the control method of the iostream of another embodiment of the application.
Embodiment
The IO resource performance upper limit parameter that the application is arranged by sink virtual machine management system, the overall performance of all magnetic disk of virtual machine in the IO performance of each disk of virtual machine and whole physical machine is controlled, realizes the flexible control of the IO performance to virtual storage system.
For making the object of the application, technical scheme and advantage clearly, below in conjunction with the application's specific embodiment and corresponding accompanying drawing, technical scheme is clearly and completely described.Obviously, described embodiment is only some embodiments of the present application, instead of whole embodiments.Based on the embodiment in the application, those of ordinary skill in the art are not making the every other embodiment obtained under creative work prerequisite, all belong to the scope of the application's protection.
Before the control system of the iostream that the application provides is described, first the application scenarios of the application is described.With reference to the schematic diagram that figure 1, Fig. 1 is the application scenarios according to the embodiment of the present application.As shown in the figure, multiple each virtual machine (VM1, VM2 is comprised in virtual storage system ... .VM n) and the physical machine of correspondence (NC).In an embodiment of the application, can according to each disk (Disk1, Disk2 of VM ... Disk n) correspondence arranges control system (control system of Disk1, the control system of Disk2 of a application ... the control system of Disk n), and can according to the whole NC also corresponding control system (control system of NC) that arrange a application.In actual applications, IO is first submitted to respective control system by the disk of each VM, after IO submitted to by each disk, by virtualization layer, IO is submitted to control system corresponding to whole NC, NC is submitted to distributed storage resource pool by application program after submitting IO to, thus limit the IO performance of all VM on whole NC, realize VM disk IO Flow Control separately and the IO Flow Control of whole NC thus.Wherein, each control system provides respective optimum configurations interface, realizes setting and the renewal of flow control parameters.
Accompanying drawing is coordinated to be described further the control system of the iostream of the application and method thereof below.Please refer to Fig. 2, Fig. 2 is the structured flowchart of the control system of the iostream of the application, and this system at least comprises: receiver module 10, computing module 20 and control module 30, is described below in detail structure and the annexation of each module.
Receiver module 10, for receiving IO resource request.In an embodiment of the application, the equipment receiving IO resource request can be virtual machine (VM) disk or whole physical machine (NC), same Flow Control process is all performed for a VM disk or whole NC, that is, both can control the IO stream of single magnetic disk of virtual machine, also can control the IO stream of whole physical machine simultaneously.The overall performance realizing all VM on the IO performance of each disk to VM, whole NC thus controls.
Computing module 20 couples mutually with receiver module 10, for calculating the stand-by period of described IO resource request according to the resource metrics arranged.Described resource metrics is the threshold value pre-set by internal system or outside, and carries out IO Flow Control in the resource metrics arranged.Such as, the resource metrics pre-set can comprise: the indexs such as timeslice length, read/write IO speed (IOPS) or read/write IO bandwidth (BPS).
Please refer to Fig. 3, computing module 20 comprises further: the first computing module 210, second computing module 220 and arrange module 230.Wherein, the first computing module 210, for the higher limit according to the timeslice length arranged, IO speed and/or IO bandwidth, calculates the IO resource that current time stamp institute allows process.Second computing module 220, for the IO resource request of having dispatched according to the current time sheet of record and the IO resource request be currently received, calculates the 2nd IO resource of current required process.Arrange module 230 to couple mutually with the first computing module 210 and the second computing module 220 respectively, if be more than or equal to described 2nd IO resource for an IO resource, the stand-by period then arranging IO resource request is zero, otherwise the stand-by period arranging IO resource request is non-vanishing.
In actual applications, need first to arrange the higher limit of read/write IO speed (read/write IOPS) or read/write IO bandwidth (read/write BPS) and current timeslice length limit (such as 500ms), according to current time stamp and arrange timeslice length computation current time stamp institute allow process an IO resource, an IO resource is designated as allow.A described IO resource is the current maximum resource quantity that can dispatch, and wherein, an IO resource can be IO byte number and/or IO quantity.Then, according to the IO resource request (comprising: IO byte number and/or IO quantity) of having dispatched at that time and the IO resource request be currently received of record, calculate the 2nd IO resource of current required process, the 2nd IO resource is designated as expect.Described 2nd IO resource is the current I/O request resource expecting process, and wherein, the 2nd IO resource can be IO byte number and/or IO quantity.
The stand-by period (wait) of IO resource request is set by the size comparing allow and expect, particularly:
If expect<=allow, then need not be limited, arranging the wait time is 0;
If expect>allow, then need to be limited, arranging the wait time is:
(expect-allow) IOPS or the BPS higher limit of/setting.
In actual applications, the stand-by period (wait) can be calculated respectively according to IO quantity and IO bandwidth, obtain two wait values for IO byte number and IO quantity respectively, think that when two wait values are all 0 the wait time is 0, if there is a wait value not to be 0, then think that the wait time is not 0.
Need to illustrate, each wait time calculated all allows IO resource request be uniformly distributed in timeslice, can ensure that IO resource request there will not be thus and postpones and significantly shake.
Continue with reference to figure 2, control module 30 couples mutually with computing module 20, and the described stand-by period for calculating according to computing module 20 controls corresponding IO resource request and carries out submission process.
In addition, in an embodiment of the application, the control system of described iostream also includes: judge module 40, and it is coupled between receiver module 10 and computing module 20.After receiver module 10 receives IO resource request, judge module 40 judges currently whether have IO resource request etc. pending, namely judge in the waiting list preset, whether there is IO resource request (judging whether waiting list is empty), if there is IO resource request in waiting list, show that the current IO of having resource request is waiting in line process, the IO resource request this newly received is added in waiting list; If there is no IO resource request in waiting list, show that the current IO of not having resource request is waiting pending, then calculate the stand-by period of this IO resource request by computing module 20 and carry out follow-up process.
Continue with reference to figure 3 below, control module 30 comprises further: first submits processing module 310, waiting list administration module 320, time management module 330 to, wherein:
First submits the IO resource request of processing module 310 for for the stand-by period arranging the IO resource request that module 230 is arranged being zero to, it is directly carried out submission process.
Waiting list administration module 320, for the IO resource request that the stand-by period for the IO resource request arranging module 230 setting is non-vanishing, is added default waiting list.It should be noted that, in reality is implemented, for read operation and write operation, waiting list can be set respectively, the resource request reading IO is joined in the waiting list of read operation, the resource request writing IO is joined in the waiting list of write operation, to separate with write operation for the read operation of IO and control, be independent of each other.
Time management module 330, for managing the stand-by period of the IO resource request in described waiting list, and sends alert notification after the stand-by period arrives.In fact, time management module 330 primary responsibility clocked flip waiting list administration module 320 performs the dispatch deal of the IO resource request that transfinites.The background thread that time management module 330 comprises a thread pool of executing the task, safeguards the priority query of wait time and task corresponding relation, one manages waiting list.The task that time management module 330 should perform according to relative wait time and this time point, the relative wait time is converted to absolute time, and this absolute time is put into priority query, priority query inserts by the priority of absolute time, keep absolute time element the earliest queue before (top) position, safeguard the mapping relations of an absolute time and task simultaneously.When the absolute time of IO resource request arrives, send alert notification to extraction module 340, carry out extraction process by extraction module 340.If the absolute time of the IO resource request in queue is out of date, then discharge this element, and transfer to thread pool to perform.
Continue with reference to figure 3, described control module 30 also comprises: extraction module 340, temporary queue administration module 350 and second submit processing module 360 to.
Extraction module 340, for responding described alert notification, sequentially from described waiting list, circulation is extracted IO resource request and is committed to described computing module 20, is recalculated the stand-by period of the IO resource request of extraction by described computing module 20.In actual applications, if calculate the stand-by period (wait) respectively for IO speed (IOPS) and IO bandwidth (BPS), obtain two wait values of IOPS and BPS respectively, get its large one (max_wait) in these two wait values, after the max_wait time reaches, trigger extraction module 340 from waiting list, extract IO resource request.
Temporary queue administration module 350, for being that the IO resource request of zero adds temporary queue by the stand-by period recalculated, wherein, the IO resource request in described temporary queue sorts according to its request identification information.
Second submits processing module 360 to, for the IO resource request in described temporary queue being carried out submission process.
In an embodiment of the application, if the stand-by period that computing module 20 calculates is zero, then this IO resource request is directly carried out submission process; If the stand-by period that computing module 20 calculates is non-vanishing, then this IO resource request is added default waiting list.If arrange waiting list respectively for read operation and write operation, extraction module 340 takes out IO resource request successively from two queues, from queue, extract an IO resource request according to first-in first-out order at every turn, its wait time is again calculated to determine current whether can submission to by computing module 20, if the wait of this IO resource request is 0, then this IO resource request is added in the temporary queue of setting, so sequentially carry out extracting and computing, until the wait of the IO resource request extracted is not 0.Extract IO resource request in two queues until wait is not after 0, the original order that the IO resource request in temporary queue is submitted to according to request is sorted, thus the correctness of data can be ensured.Finally the IO resource request batch in temporary queue is submitted to next stage storage system, before submission, needs more newly-installed counter, timeslice.
If still have IO resource request in waiting list, so transfer to time management module 350 after the wait time, again trigger waiting list administration module 320 from waiting list, extract IO resource request.If waiting list is empty, adds after waiting list can again trigger waiting list administration module 320 resume module until next IO resource request.
In an embodiment of the application, for reading IO and writing IO and can separate and control, and can to reading IOPS, write IOPS, read BPS, write BPS four indices and control separately and combine control.The disk A of a such as VM is provided with and writes the IOPS upper limit is 100, and it is 1000 that whole NC equipment writes the IOPS upper limit, and so IO is write in A most multipotency process 100 per second, all disks of the upper all VM of NC are per second can only process at most 1000 IO.
Below with reference to Fig. 4, be the process flow diagram of the control method of the iostream according to the application's embodiment, as shown in Figure 4, described method at least comprises:
In step S402, receive IO resource request.
In an embodiment of the application, receiving IO resource request can be virtual machine (VM) disk or whole physical machine (NC), step is below performed all equally for a VM disk or whole NC, thus the overall performance of all VM on the IO performance of each disk of VM, whole NC is controlled.
In step s 404, the stand-by period of described IO resource request is calculated according to the resource metrics arranged.
First, the read/write IO bandwidth (read-write BPS) receiving the concrete virtual machine of IO resource request or physical machine or read/write IO speed (read-write IOPS) and current timeslice length limit (such as 500ms) are set.Timeslice length computation current time according to current time stamp and setting stabs the IO resource allowed, and an IO resource is designated as allow.A described IO resource is the current maximum resource quantity that can dispatch, and in actual applications, an IO resource can be IO byte number and/or IO quantity.
Then, according to the IO resource request (comprising: read-write byte number, IO quantity and current I O resource request) of having dispatched at that time of record, calculate the 2nd IO resource needed for current IO resource request, the 2nd IO resource is designated as expect.Described 2nd IO resource is the current I/O request resource expecting process, and in actual applications, the 2nd IO resource can be IO byte number and/or IO quantity.
The stand-by period (wait) of IO resource request is set below by the size comparing allow and expect, particularly:
If expect<=allow, then need not be limited, arranging the wait time is 0;
If expect>allow, then need to be limited, the wait time is set for (expect-allow)/IOPS or BPS.
In actual applications, the stand-by period (wait) can be calculated respectively according to IO quantity (IOPS) and IO byte number (BPS), obtain two wait values for IOPS and BPS respectively, think that when two wait values are all 0 the wait time is 0.
Need to illustrate, IO resource request is all uniformly distributed by each wait time calculated in timeslice, therefore can ensure that I/O request there will not be and lingeringly significantly shake.
In step S406, control corresponding IO resource request according to the stand-by period calculated and carry out submission process.If the stand-by period of the IO resource request calculated is zero, then this IO resource request is carried out submission process, if current reception IO resource request is virtual machine, then IO resource request is forwarded to corresponding physical machine through virtual level, if current reception IO resource request is physical machine, be then submitted to the distributed storage resource pool of system by the application program in physical machine; If the stand-by period of the IO resource request calculated is non-vanishing, then this IO resource request is added default waiting list.
Need to arrange in reality is implemented and safeguard a waiting list, in waiting list, storing temporarily not treatable IO resource request.Particularly, when the wait time calculating IO resource request is non-vanishing, this IO resource request is joined in described waiting list; In addition, receive IO resource request in step S402 after, the pending IO resource request such as judge whether to have in waiting list, if there is no (namely waiting list is for empty), perform the process of step S404; If had (namely waiting list is not for empty), the IO resource request this received joins in described waiting list.
In an embodiment of the application, for read operation and write operation, waiting list can be set respectively, from two queues, take out IO resource request successively.From waiting list, extract an IO resource request according to first-in first-out order at every turn, by again calculating its wait time to determine current whether can submission to, if wait is 0, then add in the temporary queue of setting, so sequentially carry out extracting and computing, until the wait of the IO resource request extracted is not 0.Extract IO resource request in two queues until wait is not after 0, the IO resource request in temporary queue is sorted from small to large according to request identification information (ID), to ensure the original order asking to submit to, thus the correctness of data can be ensured.Finally temporary queue batch is submitted to next stage storage system, first more newly-installed counter and timeslice before submission.
If still have IO resource request in waiting list, so after the wait time, again trigger and extract IO resource request from waiting list.If there is no IO resource request (waiting list is empty) in waiting list, add after waiting list again can trigger process process until next IO resource request.
Below with reference to Fig. 5, describe the control method of the iostream according to the embodiment of the present application in detail.As shown in Figure 5, described method comprises step:
Step S502, receives IO resource request.
Step S504, judges whether the waiting list preset is empty, if then perform step S506, otherwise performs step S514.
Step S506, judges whether to arrange resource (timeslice length) upper limit, if do not arrange the upper limit, directly performs step S512, otherwise performs step S508.
Step S508, the timeslice length limit stabbing according to current time and arrange calculates the stand-by period of IO resource request, and circular please refer to above description herein, does not repeat herein.
Step S510, if the stand-by period is zero, does not need to wait for, performs step S512; If the stand-by period is non-vanishing, then needs to wait for, perform step S514.
Step S512, is submitted to next stage storage system by IO resource request, refresh counter and timeslice before submission.
When carrying out submission process, according to the difference of the virtual machine or physical machine that receive IO resource request, there is different submission processing modes.Particularly, the IO resource request of current I O resource request VM is forwarded to NC through virtual level, then is submitted to the distributed storage resource pool of system by the application program on NC.
Step S514, adds waiting list by IO resource request, and arranges the stand-by period, when the stand-by period arrives, carries out the submission process of this IO resource request.
The operation steps of the method for the application is corresponding with the architectural feature of system, can be cross-referenced, repeats no longer one by one.
In sum, according to the technique scheme of the application, by calculating the stand-by period of IO resource request, and according to calculate stand-by period control corresponding IO resource request carry out submissions process, the storage IO avoiding virtual machine fights for storage resources, achieves virtual storage system Flow Control flexibly and effectively.
In one typically configuration, computing equipment comprises one or more processor (CPU), input/output interface, network interface and internal memory.
Internal memory may comprise the volatile memory in computer-readable medium, and the forms such as random access memory (RAM) and/or Nonvolatile memory, as ROM (read-only memory) (ROM) or flash memory (flashRAM).Internal memory is the example of computer-readable medium.
Computer-readable medium comprises permanent and impermanency, removable and non-removable media can be stored to realize information by any method or technology.Information can be computer-readable instruction, data structure, the module of program or other data.The example of the storage medium of computing machine comprises, but be not limited to phase transition internal memory (PRAM), static RAM (SRAM), dynamic RAM (DRAM), the random access memory (RAM) of other types, ROM (read-only memory) (ROM), Electrically Erasable Read Only Memory (EEPROM), fast flash memory bank or other memory techniques, read-only optical disc ROM (read-only memory) (CD-ROM), digital versatile disc (DVD) or other optical memory, magnetic magnetic tape cassette, tape magnetic rigid disk stores or other magnetic storage apparatus or any other non-transmitting medium, can be used for storing the information can accessed by computing equipment.According to defining herein, computer-readable medium does not comprise temporary computer readable media (transitory media), as data-signal and the carrier wave of modulation.
Also it should be noted that, term " comprises ", " comprising " or its any other variant are intended to contain comprising of nonexcludability, thus make to comprise the process of a series of key element, method, commodity or equipment and not only comprise those key elements, but also comprise other key elements clearly do not listed, or also comprise by the intrinsic key element of this process, method, commodity or equipment.When not more restrictions, the key element limited by statement " comprising ... ", and be not precluded within process, method, commodity or the equipment comprising described key element and also there is other identical element.
It will be understood by those skilled in the art that the embodiment of the application can be provided as method, system or computer program.Therefore, the application can adopt the form of complete hardware embodiment, completely software implementation or the embodiment in conjunction with software and hardware aspect.And the application can adopt in one or more form wherein including the upper computer program implemented of computer-usable storage medium (including but not limited to magnetic disk memory, CD-ROM, optical memory etc.) of computer usable program code.
The foregoing is only the embodiment of the application, be not limited to the application.To those skilled in the art, the application can have various modifications and variations.Any amendment done within all spirit in the application and principle, equivalent replacement, improvement etc., within the right that all should be included in the application.

Claims (16)

1. a control method for input and output IO stream, for cloud computing environment, it is characterized in that, described method comprises:
Receive IO resource request;
The stand-by period of described IO resource request is calculated according to the resource metrics arranged;
Control corresponding IO resource request according to the described stand-by period calculated and carry out submission process.
2. method according to claim 1, is characterized in that, also comprises:
Judge currently whether have IO resource request etc. pending after receiving IO resource request, then perform the step of the stand-by period calculating described IO resource request if not.
3. method according to claim 1 and 2, is characterized in that, the described resource metrics according to arranging calculates the step of the stand-by period of described IO resource request, comprising:
According to arrange resource metrics calculate current time stamp institute allow process an IO resource;
According to current IO resource request of having dispatched and the IO resource request be currently received of record, calculate the 2nd IO resource of current required process;
If an IO resource is more than or equal to described 2nd IO resource, then the stand-by period arranging IO resource request is zero, otherwise the stand-by period arranging IO resource request is non-vanishing.
4. method according to claim 3, is characterized in that, a described IO resource/described 2nd O resource comprises following one or a combination set of: read IO size, write IO size, read IO quantity, write IO quantity.
5. method according to claim 3, is characterized in that, if the stand-by period of the IO resource request arranged is zero, then the described described stand-by period according to calculating controls the step that corresponding IO resource request carries out submitting to process, comprising:
By the stand-by period be zero IO resource request carry out submission process.
6. method according to claim 3, is characterized in that, if the stand-by period of the IO resource request arranged is non-vanishing, then described method also comprises:
The IO the resource request non-vanishing stand-by period is added described waiting list;
Manage the stand-by period of the IO resource request in described waiting list, and send alert notification after the stand-by period arrives.
7. method according to claim 6, is characterized in that, also comprises:
Sequentially from described waiting list, extract IO resource request;
Recalculate the stand-by period of the IO resource request of extraction, and by the stand-by period recalculated be zero IO resource request add temporary queue, wherein, the IO resource request in described temporary queue sorts according to its request identification information;
IO resource request in described temporary queue is carried out submission process.
8. the method according to claim 5 or 7, is characterized in that, IO resource request is carried out the step submitting process to, comprising:
IO resource request is carried out the memory resource pool being committed to corresponding physical machine or system.
9. a control system for input and output IO stream, is characterized in that, comprising:
Receiver module, for receiving IO resource request;
Computing module, for calculating the stand-by period of described IO resource request according to the resource metrics arranged;
Control module, carries out submission process for controlling corresponding IO resource request according to the described stand-by period calculated.
10. system according to claim 9, is characterized in that, also comprises:
Whether judge module, currently having IO resource request etc. pending for judging, then performing described computing module if not.
11. systems according to claim 9 or 10, it is characterized in that, described computing module comprises further:
First computing module, for according to arrange resource metrics calculate current time stamp institute allow process an IO resource;
Second computing module, for according to the current IO resource request of having dispatched recorded and the IO resource request be currently received, calculates the 2nd IO resource of current required process;
Arrange module, if be more than or equal to described 2nd IO resource for an IO resource, then the stand-by period arranging IO resource request is zero, otherwise the stand-by period arranging IO resource request is non-vanishing.
12. methods according to claim 11, is characterized in that, a described IO resource/described 2nd O resource comprises following one or a combination set of: read IO size, write IO size, read IO quantity, write IO quantity.
13. systems according to claim 11, is characterized in that, described control module comprises:
First submits processing module to, for being the IO resource request of zero for the described stand-by period arranging the IO resource request of module installation, is carried out submission process.
14. systems according to claim 11, is characterized in that, described control module also comprises:
Waiting list administration module, for for non-vanishing IO resource request of the described stand-by period arranging the IO resource request of module installation, is added described waiting list;
Time management module, for managing the stand-by period of the IO resource request in described waiting list, and sends alert notification after the stand-by period arrives.
15. systems according to claim 14, is characterized in that, also comprise:
Extraction module, for responding described alert notification, sequentially being extracted IO resource request and being committed to described computing module, being recalculated the stand-by period of the IO resource request of extraction by described computing module from described waiting list;
Temporary queue administration module, for being that the IO resource request of zero adds temporary queue by the stand-by period recalculated, wherein, the IO resource request in described temporary queue sorts according to its request identification information;
Second submits processing module to, for the IO resource request in described temporary queue being carried out submission process.
16. systems according to claim 13 or 15, is characterized in that, described first submits to processing module/the second to submit to processing module that IO resource request is carried out the memory resource pool being committed to corresponding physical machine or system.
CN201310626190.3A 2013-11-28 2013-11-28 The control system and its method of iostream Active CN104679575B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310626190.3A CN104679575B (en) 2013-11-28 2013-11-28 The control system and its method of iostream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310626190.3A CN104679575B (en) 2013-11-28 2013-11-28 The control system and its method of iostream

Publications (2)

Publication Number Publication Date
CN104679575A true CN104679575A (en) 2015-06-03
CN104679575B CN104679575B (en) 2018-08-24

Family

ID=53314672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310626190.3A Active CN104679575B (en) 2013-11-28 2013-11-28 The control system and its method of iostream

Country Status (1)

Country Link
CN (1) CN104679575B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062518A (en) * 2018-09-19 2018-12-21 郑州云海信息技术有限公司 A kind of request processing method, device, equipment and readable storage medium storing program for executing
CN109976885A (en) * 2017-12-28 2019-07-05 中移物联网有限公司 Event-handling method, device and storage medium based on multiple task operating system
CN110073321A (en) * 2016-12-29 2019-07-30 华为技术有限公司 A kind of storage control and I/O request processing method
CN110119364A (en) * 2018-02-06 2019-08-13 北京京东尚科信息技术有限公司 A kind of method and system that input/output batch is submitted
US10884667B2 (en) 2017-01-05 2021-01-05 Huawei Technologies Co., Ltd. Storage controller and IO request processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458635A (en) * 2007-12-14 2009-06-17 韩国电子通信研究院 Disk i/o dispatcher under server virtual environment and dispatching method thereof
US20120278669A1 (en) * 2011-04-29 2012-11-01 International Business Machines Corporation Runtime dynamic performance skew elimination
CN102970241A (en) * 2012-11-07 2013-03-13 浪潮(北京)电子信息产业有限公司 Multipath load balancing method and multipath load balancing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458635A (en) * 2007-12-14 2009-06-17 韩国电子通信研究院 Disk i/o dispatcher under server virtual environment and dispatching method thereof
US20120278669A1 (en) * 2011-04-29 2012-11-01 International Business Machines Corporation Runtime dynamic performance skew elimination
CN102970241A (en) * 2012-11-07 2013-03-13 浪潮(北京)电子信息产业有限公司 Multipath load balancing method and multipath load balancing device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110073321A (en) * 2016-12-29 2019-07-30 华为技术有限公司 A kind of storage control and I/O request processing method
CN110073321B (en) * 2016-12-29 2020-05-08 华为技术有限公司 Storage controller and IO request processing method
US11003360B2 (en) 2016-12-29 2021-05-11 Huawei Technologies Co., Ltd. IO request processing according to processing sorting indexes
US10884667B2 (en) 2017-01-05 2021-01-05 Huawei Technologies Co., Ltd. Storage controller and IO request processing method
CN109976885A (en) * 2017-12-28 2019-07-05 中移物联网有限公司 Event-handling method, device and storage medium based on multiple task operating system
CN110119364A (en) * 2018-02-06 2019-08-13 北京京东尚科信息技术有限公司 A kind of method and system that input/output batch is submitted
CN110119364B (en) * 2018-02-06 2023-04-07 北京京东尚科信息技术有限公司 Method and system for input/output batch submission
CN109062518A (en) * 2018-09-19 2018-12-21 郑州云海信息技术有限公司 A kind of request processing method, device, equipment and readable storage medium storing program for executing
CN109062518B (en) * 2018-09-19 2021-09-17 郑州云海信息技术有限公司 Request processing method, device, equipment and readable storage medium

Also Published As

Publication number Publication date
CN104679575B (en) 2018-08-24

Similar Documents

Publication Publication Date Title
CN107567696B (en) Automatic expansion of a group of resource instances within a computing cluster
US9244735B2 (en) Managing resource allocation or configuration parameters of a model building component to build analytic models to increase the utility of data analysis applications
US8972983B2 (en) Efficient execution of jobs in a shared pool of resources
US20120254131A1 (en) Virtual machine image co-migration
US10013264B2 (en) Affinity of virtual processor dispatching
US20120323821A1 (en) Methods for billing for data storage in a tiered data storage system
US9753851B2 (en) Multi-section garbage collection system including real-time garbage collection scheduling
US10616134B1 (en) Prioritizing resource hosts for resource placement
US11057465B2 (en) Time-based data placement in a distributed storage system
US9104455B2 (en) Virtual machine-to-image affinity on a physical server
CN104679575A (en) Control system and control method for input and output flow
US10860352B2 (en) Host system and method for managing data consumption rate in a virtual data processing environment
US9069621B2 (en) Submitting operations to a shared resource based on busy-to-success ratios
US9380126B2 (en) Data collection and distribution management
US9189406B2 (en) Placement of data in shards on a storage device
US10812408B1 (en) Preventing concentrated selection of resource hosts for placing resources
US10452553B1 (en) Systems and methods for distributing cache space
US11336519B1 (en) Evaluating placement configurations for distributed resource placement
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
US10452546B2 (en) Cache utility modeling for automated cache configuration
US10721181B1 (en) Network locality-based throttling for automated resource migration
US20230251799A1 (en) Non-volatile memory device -assisted live migration of virtual machine data
US20230244390A1 (en) Collecting quality of service statistics for in-use child physical functions of multiple physical function non-volatile memory devices
US10339049B2 (en) Garbage collection facility grouping infrequently accessed data units in designated transient memory area
CN113760455A (en) Method and device for realizing virtualized resource scheduling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant