CN105487987A - Method and device for processing concurrent sequential reading IO (Input/Output) - Google Patents

Method and device for processing concurrent sequential reading IO (Input/Output) Download PDF

Info

Publication number
CN105487987A
CN105487987A CN201510816137.9A CN201510816137A CN105487987A CN 105487987 A CN105487987 A CN 105487987A CN 201510816137 A CN201510816137 A CN 201510816137A CN 105487987 A CN105487987 A CN 105487987A
Authority
CN
China
Prior art keywords
read
order
reads
parameter
depth
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
CN201510816137.9A
Other languages
Chinese (zh)
Other versions
CN105487987B (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.)
SHENZHEN DATA FAULT TOLERANCE SYSTEM CO Ltd
Original Assignee
SHENZHEN DATA FAULT TOLERANCE SYSTEM CO 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 SHENZHEN DATA FAULT TOLERANCE SYSTEM CO Ltd filed Critical SHENZHEN DATA FAULT TOLERANCE SYSTEM CO Ltd
Priority to CN201510816137.9A priority Critical patent/CN105487987B/en
Publication of CN105487987A publication Critical patent/CN105487987A/en
Application granted granted Critical
Publication of CN105487987B publication Critical patent/CN105487987B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses a method and device for processing concurrent sequential reading IO. The method comprises the following steps: receiving the instruction of adjusting first pre-read depth parameters of the sequential reading IO and configuring according to the instruction; receiving the instruction of the sequential reading IO and adding the sequential reading IO to a sequential reading IO queue which the sequential reading IO belongs to; judging whether the quantity of the sequential reading IO in the queue is greater than a preset target quantity or not; if yes, adjusting the pre-read depth of the sequential reading IO according to current pre-read state parameters through dynamically adjusting second pre-read depth parameters; and invoking a backend storage interface to read IO data from a storage array according to the adjusted pre-read depth of the sequential reading IO. The method disclosed by the invention has the advantages of dynamically adjusting pre-read algorithm through dynamically adjusting relevant parameters of the pre-read IO and increasing the concurrent sequential reading IO processing efficiency of the storage array.

Description

