CN104679575B - The control system and its method of iostream - Google Patents
The control system and its method of iostream Download PDFInfo
- Publication number
- CN104679575B CN104679575B CN201310626190.3A CN201310626190A CN104679575B CN 104679575 B CN104679575 B CN 104679575B CN 201310626190 A CN201310626190 A CN 201310626190A CN 104679575 B CN104679575 B CN 104679575B
- Authority
- CN
- China
- Prior art keywords
- resource
- stand
- resource request
- 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.)
- Active
Links
Abstract
The application discloses a kind of control system and its method of iostream, which includes:Receive I/O resource request;The stand-by period of the I/O resource request is calculated according to the resource metrics of setting;Corresponding I/O resource request, which is controlled, according to the stand-by period of calculating carries out submission processing.Virtual machine is avoided by the application store IO and fight for storage resource, realize to the flexible effectively flow control of distributed memory system.
Description
Technical field
This application involves a kind of control technology of iostream, relate more specifically to the input in a kind of cloud computing environment
Export the control system and its method of stream.
Background technology
With the rapid development of hardware technology, single server processing capacity is higher and higher, and user can utilize virtualization
Technology disposes multiple virtual machines on a server(VM), to realize that server resource is integrated, software and hardware utilization rate is improved,
To save IT costs, efficiency is improved.
Under this cloud computing environment, a cluster or a physical server are a large resource ponds, CPU, memory, defeated
Enter output(IO), Internet resources have its upper limit.For storing I/O resource, IO performances also have its upper limit, separate unit physical machine(NC)
IO abilities corresponding with its cost can only be provided, and at present under virtualization technology, the IO of VM does not have upper limit control, the utilization of resources
It relies on user to seize, user seizes more, then resource consumption is more.
Usually, the VM in cluster needs to consume I/O resource, if be not controlled, the IO performances that cluster can carry can
It can be used completely by some or certain several VM, influence the normal operation of other facilities such as other VM, fast photographic system, can also lead indirectly
Physical machine where causing VM(NC)CPU, memory, Internet resources it is nervous.For example, some VM writes, bandwidth is very high, and VM data in magnetic disk is deposited
In distributed storage, certain several VM's writes bandwidth and can press the network interface card of a full NC for storage;Under this cloud computing environment, both
It needs to carry out IO flow controls to the single disk of VM, it is also desirable to carry out IO flow controls to entire NC.IO performance indicators include read-write IOPS
(IO quantity is per second), read-write BPS(IO byte numbers are per second), any one index is all likely to be breached the equipment performance limit.
In conclusion in cloud computing environment, storage resource is limited, with virtual machine(VM)Quantity becomes more, the storage of VM
The possibility that IO is fought for is increasing, if do not limited, a VM even can be with all resources in preempting resources pond.Cause
This, it is known that the storage IO that virtual machine exists in the prior art fights for limited memory resources the unconfined technology of resource consumption is caused to be asked
Topic.
Invention content
The main purpose of the application is to provide a kind of control system and its method of iostream, to solve existing skill
The storage IO of virtual machine present in art, which fights for limited memory resources, leads to the unconfined technical problem of resource consumption.
To solve the above problems, according to the one side of the application, a kind of control method of input and output IO streams is provided,
For cloud computing environment, the method includes:Receive I/O resource request;The I/O resource is calculated according to the resource metrics of setting to ask
The stand-by period asked;Corresponding I/O resource request, which is controlled, according to the stand-by period of calculating carries out submission processing.
According to further aspect of the application, a kind of control system of input and output IO streams is additionally provided, including:Receive mould
Block, for receiving I/O resource request;Computing module, the waiting for calculating the I/O resource request according to the resource metrics of setting
Time;Control module carries out submission processing for controlling corresponding I/O resource request according to the stand-by period of calculating.
According to the above-mentioned technical proposal of the application, by calculating the stand-by period of I/O resource request, and according to calculating etc.
Wait for that the corresponding I/O resource request of time control carries out submission processing, the storage IO for avoiding virtual machine fights for storage resource, real
Show to virtual storage system flexibly and effectively flow control.
Description of the drawings
Attached drawing described herein is used for providing further understanding of the present application, constitutes part of this application, this Shen
Illustrative embodiments and their description please do not constitute the improper restriction to the application for explaining the application.In the accompanying drawings:
Fig. 1 is the schematic diagram according to the application scenarios of the embodiment of the present application;
Fig. 2 is the structure diagram of the control system of the iostream of the application one embodiment;
Fig. 3 is the structure diagram of the control system of the iostream of another embodiment of the application;
Fig. 4 is the flow chart of the control method of the iostream of the application one embodiment;And
Fig. 5 is the flow chart of the control method of the iostream of another embodiment of the application.
Specific implementation mode
The I/O resource UPS upper performance score parameter that the application is arranged by receiving virtual machine management system, to each magnetic of virtual machine
The overall performance of all magnetic disk of virtual machine is controlled in the IO performances and entire physical machine of disk, is realized to virtual storage system
The flexible control of IO performances.
To keep the purpose, technical scheme and advantage of the application clearer, below in conjunction with the application specific embodiment and
Technical scheme is clearly and completely described in corresponding attached drawing.Obviously, described embodiment is only the application one
Section Example, instead of all the embodiments.Based on the embodiment in the application, those of ordinary skill in the art are not doing
Go out the every other embodiment obtained under the premise of creative work, shall fall in the protection scope of this application.
Before the control system for illustrating iostream provided herein, first the application scenarios of the application are carried out
Description.With reference to figure 1, Fig. 1 is the schematic diagram according to the application scenarios of the embodiment of the present application.As shown, in virtual storage system
Include multiple each virtual machines(VM1、VM2…….VM n)And its corresponding physical machine(NC).In the implementation of the application
It, can be according to each disk of VM in example(Disk1、Disk2……Disk n)It is correspondingly arranged the control system of a application
(The control system of Disk1, the control system of control system ... the Disk n of Disk2,), and can also be corresponded to according to entire NC
The control system of one the application is set(The control system of NC).In practical applications, the disk of each VM first submits to IO
IO is submitted to the corresponding control systems of entire NC by respective control system after each disk submits IO by virtualization layer,
NC submits IO to be submitted to distributed storage resource pool by application program later, to limit the IO of all VM on entire NC
Can, it is achieved in the IO flow controls of VM disks respective IO flow controls and entire NC.Wherein, each control system provides respective parameter
Interface is set, realizes the setting and update of flow control parameters.
Cooperation attached drawing is described further the control system and its method of the iostream of the application below.It please refers to
Fig. 2, Fig. 2 are the structure diagrams of the control system of the iostream of the application, which includes at least:Receiving module 10, meter
Module 20 and control module 30 are calculated, the structure and connection relation of each module is described below in detail.
Receiving module 10, for receiving I/O resource request.In one embodiment of the application, I/O resource request is received
Equipment can be a virtual machine(VM)Disk or entire physical machine(NC), a VM disk or entire NC are all held
The same flow control processing of row, that is to say, that the IO streams of single magnetic disk of virtual machine can both be controlled, it can also be right simultaneously
The IO streams of entire physical machine are controlled.Be achieved in the IO performances to each disk of VM, on entire NC all VM totality
Performance is controlled.
Computing module 20 is coupled with 10 phase of receiving module, is asked for calculating the I/O resource according to the resource metrics of setting
Stand-by period.The resource metrics are by internal system or external pre-set threshold value, and in the resource metrics of setting
Interior progress IO flow controls.For example, pre-set resource metrics may include:Time leaf length, read/write IO speed(IOPS)Or
Read/write I/O bandwidth(BPS)Etc. indexs.
Referring to FIG. 3, computing module 20 further comprises:First computing module 210, the second computing module 220 and setting
Module 230.Wherein, the first computing module 210 is for time leaf length, the upper limit of IO speed and/or I/O bandwidth according to setting
Value, calculating current time stamp allows the first I/O resource of processing.Second computing module 220 is used for the current time according to record
The scheduled I/O resource request of piece and the I/O resource request being currently received, calculate the second I/O resource of current desired processing.
Setup module 230 is coupled with the first computing module 210 and 220 phase of the second computing module respectively, if big for the first I/O resource
In or be equal to second I/O resource, then be arranged I/O resource request stand-by period be zero, otherwise be arranged I/O resource ask etc.
Wait for that the time is not zero.
In practical applications, it needs that read/write IO speed is first arranged(Read/write IOPS)Or read/write I/O bandwidth(Read/write
BPS)Upper limit value and current timeslice length limit(Such as 500ms), according to the timeslice of current time stamp and setting
Length computation current time stamp allows the first I/O resource of processing, the first I/O resource to be denoted as allow.First I/O resource is
It is currently able to the maximum resource quantity of scheduling, wherein the first I/O resource can be IO byte numbers and/or IO quantity.Then, according to
The I/O resource request scheduled at that time of record(Including:IO byte numbers and/or IO quantity)And the IO moneys being currently received
Source is asked, and calculates the second I/O resource of current desired processing, the second I/O resource is denoted as expect.Second I/O resource is current
It is expected that the I/O Request resource of processing, wherein the second I/O resource can be IO byte numbers and/or IO quantity.
The stand-by period asked by comparing the size setting I/O resource of allow and expect(wait), specifically:
If expect<=allow does not have to then be limited, and the setting wait times are 0;
If expect>Allow then needs to be limited, setting the wait times be:
(expect-allow) IOPS the BPS upper limit values of/setting.
In practical applications, the stand-by period can be calculated separately according to IO quantity and I/O bandwidth(wait), respectively obtain needle
To two wait values of IO byte numbers and IO quantity, think that the wait times are 0 in the case where two wait values are all 0, if
It is not 0 there are one wait values, then it is assumed that the wait times are not 0.
It is to be appreciated that the wait times calculated every time all allow I/O resource request to be uniformly distributed in timeslice, it is possible thereby to
Ensure that I/O resource request is not in delay and substantially shakes.
With continued reference to Fig. 2, control module 30 is coupled with 20 phase of computing module, described in being calculated according to computing module 20
Stand-by period controls corresponding I/O resource request and carries out submission processing.
In addition, in one embodiment of the application, the control system of the iostream further includes having:Judgment module
40, it is coupled between receiving module 10 and computing module 20.After receiving module 10 receives I/O resource request, judgment module
40 it is judged whether or not I/O resource request etc. is pending, that is, judges whether there is I/O resource request in preset waiting list
(Judge whether waiting list is empty)If there is I/O resource request in waiting list, show currently there is I/O resource request being lined up
Etc. pending, the I/O resource newly received request is added into waiting list;If there is no I/O resource to ask in waiting list
Ask, show currently without I/O resource request wait it is pending, then by computing module 20 calculate the I/O resource request stand-by period
And carry out subsequent processing.
It continues with reference to figure 3, control module 30 further comprises:First submits processing module 310, waiting list management
Module 320, time management module 330, wherein:
The stand-by period for the I/O resource request that first submission processing module 310 is used to that setup module 230 to be arranged is zero
I/O resource request, it is directly subjected to submission processing.
Waiting list management module 320, for setup module 230 to be arranged I/O resource request stand-by period be not
Zero I/O resource request, is added into preset waiting list.It should be noted that in actual implementation, it can be directed to and read behaviour
Make and waiting list is respectively set in write operation, the resource request for reading IO is added in the waiting list of read operation, will write IO's
Resource request is added in the waiting list of write operation, and the read operation and write operation for IO are separately controlled, and are independent of each other.
Time management module 330, the stand-by period for managing the request of the I/O resource in the waiting list, and waiting for
Time sends alert notification after reaching.In fact, time management module 330 is mainly responsible for clocked flip waiting list management module
320 execute the dispatch deal for I/O resource request of transfiniting.Time management module 330 includes the thread pool of an execution task, safeguards
The priority query of wait times and task correspondence, a background thread for managing waiting list.Time management module 330
According to the task that opposite wait times and this time point should execute, absolute time will be converted to respect to the wait times, and
This absolute time is put into priority query, priority query is inserted by the priority of absolute time, keeps absolute time earliest
Element queue most before(top)Position, while safeguarding the mapping relations of an absolute time and task.When I/O resource request
When absolute time reaches, alert notification is sent to extraction module 340, processing is extracted by extraction module 340.If in queue
I/O resource request absolute time it is out of date, then discharge this element, and thread pool is transferred to execute.
With continued reference to Fig. 3, the control module 30 further includes:Extraction module 340, temporary queue management module 350 and
Two submit processing module 360.
Extraction module 340, for responding the alert notification, sequentially cycle extraction I/O resource is asked from the waiting list
The computing module 20 is sought and is committed to, when recalculating the waiting of I/O resource request of extraction by the computing module 20
Between.In practical applications, if calculating separately the stand-by period for IO speed (IOPS) and I/O bandwidth (BPS)(wait), respectively
Two wait values of IOPS and BPS are obtained, its large one is taken in the two wait values(max_wait), reached in the max_wait times
I/O resource request is extracted from waiting list to triggering extraction module 340 later.
Temporary queue management module 350, for be zero by the stand-by period recalculated I/O resource request be added it is interim
Queue, wherein the I/O resource request in the temporary queue asks identification information to be ranked up according to it.
Second submits processing module 360, for the I/O resource request in the temporary queue to be carried out submission processing.
In one embodiment of the application, if the stand-by period that computing module 20 calculates is zero, by the I/O resource
Request directly carries out submission processing;If the stand-by period that computing module 20 calculates is not zero, which is asked to be added
Preset waiting list.If waiting list is respectively set for read operation and write operation, extraction module 340 is successively from two teams
I/O resource request is taken out in row, one I/O resource request is extracted according to first in, first out sequence from queue every time, by calculating mould
Block 20 calculates its wait time to determine whether can currently submit again, should if the wait of I/O resource request is 0
I/O resource request is added in the temporary queue of setting, so sequentially extracts and calculation processing, until the I/O resource of extraction is asked
Until the wait asked is not 0.Extracted in two queues I/O resource request until wait be 0 after, will be in temporary queue
I/O resource request is ranked up according to the original order that request is submitted, so as to ensure the correctness of data.It finally will be interim
I/O resource request batch in queue is submitted to next stage storage system, and more newly-installed counter, timeslice are needed before submitting.
If still there is I/O resource request in waiting list, transfer to time management module 350 in the wait times and then
Secondary triggering waiting list management module 320 extracts I/O resource request from waiting list.If waiting list is empty, next IO is waited for
Resource request can trigger 320 resume module of waiting list management module again after waiting list is added.
It in one embodiment of the application, can be separately controlled for IO is read with IO is write, and can be to reading IOPS, writing
IOPS, it reads BPS, write the progress of BPS four indices individually control and combination control.Such as the disk A of a VM is provided with and writes IOPS
The upper limit is 100, and it is 1000 that entire NC equipment, which writes the IOPS upper limits, then A most multipotencys per second, which handle 100, writes IO, is owned on NC
All disks of VM are per second can only at most to handle 1000 IO.
Below with reference to Fig. 4, such as schemed according to the flow chart of the control method of the iostream of the application one embodiment
Shown in 4, the method includes at least:
In step S402, I/O resource request is received.
In one embodiment of the application, it can be a virtual machine to receive I/O resource request(VM)Disk is whole
A physical machine(NC), following step is all equally executed for a VM disk or entire NC, to each disk to VM
IO performances, the overall performance of all VM is controlled on entire NC.
In step s 404, the stand-by period of the I/O resource request is calculated according to the resource metrics of setting.
First, setting receives the specific virtual machine of I/O resource request or the read/write I/O bandwidth of physical machine(Read and write BPS)Or
Person's read/write IO speed(Read and write IOPS)And current timeslice length limit(Such as 500ms).According to current time stamp and set
Permitted first I/O resource of timeslice length computation current time stamp set, the first I/O resource are denoted as allow.First IO
Resource is to be currently able to the maximum resource quantity of scheduling, and in practical applications, the first I/O resource can be IO byte numbers and/or IO
Quantity.
Then, it is asked according to the I/O resource scheduled at that time of record(Including:Read and write byte number, IO quantity and current
I/O resource is asked), the second I/O resource needed for current I/O resource request is calculated, the second I/O resource is denoted as expect.Described
Two I/O resources are the current I/O Request resources for it is expected processing, in practical applications, the second I/O resource can be IO byte numbers and/or
IO quantity.
The stand-by period of I/O resource request is set below by the size for comparing allow and expect(wait), specifically:
If expect<=allow does not have to then be limited, and the setting wait times are 0;
If expect>Allow then needs to be limited, setting the wait times be (expect-allow)/IOPS or
BPS。
In practical applications, the stand-by period can be calculated separately according to IO quantity (IOPS) and IO byte numbers (BPS)
(wait), two wait values for IOPS and BPS are respectively obtained, when thinking wait in the case where two wait values are all 0
Between be 0.
It is to be appreciated that I/O resource request is all uniformly distributed in timeslice by the wait times calculated every time, therefore can be with
Ensure that I/O Request is not in lingeringly substantially to shake.
In step S406, corresponding I/O resource request is controlled according to the stand-by period of calculating and carries out submission processing.Such as
The stand-by period for the I/O resource request that fruit calculates is zero, then I/O resource request is carried out submission processing, if currently receiving IO
Resource request is virtual machine, then asks I/O resource to be forwarded to corresponding physical machine by virtual level, if currently receiving IO
Resource request is physical machine, then the distributed storage resource pool of system is submitted to by the application program in physical machine;If meter
The stand-by period of the I/O resource request of calculation is not zero, then preset waiting list is added in I/O resource request.
It needs to be arranged and safeguard a waiting list in actual implementation, the IO that cannot temporarily handle is stored in waiting list
Resource request.Specifically, when being not zero the wait times for calculating I/O resource request, I/O resource request is added to described etc.
It waits in queue;In addition, after receiving I/O resource request in step S402, the pending IO such as judge whether to have in waiting list
Resource request, if do not had(I.e. waiting list is sky)Then follow the steps the processing of S404;If there is(I.e. waiting list is not
It is empty)Then the I/O resource received request is added in the waiting list.
In one embodiment of the application, read operation and write operation can be directed to, waiting list be respectively set, successively from
I/O resource request is taken out in two queues.One I/O resource request is extracted according to first in, first out sequence from waiting list every time,
It determines whether can currently submit by calculating its wait times again, if wait is 0, the interim team of setting is added
It in row, so sequentially extracts and calculation processing, until wait that the I/O resource of extraction is asked is not 0.Two queues
In extract I/O resource request until wait be 0 after, by temporary queue I/O resource request according to request identification information
(ID)It sorts from small to large, to ensure the original order of request submission, so as to ensure the correctness of data.It finally will be interim
Queue batch is submitted to next stage storage system, first more newly-installed counter and timeslice before submitting.
If still there is I/O resource request in waiting list, in wait times and then secondary triggering from waiting list
Extract I/O resource request.If there is no I/O resource request in waiting list(Waiting list is empty), wait for that next I/O resource request adds
Process processing can be triggered again after entering waiting list.
Below with reference to Fig. 5, the control method of the iostream according to the embodiment of the present application is described in detail.As shown in figure 5,
The method includes the steps:
Step S502 receives I/O resource request.
Step S504 judges whether preset waiting list is sky, no to then follow the steps if so then execute step S506
S514。
Step S506 judges whether that resource is arranged(Time leaf length)The upper limit directly executes step if being not provided with the upper limit
Rapid S512, it is no to then follow the steps S508.
Step S508, when calculating the waiting of I/O resource request according to current time stamp and the timeslice length limit of setting
Between, circular please refers to description herein above, does not repeat herein.
Step S510 is withouted waiting for if being zero if the stand-by period, executes step S512;If the stand-by period is not zero,
It needs to wait for, executes step S514.
I/O resource request is submitted to next stage storage system, refresh counter and time before submission by step S512
Piece.
When carrying out submitting processing, according to the difference for the virtual machine or physical machine for receiving I/O resource request, have different
Submit processing mode.Specifically, the I/O resource of current I/O resource request VM asks to be forwarded to NC by virtual level, then by NC
Application program is submitted to the distributed storage resource pool of system.
I/O resource is asked that waiting list is added, and the stand-by period is arranged by step S514, when reaching the stand-by period, into
The submission processing of row I/O resource request.
The operating procedure of the present processes is corresponding with the structure feature of system, can be cross-referenced, no longer repeats one by one.
In conclusion according to the above-mentioned technical proposal of the application, the stand-by period asked by calculating I/O resource, and according to
The stand-by period of calculating controls corresponding I/O resource request and carries out submission processing, and the storage IO for avoiding virtual machine fights for storing
Resource is realized to virtual storage system flexibly and effectively flow control.
In a typical configuration, computing device includes one or more processors (CPU), input/output interface, net
Network interface and memory.
Memory may include computer-readable medium in volatile memory, random access memory (RAM) and/or
The forms such as Nonvolatile memory, such as read-only memory (ROM) or flash memory (flashRAM).Memory is showing for computer-readable medium
Example.
Computer-readable medium includes permanent and non-permanent, removable and non-removable media can be by any method
Or technology realizes information storage.Information can be computer-readable instruction, data structure, the module of program or other data.
The example of the storage medium of computer includes, but are not limited to phase transition internal memory (PRAM), static RAM (SRAM), moves
State random access memory (DRAM), other kinds of random access memory (RAM), read-only memory (ROM), electric erasable
Programmable read only memory (EEPROM), fast flash memory bank or other memory techniques, read-only disc read only memory (CD-ROM) (CD-ROM),
Digital versatile disc (DVD) or other optical storages, magnetic tape cassette, tape magnetic disk storage or other magnetic storage apparatus
Or any other non-transmission medium, it can be used for storage and can be accessed by a computing device information.As defined in this article, it calculates
Machine readable medium does not include temporary computer readable media (transitory media), such as data-signal and carrier wave of modulation.
It should also be noted that, the terms "include", "comprise" or its any other variant are intended to nonexcludability
Including so that process, method, commodity or equipment including a series of elements include not only those elements, but also wrap
Include other elements that are not explicitly listed, or further include for this process, method, commodity or equipment intrinsic want
Element.In the absence of more restrictions, the element limited by sentence "including a ...", it is not excluded that wanted including described
There is also other identical elements in the process of element, method, commodity or equipment.
It will be understood by those skilled in the art that embodiments herein can be provided as method, system or computer program product.
Therefore, complete hardware embodiment, complete software embodiment or embodiment combining software and hardware aspects can be used in the application
Form.It is deposited moreover, the application can be used to can be used in the computer that one or more wherein includes computer usable program code
Storage media(Including but not limited to magnetic disk storage, CD-ROM, optical memory etc.)The shape of the computer program product of upper implementation
Formula.
Above is only an example of the present application, it is not intended to limit this application.For those skilled in the art
For, the application can have various modifications and variations.It is all within spirit herein and principle made by any modification, equivalent
Replace, improve etc., it should be included within the scope of claims hereof.
Claims (17)
1. a kind of control method of input and output IO streams, is used for cloud computing environment, which is characterized in that the method includes:
Receive I/O resource request;
The stand-by period of the I/O resource request is calculated according to the resource metrics of setting;
If the stand-by period calculated is not zero, the I/O resource is asked waiting list is added, and according to the institute of calculating
It states the corresponding I/O resource request of stand-by period control and carries out submission processing.
2. according to the method described in claim 1, it is characterized in that, further including:
It receives after I/O resource is asked it is judged whether or not I/O resource request etc. is pending, if otherwise executing the calculating I/O resource
The step of stand-by period of request.
3. method according to claim 1 or 2, which is characterized in that described to calculate the IO according to the resource metrics of setting
The step of stand-by period of resource request, including:
Calculating current time stamp according to the resource metrics of setting allows the first I/O resource of processing;
According to the I/O resource request that the current scheduled I/O resource of record is asked and is currently received, current desired place is calculated
Second I/O resource of reason;
If the first I/O resource is greater than or equal to second I/O resource, the stand-by period that I/O resource request is arranged is zero, no
The stand-by period that I/O resource request is then arranged is not zero.
4. according to the method described in claim 3, it is characterized in that, first I/O resource/second I/O resource include with
It is one or a combination set of lower:I O size is read, I O size is write, reads IO quantity, writes IO quantity.
If 5. according to the method described in claim 3, it is characterized in that, setting I/O resource request stand-by period be zero,
It is described that the step of corresponding I/O resource request carries out submitting processing is controlled according to the stand-by period of calculating, including:
The I/O resource request that stand-by period is zero is subjected to submission processing.
If 6. according to the method described in claim 3, it is characterized in that, setting I/O resource request stand-by period be not zero,
Then the method further includes:
The waiting list is added in the I/O resource request that stand-by period is not zero;
The stand-by period of the I/O resource request in the waiting list is managed, and alert notification is sent after the stand-by period reaches.
7. according to the method described in claim 6, it is characterized in that, further including:
I/O resource request is sequentially extracted from the waiting list;
The stand-by period of the I/O resource request of extraction is recalculated, and the I/O resource that the stand-by period recalculated is zero is asked
Temporary queue is added, wherein the I/O resource request in the temporary queue asks identification information to be ranked up according to it;
I/O resource request in the temporary queue is subjected to submission processing.
8. the method according to claim 5 or 7, which is characterized in that the step of carrying out I/O resource request to submit processing, packet
It includes:
I/O resource request is subjected to the memory resource pool for being committed to corresponding physical machine or system.
9. a kind of control system of input and output IO streams, which is characterized in that including:
Receiving module, for receiving I/O resource request;
Computing module, the stand-by period for calculating the I/O resource request according to the resource metrics of setting;
Control module asks the I/O resource waiting list is added if the stand-by period for calculating is not zero, and
Corresponding I/O resource request, which is controlled, according to the stand-by period of calculating carries out submission processing.
10. system according to claim 9, which is characterized in that further include:
Judgment module is used for it is judged whether or not I/O resource request etc. is pending, if otherwise executing the computing module.
11. system according to claim 9 or 10, which is characterized in that the computing module further comprises:
First computing module allows the first I/O resource of processing for calculating current time stamp according to the resource metrics of setting;
Second computing module, the I/O resource for asking and being currently received according to the current scheduled I/O resource of record are asked
It asks, calculates the second I/O resource of current desired processing;
Setup module, if for the first I/O resource be greater than or equal to second I/O resource, be arranged I/O resource request etc.
Wait for that the time is zero, the stand-by period that I/O resource request is otherwise arranged is not zero.
12. system according to claim 11, which is characterized in that first I/O resource/second I/O resource includes
Following one or combinations thereof:I O size is read, I O size is write, reads IO quantity, writes IO quantity.
13. system according to claim 11, which is characterized in that the control module includes:
First submits processing module, and the IO that the stand-by period of the I/O resource request for the setup module to be arranged is zero is provided
Source is asked, and submission processing is carried out.
14. system according to claim 11, which is characterized in that the control module further includes:
Waiting list management module, the IO that the stand-by period that the I/O resource for the setup module to be arranged is asked is not zero
Resource request is added into the waiting list;
Time management module, the stand-by period for managing the request of the I/O resource in the waiting list, and arrived in the stand-by period
Alert notification is sent after reaching.
15. system according to claim 14, which is characterized in that further include:
Extraction module sequentially extracts I/O resource from the waiting list and asks and be committed to for responding the alert notification
The computing module recalculates the stand-by period of the I/O resource request of extraction by the computing module;
Temporary queue management module, for be zero by the stand-by period recalculated I/O resource request be added temporary queue,
In, the I/O resource request in the temporary queue asks identification information to be ranked up according to it;
Second submits processing module, for the I/O resource request in the temporary queue to be carried out submission processing.
16. system according to claim 13, which is characterized in that it is described first submission processing module by I/O resource ask into
Row is committed to the memory resource pool of corresponding physical machine or system.
17. system according to claim 15, which is characterized in that it is described second submission processing module by I/O resource ask into
Row is committed to the memory resource pool of corresponding physical machine or system.
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 CN104679575A (en) | 2015-06-03 |
CN104679575B true 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) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6773229B2 (en) * | 2016-12-29 | 2020-10-21 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Storage controller and IO request processing method |
CN109799956B (en) | 2017-01-05 | 2023-11-17 | 华为技术有限公司 | Memory controller and IO request processing method |
CN109976885B (en) * | 2017-12-28 | 2021-07-06 | 中移物联网有限公司 | Event processing method and device based on multitask operating system and storage medium |
CN110119364B (en) * | 2018-02-06 | 2023-04-07 | 北京京东尚科信息技术有限公司 | Method and system for input/output batch submission |
CN109062518B (en) * | 2018-09-19 | 2021-09-17 | 郑州云海信息技术有限公司 | Request processing method, device, equipment and readable storage medium |
Citations (2)
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 |
CN102970241A (en) * | 2012-11-07 | 2013-03-13 | 浪潮(北京)电子信息产业有限公司 | Multipath load balancing method and multipath load balancing device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365023B2 (en) * | 2011-04-29 | 2013-01-29 | International Business Machines Corporation | Runtime dynamic performance skew elimination |
-
2013
- 2013-11-28 CN CN201310626190.3A patent/CN104679575B/en active Active
Patent Citations (2)
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 |
CN102970241A (en) * | 2012-11-07 | 2013-03-13 | 浪潮(北京)电子信息产业有限公司 | Multipath load balancing method and multipath load balancing device |
Also Published As
Publication number | Publication date |
---|---|
CN104679575A (en) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | {FlashShare}: Punching Through Server Storage Stack from Kernel to Firmware for {Ultra-Low} Latency {SSDs} | |
CN106980492B (en) | For the device of calculating, system, method, machine readable storage medium and equipment | |
JP6383518B2 (en) | Virtual machine monitor and virtual machine monitor scheduling method | |
WO2018006864A1 (en) | Method, apparatus and system for creating virtual machine, control device and storage medium | |
US10120727B2 (en) | Techniques to allocate configurable computing resources | |
CN104679575B (en) | The control system and its method of iostream | |
US10552213B2 (en) | Thread pool and task queuing method and system | |
CN108694069A (en) | Dynamic composable computing system, data center and the method for being dynamically composed computing system | |
US9019826B2 (en) | Hierarchical allocation of network bandwidth for quality of service | |
US11061729B2 (en) | Throttling logging processes | |
CN111324427B (en) | Task scheduling method and device based on DSP | |
US9104457B2 (en) | Virtual machine-to-image affinity on a physical server | |
EP3803663B1 (en) | Watchdog timer hierarchy | |
EP3238102A1 (en) | Techniques to generate a graph model for cloud infrastructure elements | |
CN112306669A (en) | Task processing method and device based on multi-core system | |
US9069621B2 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
CN112306652A (en) | Wake-up and scheduling with context-aware functionality | |
WO2022042127A1 (en) | Coroutine switching method and apparatus, and device | |
US11520700B2 (en) | Techniques to support a holistic view of cache class of service for a processor cache | |
US11409466B2 (en) | Access control in CMB/PMR virtualization environment | |
CN112204521A (en) | Processor feature ID response for virtualization | |
US10452546B2 (en) | Cache utility modeling for automated cache configuration | |
WO2016044980A1 (en) | Thread migration method, apparatus and system | |
US20230396561A1 (en) | CONTEXT-AWARE NVMe PROCESSING IN VIRTUALIZED ENVIRONMENTS | |
US20230244390A1 (en) | Collecting quality of service statistics for in-use child physical functions of multiple physical function non-volatile memory devices |
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 |