CN104679575B - The control system and its method of iostream - Google Patents

The control system and its method of iostream Download PDF

Info

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
Application number
CN201310626190.3A
Other languages
Chinese (zh)
Other versions
CN104679575A (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 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

The control system and its method of iostream
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.
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 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)

* Cited by examiner, † Cited by third party
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)

* 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
CN102970241A (en) * 2012-11-07 2013-03-13 浪潮(北京)电子信息产业有限公司 Multipath load balancing method and multipath load balancing device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* 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
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