A kind ofly process method and the device that concurrent order reads IO
Technical field
The invention belongs to technical field of memory, particularly relate to and a kind ofly process method and the device that concurrent order reads IO.
Background technology
Along with the development of large data, people are connected to increasing server on same storage array, and along with the development of server, same server also there will be the CPU of multinuclear, this order with regard to the possible road even up to a hundred, tens tunnels simultaneously of appearance reads the process that IO (Input/Output) needs same storage array, and this just needs the IO Processing Algorithm of storage array concurrent order can read IO.And each order reads the trigger condition of IO, block size, can the degree of depth pre-read all follows concrete application to be correlated with, and what how dynamically adjustment stored pre-reads the development that algorithm makes it to catch up with application, just become storage array catch up with the key factor in large data development epoch.
In prior art, be usually optimized for specific application.But like this for many application scenarioss user rs environment all some inconvenience, the such as application characteristic of Water demand client, and modifying algorithm according to corresponding application, and compiler test etc., complex operation.And that usually only considers single channel reads IO, the multichannel order that corresponding method process is not concurrent reads IO.
Summary of the invention
The invention provides and a kind ofly process method and the device that concurrent order reads IO, pre-read the correlation parameter of IO by adjustment, dynamic conditioning pre-reads algorithm, improves the efficiency that the concurrent order of storage array process reads IO.
The concurrent order of process provided by the invention reads the method for IO, comprising:
Receive adjustment order and read the instruction that first of IO pre-reads depth parameter, and carry out parameter configuration according to described instruction; Reception order reads the instruction of IO, and described order is read IO and join affiliated order and read IO queue; Judge whether the quantity sequentially reading IO in queue is greater than preset target quantity; If so, then pre-read state parameter according to current, what pre-read that depth parameter reads IO with adjustment order by dynamic conditioning second pre-reads the degree of depth; That reads IO according to the order after adjustment pre-reads the degree of depth, calls rear end memory interface and read I/O data from storage array.
The concurrent order of process provided by the invention reads the device of IO, comprising:
Receiver module, reads for receiving adjustment order the instruction that first of IO pre-reads depth parameter; Configuration module, for carrying out parameter configuration according to described instruction; Described receiver module, also reads the instruction of IO for receiving order; Add module, join affiliated order read IO queue for described order being read IO; Judge module, for judging whether the quantity sequentially reading IO in queue is greater than preset target quantity; Adjusting module, for if so, then pre-reading state parameter according to current, what pre-read that depth parameter reads IO with adjustment order by dynamic conditioning second pre-reads the degree of depth; Read module, pre-reads the degree of depth for what read IO according to the order after adjustment, calls rear end memory interface and read I/O data from storage array.
From the invention described above embodiment, the present invention pre-reads degree of depth correlation parameter by adjustment, and what adjust that order reads IO pre-reads the degree of depth, improves efficiency and ability that concurrent processing multichannel order reads IO.
Accompanying drawing explanation
In order to be illustrated more clearly in the embodiment of the present invention or technical scheme of the prior art, be briefly described to the accompanying drawing used required in embodiment or description of the prior art below, apparently, accompanying drawing in the following describes is only some embodiments of the present invention, for those of ordinary skill in the art, under the prerequisite not paying creative work, other accompanying drawing can also be obtained according to these accompanying drawings.
Fig. 1 processes the internal module structural representation that concurrent order reads IO in the embodiment of the present invention;
Fig. 2 is the realization flow schematic diagram that the concurrent order of process that first embodiment of the invention provides reads the method for IO;
Fig. 3 is the realization flow schematic diagram that the concurrent order of process that second embodiment of the invention provides reads the method for IO;
Fig. 4 is the structural representation that the concurrent order of process that third embodiment of the invention provides reads the device of IO;
Fig. 5 is the structural representation that the concurrent order of process that fourth embodiment of the invention provides reads the device of IO.
Embodiment
For making goal of the invention of the present invention, feature, advantage can be more obvious and understandable, below in conjunction with the accompanying drawing in the embodiment of the present invention, technical scheme in the embodiment of the present invention is clearly and completely described, obviously, described embodiment is only the present invention's part embodiment, and not all embodiments.Based on the embodiment in the present invention, those skilled in the art, not making the every other embodiment obtained under creative work prerequisite, belong to the scope of protection of the invention.
Refer to Fig. 1, in the embodiment of the present invention, the device inner structure that the concurrent order of execution process reads the method for IO can comprise following software or hardware module:
Store front end 101, trigger module 102, pre-read through model 103, store rear end 104 and storage array (can be disk array) 105.
Wherein, storing front end 101, is that the order that Receiving Host sends is read IO order and resolve wherein order to read the relevant parameter of IO.
Trigger module 102, for triggering the operation pre-reading the reading data indicated with this order IO order.
Pre-read through model 103, for performing the operation of pre-reads data according to instruction, wherein built-inly pre-reads algorithm.
Store rear end 104, for reading data by the memory interface between storage array 105 from storage array 105.This memory interface not only provides the interface reading IO, also provides inquiry rear end to read the interface of IO pressure.
Storage array 105, for storing data.
Each module can be independent or in the apparatus integrated above.
Refer to Fig. 2, Fig. 2 reads the realization flow schematic diagram of the method for IO for the concurrent order of process that first embodiment of the invention provides, mainly comprises the following steps S201 to step S205:
S201, reception adjustment order are read the instruction that first of IO pre-reads depth parameter, and are carried out parameter configuration according to this instruction;
It can be that commissioning staff or user of service send that adjustment order reads the instruction that first of IO pre-reads depth parameter, and this instruction is read first of IO pre-read depth parameter for being adjusted order, carries out parameter configuration, the parameter after according to configuration is pre-read according to this instruction.
S202, reception order read the instruction of IO, and this order are read IO and join affiliated order and read IO queue;
S203, to judge in queue whether the quantity that order reads IO is greater than preset target quantity;
The quantity sequentially reading IO in a queue is greater than preset target quantity, is trigger the trigger condition pre-reading thread.
S204, if so, then pre-read state parameter according to current, what pre-read that depth parameter reads IO with adjustment order by dynamic conditioning second pre-reads the degree of depth;
If this order is read in the queue at IO place, whether the quantity that order reads IO is greater than this preset target quantity, then trigger pre-reading thread, adjustment pre-reads the degree of depth, particularly, pre-reads state parameter according to current, pre-read depth parameter by dynamic conditioning second, what adjust that order reads IO pre-reads the degree of depth.Pre-read state parameter display to pre-read the degree of depth can also increase if current, then perform step 205 and read data according to the new degree of depth that pre-reads, pre-read state parameter display to pre-read the degree of depth arrive the limit if current, increase then influential system overall operation situation again, such as, the order that impact execution main frame sends reads the reaction velocity of IO instruction, then do not pre-read degree of depth adjustment to current.
S205, read IO according to the order after adjustment pre-read the degree of depth, call rear end memory interface and read I/O data from storage array.
The embodiment of the present invention, pre-reads degree of depth correlation parameter by adjustment, and what adjust that order reads IO pre-reads the degree of depth, improves efficiency and ability that concurrent processing multichannel order reads IO.
Refer to Fig. 3, Fig. 3 reads the realization flow schematic diagram of the method for IO for the concurrent order of process that second embodiment of the invention provides, mainly comprises the following steps S301 to step S307:
S301, reception adjustment order are read the instruction that first of IO pre-reads depth parameter, and are carried out parameter configuration according to this instruction;
This order is read first of IO and is pre-read depth parameter and at least comprise following a kind of parameter:
Order read the best of IO pre-read length (perfect_pf_size), the pre-reading length (yield_pf_size), pre-read length (normal_pf_size) normally of sleep, order read IO thread and allow to run quantity (pf_busy_thread) and order reads the number of bursts (triger) of IO.
Particularly, best length, the pre-reading length and pre-read length normally and can directly adjust the degree of depth pre-read of sleep is pre-read by adjusting.Read IO thread by adjustment order and allow to run the ability that quantity adjustable pre-reads thread access back end module simultaneously.By adjustment order read IO destination number adjustment order read IO while number of bursts.
Be configured according to the parameter in this instruction, pre-read through model is pre-read according to the parameter after configuration.
S302, reception order read the instruction of IO, and whether judge that this order reads IO is that new order reads IO;
Store front end receiver reads IO instruction to order, resolve IO correlation parameter in this instruction, call PF_CACHEadd_fe function and pre-read to trigger.
First check that this order reads the legitimacy of IO, namely check this order read the start address of IO and length whether legal, whether if legal, then judging that this order reads IO is that new order reads IO.
The relevant information that order reads IO leaves in following array:
Pf_Result.CacheNstoreThreadData[PF_RESULT_NUM]
By following operation judges, whether it is new order IO, if condition does not below meet, is then new order IO:
for(pf_rlt_index=0;pf_rlt_index<PF_RESULT_NUM;pf_rlt_index++)
{
if((Pf_Result.CacheNstoreThreadData[pf_rlt_index].io_start+
Pf_Result.CacheNstoreThreadData[pf_rlt_index].io_len)==start)
{
..................................................................
... ... relevant pre-read operation ... ... ... ... ....
...................................................................
}
If so, then step S303 is performed; If not, then step 304 is performed.
S303, to read IO for this order and create new order and read IO queue;
If new order reads IO, be then the queue that its establishment is new, in the new queue created, only have this order to read IO.
S304, this order read IO and add order belonging to it and read IO queue;
Read IO if not new order, then added order belonging to it and read IO queue.
S305, to judge in queue whether the quantity that order reads IO is greater than preset target quantity;
When this order read IO join affiliated order IO queue time, the nseq value in Pf_Result.CacheNstoreThreadData [pf_rlt_index] array correspondingly increases.
To judge in queue whether the quantity that order reads IO is greater than preset target quantity, if so, then pre-reads trigger condition and sets up, this trigger condition namely:
if(Pf_Result.CacheNstoreThreadData[pf_rlt_index].nseq>Pf_Result.triger)
S306, if so, then pre-read state parameter according to current, what pre-read that depth parameter reads IO with adjustment order by dynamic conditioning second pre-reads the degree of depth;
When whether the quantity that order in queue reads IO is greater than preset target quantity, pre-reads state parameter, pre-read depth parameter by dynamic conditioning second according to current, what adjust that order reads IO pre-reads the degree of depth.Wherein, this current state parameter that pre-reads comprises: currently pre-read progress, pre-read number of threads, rear end stores pressure and free memory size.
Particularly, when the queue first time that an order reads IO is triggered, it pre-reads the degree of depth can add that an adjustable value is to ensure to pre-read the speed that can meet main frame IO.When the queue that an order reads IO is non-be triggered first time, it pre-reads the degree of depth and mainly adjusts according to the parameter in CacheNstoreResult_tPf_Result.
The data structure of CacheNstoreResult_tPf_Result is as follows:
structCacheNstoreThread
{
Intrunning; / * pre-read thread whether run */
Intnseq; / * order IO number */
Intactive; / * whether state of activation */
CacheWord_tpf_start; / * pre-read the address * of beginning/
CacheWord_tpf_len; / * need the length * that pre-reads/
CacheWord_tpf_actual_len; The length * that/* is actual to be pre-read/
CacheWord_tpf_end; / * pre-read the address * of end/
CacheWord_tio_start; The address * that this order IO of/* starts/
CacheWord_tio_len; / * this order IO length */
K9timeval_tltime; The time * that this order IO of/* triggers for the last time/
CacheWord_tstripe_size_blks; The stripe size * of/* rear end/
CacheWord_talign_perfect_pf_size; / * align with rear end best pre-read length */
S_crange_t*rng_v; / * store rear end data structure */
Intpid; / * pre-read thread pid */
K9semaphore_twakeup; The semaphore * that/* triggers/
};
typedefstructCacheNstoreThreadCacheNstoreThread_t;
structCacheNstoreResult
{
K9semaphore_tSemThread; The guard signal amount * of/* order IO thread/
K9timeval_texpire; / * order IO time-out time */
Inttriger; / * order IO triggering number */
Intpf_busy_thread; / * order IO thread permission operation number */
Intpf_debug; / * pre-read the debug switch * of algorithm/
CacheWord_tperfect_pf_size; / * the best pre-read length */
CacheWord_tyield_pf_size; / * sleep pre-read length */
CacheWord_tnormal_pf_size; / * pre-read normally length */
CacheNstoreThread_tCacheNstoreThreadData [PF_RESULT_NUM]; / * order IO queue */
};
Further, this second pre-reads depth parameter and at least comprises following a kind of parameter:
The address (io_start) sequentially read the address (pf_start) pre-reading beginning of IO, needing the length (pf_len), the sequentially IO that pre-read to start and the length (io_len) of order IO.These four parameters all belong to the parameter in CacheNstoreResult_tPf_Result.
S307, read IO according to the order after adjustment pre-read the degree of depth, call rear end memory interface and read I/O data from storage array.
That reads IO according to the order after adjustment pre-reads the degree of depth, calls rear end memory interface and read I/O data from storage array.
Further, after reading I/O data, currently state parameter is pre-read according to this, namely, according to currently pre-reading progress, pre-read number of threads, rear end stores pressure and free memory size, judge whether to continue to pre-read, if, then by adjustment, this second pre-reads parameter, one or more in the parameters such as namely adjustment order reads the address pre-reading beginning of IO, the length of the length needing to pre-read, address that order IO starts and order IO, simultaneously optimal case adjusts this four parameters, pre-read the degree of depth with adjustment, pre-read according to the degree of depth that pre-reads after adjustment.
The embodiment of the present invention, pre-reads degree of depth correlation parameter by adjustment, and what adjust that order reads IO pre-reads the degree of depth, improves efficiency and ability that concurrent processing multichannel order reads IO.
Refer to Fig. 4, Fig. 4 is the structural representation that the concurrent order of process that third embodiment of the invention provides reads the device of IO, for convenience of explanation, illustrate only the part relevant to the embodiment of the present invention.The device of Fig. 4 example can be the executive agent that the concurrent order of the aforementioned process provided embodiment illustrated in fig. 2 reads the method for IO.The concurrent order of process of Fig. 4 example reads the device of IO, mainly comprises:
Receiver module 401, configuration module 402, add module 403, judge module 404, adjusting module 405 and read module 406.
Each functional module is described in detail as follows above:
Wherein, receiver module 401, reads for receiving adjustment order the instruction that first of IO pre-reads depth parameter;
Configuration module 402, for carrying out parameter configuration according to this instruction;
Receiver module 401, also reads the instruction of IO for receiving order;
Add module 403, join affiliated order read IO queue for this order being read IO;
Judge module 404, for judging whether the quantity sequentially reading IO in queue is greater than preset target quantity;
Adjusting module 405, for if so, then pre-reading state parameter according to current, what pre-read that depth parameter reads IO with adjustment order by dynamic conditioning second pre-reads the degree of depth;
Read module 406, pre-reads the degree of depth for what read IO according to the order after adjustment, calls rear end memory interface and read I/O data from storage array.
The details that the present embodiment is not most, refers to earlier figures 1 to description embodiment illustrated in fig. 3, repeats no more herein.
It should be noted that, the concurrent order of process of above Fig. 4 example is read in the embodiment of the device of IO, the division of each functional module only illustrates, can be as required in practical application, the facility of the such as configuration requirement of corresponding hardware or the realization of software is considered, and above-mentioned functions distribution is completed by different functional modules, the inner structure reading the device of IO by the concurrent order of process is divided into different functional modules, to complete all or part of function described above.And in practical application, the corresponding functional module in the present embodiment can be by corresponding hardware implementing, also can perform corresponding software by corresponding hardware and complete; Each embodiment that this instructions provides all can apply foregoing description principle.
The embodiment of the present invention, the embodiment of the present invention, pre-reads degree of depth correlation parameter by adjustment, and what adjust that order reads IO pre-reads the degree of depth, improves efficiency and ability that concurrent processing multichannel order reads IO.
Refer to Fig. 5, Fig. 5 is the structural representation that the concurrent order of process that fourth embodiment of the invention provides reads the device of IO, and this device mainly comprises:
Receiver module 501, configuration module 502, add module 503, judge module 504, adjusting module 505, read module 506 and creation module 507.
Each functional module is described in detail as follows above:
Wherein, receiver module 501, reads for receiving adjustment order the instruction that first of IO pre-reads depth parameter;
This first pre-reads depth parameter and at least comprises following a kind of parameter:
Order read the best of IO pre-read length, the pre-reading length, pre-read length normally of sleep, order read IO thread and allow to run quantity and order reads the number of bursts of IO.
Configuration module 502, for carrying out parameter configuration according to this instruction;
Receiver module 501, also reads the instruction of IO for receiving order;
Add module 503, join affiliated order read IO queue for this order being read IO;
Judge module 504, for judging whether the quantity sequentially reading IO in queue is greater than preset target quantity;
Adjusting module 505, for if so, then pre-reading state parameter according to current, what pre-read that depth parameter reads IO with adjustment order by dynamic conditioning second pre-reads the degree of depth;
This current state parameter that pre-reads comprises: currently pre-read progress, pre-read number of threads, rear end stores pressure and free memory size.
This second pre-reads depth parameter and at least comprises following a kind of parameter:
The address sequentially read the address pre-reading beginning of IO, needing the length, the sequentially IO that pre-read to start and the length of order IO.
Read module 506, pre-reads the degree of depth for what read IO according to the order after adjustment, calls rear end memory interface and read I/O data from storage array.
Further, whether judge module 504 is also that new order reads IO for judging that this order reads IO;
This device can further include:
Creation module 507, if judging that this order reads IO for judge module 504 is that new order reads IO, then reads IO for this order and creates new order and read IO queue;
Add module 503, if also judging that this order reads IO for judge module 504 is not that new order reads IO, then this order is read IO and to add belonging to it order and read IO queue.
The details that the present embodiment is not most, refers to earlier figures 1 to description embodiment illustrated in fig. 4, repeats no more herein.
The embodiment of the present invention, the embodiment of the present invention, pre-reads degree of depth correlation parameter by adjustment, and what adjust that order reads IO pre-reads the degree of depth, improves efficiency and ability that concurrent processing multichannel order reads IO.
In several embodiments that the application provides, should be understood that disclosed apparatus and method can realize by another way.Such as, device embodiment described above is only schematic, such as, the division of described module, be only a kind of logic function to divide, actual can have other dividing mode when realizing, such as multiple module or assembly can in conjunction with or another system can be integrated into, or some features can be ignored, or do not perform.Another point, shown or discussed coupling each other or direct-coupling or communication connection can be by some interfaces, and the indirect coupling of device or module or communication connection can be electrical, machinery or other form.
The described module illustrated as separating component can or may not be physically separates, and the parts as module display can be or may not be physical module, namely can be positioned at a place, or also can be distributed on multiple mixed-media network modules mixed-media.Some or all of module wherein can be selected according to the actual needs to realize the object of the present embodiment scheme.
In addition, each functional module in each embodiment of the present invention can be integrated in a processing module, also can be that the independent physics of modules exists, also can two or more module integrations in a module.Above-mentioned integrated module both can adopt the form of hardware to realize, and the form of software function module also can be adopted to realize.
If described integrated module using the form of software function module realize and as independently production marketing or use time, can be stored in a computer read/write memory medium.Based on such understanding, the part that technical scheme of the present invention contributes to prior art in essence in other words or all or part of of this technical scheme can embody with the form of software product, this computer software product is stored in a storage medium, comprising some instructions in order to make a computer equipment (can be personal computer, server, or the network equipment etc.) perform all or part of step of method described in each embodiment of the present invention.And aforesaid storage medium comprises: USB flash disk, portable hard drive, ROM (read-only memory) (ROM, Read-OnlyMemory), random access memory (RAM, RandomAccessMemory), magnetic disc or CD etc. various can be program code stored medium.
It should be noted that, for aforesaid each embodiment of the method, in order to easy description, therefore it is all expressed as a series of combination of actions, but those skilled in the art should know, the present invention is not by the restriction of described sequence of movement, because according to the present invention, some step can adopt other order or carry out simultaneously.Secondly, those skilled in the art also should know, the embodiment described in instructions all belongs to preferred embodiment, and involved action and module might not be all that the present invention is necessary.
In the above-described embodiments, the description of each embodiment is all emphasized particularly on different fields, in certain embodiment, there is no the part described in detail, can see the associated description of other embodiment.
More than for a kind ofly processing concurrent order to provided by the present invention and read the method for IO and the description of device, for one of ordinary skill in the art, according to the thought of the embodiment of the present invention, all will change in specific embodiments and applications, to sum up, this description should not be construed as limitation of the present invention.

Claims (10)

1. process the method that concurrent order reads IO, it is characterized in that, described method comprises:
Receive adjustment order and read the instruction that first of IO pre-reads depth parameter, and carry out parameter configuration according to described instruction;
Reception order reads the instruction of IO, and described order is read IO and join affiliated order and read IO queue;
Judge whether the quantity sequentially reading IO in queue is greater than preset target quantity;
If so, then pre-read state parameter according to current, what pre-read that depth parameter reads IO with adjustment order by dynamic conditioning second pre-reads the degree of depth;
That reads IO according to the order after adjustment pre-reads the degree of depth, calls rear end memory interface and read I/O data from storage array.
2. method according to claim 1, is characterized in that, described first pre-reads depth parameter at least comprises following a kind of parameter:
Order read the best of IO pre-read length, the pre-reading length, pre-read length normally of sleep, order read IO thread and allow to run quantity and order reads the number of bursts of IO.
3. method according to claim 1 and 2, is characterized in that, described second pre-reads depth parameter at least comprises following a kind of parameter:
The address sequentially read the address pre-reading beginning of IO, needing the length, the sequentially IO that pre-read to start and the length of order IO.
4. method according to claim 3, is characterized in that, the described current state parameter that pre-reads comprises: currently pre-read progress, pre-read number of threads, rear end stores pressure and free memory size.
5. method according to claim 4, is characterized in that, the described IO that order read joins corresponding order and reads IO queue and comprise:
Whether judge that described order reads IO is that new order reads IO;
If so, then read IO for described order to create new order and read IO queue, if not, then described order is read IO and add order belonging to it and read IO queue.
6. process the device that concurrent order reads IO, it is characterized in that, described device comprises:
Receiver module, reads for receiving adjustment order the instruction that first of IO pre-reads depth parameter;
Configuration module, for carrying out parameter configuration according to described instruction;
Described receiver module, also reads the instruction of IO for receiving order;
Add module, join affiliated order read IO queue for described order being read IO;
Judge module, for judging whether the quantity sequentially reading IO in queue is greater than preset target quantity;
Adjusting module, for if so, then pre-reading state parameter according to current, what pre-read that depth parameter reads IO with adjustment order by dynamic conditioning second pre-reads the degree of depth;
Read module, pre-reads the degree of depth for what read IO according to the order after adjustment, calls rear end memory interface and read I/O data from storage array.
7. device according to claim 6, is characterized in that, described first pre-reads depth parameter at least comprises following a kind of parameter:
Order read the best of IO pre-read length, the pre-reading length, pre-read length normally of sleep, order read IO thread and allow to run quantity and order reads the number of bursts of IO.
8. the device according to claim 6 or 7, is characterized in that, described second pre-reads depth parameter at least comprises following a kind of parameter:
The address sequentially read the address pre-reading beginning of IO, needing the length, the sequentially IO that pre-read to start and the length of order IO.
9. device according to claim 8, is characterized in that, the described current state parameter that pre-reads comprises: currently pre-read progress, pre-read number of threads, rear end stores pressure and free memory size.
10. device according to claim 9, is characterized in that,
Whether described judge module is also that new order reads IO for judging that described order reads IO;
Described device also comprises:
Creation module, if judging that described order reads IO for described judge module is that new order reads IO, then reads IO for described order and creates new order and read IO queue;
Describedly add module, if also judging that described order reads IO for described judge module is not that new order reads IO, then described order is read IO and add order belonging to it and read IO queue.
CN201510816137.9A 2015-11-20 2015-11-20 A kind of concurrent sequence of processing reads the method and device of IO Active CN105487987B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510816137.9A CN105487987B (en) 2015-11-20 2015-11-20 A kind of concurrent sequence of processing reads the method and device of IO

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510816137.9A CN105487987B (en) 2015-11-20 2015-11-20 A kind of concurrent sequence of processing reads the method and device of IO

Publications (2)

Publication Number Publication Date
CN105487987A true CN105487987A (en) 2016-04-13
CN105487987B CN105487987B (en) 2018-09-11

Family

ID=55674976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510816137.9A Active CN105487987B (en) 2015-11-20 2015-11-20 A kind of concurrent sequence of processing reads the method and device of IO

Country Status (1)

Country Link
CN (1) CN105487987B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293917A (en) * 2016-08-09 2017-01-04 浪潮(北京)电子信息产业有限公司 The optimization method of a kind of I O scheduling cfq algorithm and system
CN106681661A (en) * 2016-12-23 2017-05-17 郑州云海信息技术有限公司 Read-write scheduling method and device in solid state disk
CN107480150A (en) * 2016-06-07 2017-12-15 阿里巴巴集团控股有限公司 A kind of file loading method and device
CN109976679A (en) * 2019-04-11 2019-07-05 苏州浪潮智能科技有限公司 A kind of distributed type assemblies volume pre-head method, system, equipment and computer media
WO2019232923A1 (en) * 2018-06-04 2019-12-12 平安科技(深圳)有限公司 Io hang recognition method and apparatus, computer device, and storage medium
CN111930513A (en) * 2020-08-31 2020-11-13 Oppo(重庆)智能科技有限公司 File pre-reading adjusting method and device, electronic equipment and storage medium
CN112084121A (en) * 2020-09-11 2020-12-15 深圳佰维存储科技股份有限公司 Hard disk pre-reading method and device, computer readable storage medium and electronic equipment
CN115328564A (en) * 2022-10-17 2022-11-11 北京卡普拉科技有限公司 Asynchronous input output thread processor resource allocation method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149720A (en) * 1990-10-15 1992-05-22 Shikoku Nippon Denki Software Kk Magnetic tape controller
CN1945551A (en) * 2006-11-03 2007-04-11 中兴通讯股份有限公司 Data pre-reader and its data reading method
CN101000589A (en) * 2006-12-22 2007-07-18 清华大学 Adaptive external storage IO performance optimization method
CN101788887A (en) * 2010-02-05 2010-07-28 浪潮(北京)电子信息产业有限公司 System and method of I/O cache stream based on database in disk array
CN102023931A (en) * 2010-12-17 2011-04-20 曙光信息产业(北京)有限公司 Self-adaption cache pre-fetching method
CN102073463A (en) * 2010-12-28 2011-05-25 创新科存储技术有限公司 Flow prediction method and device, and prereading control method and device
CN102567548A (en) * 2012-02-21 2012-07-11 上海交通大学 Streaming data pre-reading method for network file system
CN104156321A (en) * 2014-07-23 2014-11-19 华为技术有限公司 Data pre-fetching method and device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149720A (en) * 1990-10-15 1992-05-22 Shikoku Nippon Denki Software Kk Magnetic tape controller
CN1945551A (en) * 2006-11-03 2007-04-11 中兴通讯股份有限公司 Data pre-reader and its data reading method
CN101000589A (en) * 2006-12-22 2007-07-18 清华大学 Adaptive external storage IO performance optimization method
CN101788887A (en) * 2010-02-05 2010-07-28 浪潮(北京)电子信息产业有限公司 System and method of I/O cache stream based on database in disk array
CN102023931A (en) * 2010-12-17 2011-04-20 曙光信息产业(北京)有限公司 Self-adaption cache pre-fetching method
CN102073463A (en) * 2010-12-28 2011-05-25 创新科存储技术有限公司 Flow prediction method and device, and prereading control method and device
CN102567548A (en) * 2012-02-21 2012-07-11 上海交通大学 Streaming data pre-reading method for network file system
CN104156321A (en) * 2014-07-23 2014-11-19 华为技术有限公司 Data pre-fetching method and device

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480150B (en) * 2016-06-07 2020-12-08 阿里巴巴集团控股有限公司 File loading method and device
CN107480150A (en) * 2016-06-07 2017-12-15 阿里巴巴集团控股有限公司 A kind of file loading method and device
CN106293917A (en) * 2016-08-09 2017-01-04 浪潮(北京)电子信息产业有限公司 The optimization method of a kind of I O scheduling cfq algorithm and system
CN106681661A (en) * 2016-12-23 2017-05-17 郑州云海信息技术有限公司 Read-write scheduling method and device in solid state disk
CN106681661B (en) * 2016-12-23 2020-02-07 郑州云海信息技术有限公司 Read-write scheduling method and device in solid state disk
WO2019232923A1 (en) * 2018-06-04 2019-12-12 平安科技(深圳)有限公司 Io hang recognition method and apparatus, computer device, and storage medium
CN109976679A (en) * 2019-04-11 2019-07-05 苏州浪潮智能科技有限公司 A kind of distributed type assemblies volume pre-head method, system, equipment and computer media
CN111930513A (en) * 2020-08-31 2020-11-13 Oppo(重庆)智能科技有限公司 File pre-reading adjusting method and device, electronic equipment and storage medium
CN111930513B (en) * 2020-08-31 2023-02-28 Oppo(重庆)智能科技有限公司 File pre-reading adjusting method and device, electronic equipment and storage medium
CN112084121A (en) * 2020-09-11 2020-12-15 深圳佰维存储科技股份有限公司 Hard disk pre-reading method and device, computer readable storage medium and electronic equipment
CN112084121B (en) * 2020-09-11 2024-06-11 深圳佰维存储科技股份有限公司 Hard disk pre-reading method and device, computer readable storage medium and electronic equipment
CN115328564A (en) * 2022-10-17 2022-11-11 北京卡普拉科技有限公司 Asynchronous input output thread processor resource allocation method and device
CN115328564B (en) * 2022-10-17 2023-04-25 北京卡普拉科技有限公司 Asynchronous input/output thread processor resource allocation method and device

Also Published As

Publication number Publication date
CN105487987B (en) 2018-09-11

Similar Documents

Publication Publication Date Title
CN105487987A (en) Method and device for processing concurrent sequential reading IO (Input/Output)
CN107203337B (en) User configurable passive background operation
US20220197365A1 (en) Apparatuses and methods of entering unselected memories into a different power mode during multi-memory operation
CN103294530A (en) Terminal equipment and application program management method thereof
CN104216753A (en) Method for rapidly starting application program for terminal, and terminal
CN106020428A (en) Screen locking method and terminal
CN104699408A (en) Operation method and device of touch screen and touch device
CN104965798A (en) Data processing method, related device and data processing system
CN102968313B (en) The generation method and terminal of a kind of desktop widget
CN109815542B (en) Fracturing sand plugging identification method and device, storage medium and electronic equipment
CN102393838B (en) Data processing method and device, PCI-E (peripheral component interface-express) bus system, and server
CN105100238A (en) Attendance registration method and apparatus
CN107222618A (en) Terminal screenshotss method and device
CN105242955A (en) Virtual machine disk input and output scheduling method and system
CN103645935A (en) Device and method for adjusting JVM (java virtual machine) parameters in domestic environment
US9665459B2 (en) Providing a user interface to enable selection of storage systems, components within storage systems and common performance metrics for generating performance metric reports across storage systems and components
CN105373335B (en) A kind of playlist operating method and mobile terminal
CN111210863A (en) Method, device and equipment for testing embedded memory and computer storage medium
CN107264442A (en) Wireless automobile intelligence DAS (Driver Assistant System)
CN105446601A (en) Playlist management method and mobile terminal
CN102638403B (en) Method and device for processing messages
CN101971562B (en) Method, device and system for controlling automatic running process performance
CN113536716A (en) SOC system verification method and device, computer equipment and readable storage medium
CN103064638B (en) A kind of method, Apparatus and system processing data
US20150178186A1 (en) Method and apparatus for swapping in data to memory

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