[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN100405791C - Flow processing method for network storage system - Google Patents

Flow processing method for network storage system Download PDF

Info

Publication number
CN100405791C
CN100405791C CNB2004100614014A CN200410061401A CN100405791C CN 100405791 C CN100405791 C CN 100405791C CN B2004100614014 A CNB2004100614014 A CN B2004100614014A CN 200410061401 A CN200410061401 A CN 200410061401A CN 100405791 C CN100405791 C CN 100405791C
Authority
CN
China
Prior art keywords
request
user
flowing water
water section
data
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.)
Expired - Fee Related
Application number
CNB2004100614014A
Other languages
Chinese (zh)
Other versions
CN1633121A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CNB2004100614014A priority Critical patent/CN100405791C/en
Publication of CN1633121A publication Critical patent/CN1633121A/en
Application granted granted Critical
Publication of CN100405791C publication Critical patent/CN100405791C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention provides a flow processing method for a network storage system, which belongs to the storage of information and particularly relates to the data transmission of the network storage system. The purpose of the present invention is to raise the performance of the storage system; the present invention starts off the structure and the data processing strategy of the network storage system, applies the flow-line technology to the network storage system on the basis of understanding the essence of the flow-line technology, and thereby, can be widely applied to various network storage systems. The present invention comprises the following steps in sequence: A. a network interface receives a data request from a user and judges what type the data request belongs to; B. if the data request is a read request, goes to step C, and if the data request is a write request, goes to step D; C. the data request is added into a read-command processing queue, waiting for being flow-processed; D. the data request is added into a write-command processing queue, waiting for being flow-processed. The flow processing has two modes which are fixed flow processing and flexible flow processing. As is indicated by experiment data, the average band width of service data of the network disk array is obviously raised in company with the increase of the number of steps.

Description

The stream treatment method of network store system
Technical field:
The invention belongs to the storage of information, particularly the transfer of data of network store system.
Background technology:
In order to improve the performance of storage system, numerous scholars stress the research of concurrency, extensibility and the fault-tolerant processing of storage system.Because the important value and the networks development of information cause the demand to storage system independence and sharing, people transfer the research of the network memory structure of concern memory node outside, thereby have started evolution from inside to outside.Network storage technology is the hot issue of current information technical field research.Storage area network (storage area network, SAN), attached net storage (network attached storage, NAS), net-raid (network attachedRAID) etc. is exactly representative wherein.Network store system is data-centered common data platform, can also carry out intellectuality to data and handle simultaneously for the multi-user provides service.Improving the performance of network store system can start with from the following aspects: the one, improve storage device performance, and the 2nd, improve the storage networking bandwidth, the 3rd, optimize network store system structure and agreement, the 4th, study better data processing policy.
Pipelining applies to CPU inside at first, and the arithmetic logic unit of processor is carried out segmentation, so that carry out water operation for various data types, this streamline is called the component-level streamline.Another kind of streamline is called the processor level streamline, and it is that the process of interpretative order is handled according to pipeline mode, and the main sequential that processor is handled is exactly the process of interpretative order.This process is divided into the experimental process process, organizes, just can make processor explain many instructions overlappingly according to pipeline mode.Also have a kind of streamline to be called the interprocessor streamline, be macropipeline again.It is handled same data flow serially by two or more processors, and each processor accomplishes a task.
Along with improving constantly of single storage device performance, regain the research of storage system internal structure again, storage I/O stream treatment technology proposes under this thought is guided.
Summary of the invention:
The present invention proposes the stream treatment method of two kinds of network store systems, its purpose all is to improve performance of storage system, from network store system structure and data processing policy, on the basis of understanding pipelining essence, pipelining is applied in the middle of the network store system, and it can be widely used in the diverse network storage system.
The stream treatment method of a kind of network store system of the present invention is called the fixed flow method for treating water, and order comprises the following steps:
(1) network port receives user data requests, judges this request of data type;
(2) if read request is carried out step (3), if write request is changeed step (4);
(3) this request is added the read command processing queue, waits for stream treatment:
Stream treatment is made up of two flowing water sections, and the order of a, b step is carried out and formed first flowing water section, and the order of c, d step is carried out and formed second flowing water section; Second flowing water section of first flowing water section of active user's request and last user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, synchronously once, after the other side's flowing water section that the flowing water section of promptly finishing earlier must walk abreast is by the time finished, begin to start follow-up executed in parallel step more simultaneously: first flowing water section of second flowing water section of active user's request and next user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, must be subsynchronous again ... so order is carried out; Whenever execute a read command, be that the d step finishes, return result by the network port; Wherein a step representative of consumer request early stage treatment step, the b step represent bottom I/O scheduling step, c step representative data copy step, the d step is represented and is returned user's request results step;
(4) this request is added the write order processing queue, waits for stream treatment:
Stream treatment is made up of two flowing water sections, and the order of a, e step is carried out and formed first flowing water section; F, the order of d step is carried out and is formed second flowing water section, second flowing water section of first flowing water section of active user's request and last user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, synchronously once, after the flowing water section of promptly finishing earlier waits until that parallel the other side's flowing water section is finished, start follow-up executed in parallel step more simultaneously: first flowing water section of second flowing water section of active user's request and next user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, must be subsynchronous again ... so order is carried out; Whenever execute a write order, be that the d step finishes, return result by the network port;
Wherein a step representative of consumer request early stage treatment step, e step representative data copy step; The f step is represented bottom I/O scheduling step, and user's request results step is returned in the representative of d step.
The stream treatment method of described network store system is characterized in that:
When handling read request,
Described a step is asked the treatment step in early stage for the user, active user's request, be added into user I/O task chain through preliminary treatment, control program extracts order from user I/O task chain then, after Cache processing, command queuing, order resolution process, form the subcommand on a plurality of disks, and be added into the subcommand chain of corresponding disk string;
Described b step is bottom I/O scheduling step, and bottom I/O control program carries out parallel I/O scheduling by carrying out the subcommand of each disk string, reading of data from the disk;
Data that described c step is read request copy step, according to the piecemeal situation and the desired deposit data of the Network Transmission position of data, to the data that read from disk merge, arrangement, copy function;
Described d step be read request return user's request results step, return result by the network port, user's request is so far finished;
When processing write requests,
Described a step is asked the treatment step in early stage for the user, and active user's request is added into user I/O task chain through preliminary treatment, and control program extracts order from user I/O task chain then, through Cache processing, command queuing, order resolution process;
Data that described e step is write request copy step is decomposed write data in the piecemeal situation according to data, after the merging, copy function, is formed the subcommand on a plurality of disks, is added into the subcommand chain of corresponding disk string;
The bottom I/O scheduling step that described f step is a write request by carrying out the subcommand of each disk string, is carried out parallel I/O scheduling, to the disk write data;
Described d step be write request return user's request results step, return processing result information by the network port, user's request is so far finished.
The stream treatment method of another network store system of the present invention is called flexible stream treatment method, and order comprises the following steps:
(1) network port receives user data requests, judges this request of data type;
(2) if read request is carried out step (3), if write request is changeed step (4);
(3) this request is added the read command processing queue, waits for stream treatment:
Fluvial processes is made up of two flowing water sections, and the order of a, b step or b step or a, b, c step or b, c step is carried out and formed first flowing water section; C, d step or d step or d step and next user again ask a step or c, d step and next user again to ask the order of a step to be carried out to form second flowing water section, for any one user's request, finish the first flowing water section and the second flowing water section of this user's request and must carry out a, b, four steps of c, d in proper order; Second flowing water section of first flowing water section of active user's request and last user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, synchronously once, after the other side's flowing water section that the flowing water section of promptly finishing earlier must walk abreast is by the time finished, begin to start follow-up executed in parallel step more simultaneously: first flowing water section of second flowing water section of active user's request and next user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, must be subsynchronous again ... so order is carried out; Whenever execute a read command, be that the d step finishes, return result by the network port; Wherein a step representative of consumer request early stage treatment step, on behalf of bottom I/O, the b step dispatch step; C step representative data copy step, user's request results step is returned in the representative of d step;
(4) this request is added the write order processing queue, waits for stream treatment:
Fluvial processes is made up of two flowing water sections, and a, e step or a step or a last user ask d step and a step or a last user to ask the order of d step and a, e step to be carried out to form first flowing water section; F, d step or f step or a last user ask e step and f step or a last user to ask the order of e step and f, d step to be carried out to form second flowing water section, for any one user's request, finish the first flowing water section and the second flowing water section of this user's request and must carry out a, d, four steps of e, f in proper order; Second flowing water section of first flowing water section of active user's request and last user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, synchronously once, after the other side's flowing water section that the flowing water section of promptly finishing earlier must walk abreast is by the time finished, begin to start follow-up executed in parallel step more simultaneously: first flowing water section of second flowing water section of active user's request and next user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, must be subsynchronous again ... so order is carried out; Whenever execute a write order, be that the d step finishes, return result by the network port; Wherein a step representative of consumer request early stage treatment step, e step representative data copy step; The f step is represented bottom I/O scheduling step, and user's request results step is returned in the representative of d step.
The stream treatment method of described network store system is characterized in that:
When handling read request,
Described a step is asked the treatment step in early stage for the user, active user's request, be added into user I/O task chain through preliminary treatment, control program extracts order from user I/O task chain then, after Cache processing, command queuing, order resolution process, form the subcommand on a plurality of disks, and be added into the subcommand chain of corresponding disk string;
Described b step is bottom I/O scheduling step, and bottom I/O control program carries out parallel I/O scheduling by carrying out the subcommand of each disk string, reading of data from the disk;
Data that described c step is read request copy step, according to the piecemeal situation and the desired deposit data of the Network Transmission position of data, to the data that read from disk merge, arrangement, copy function;
Described d step be read request return user's request results step, return result by the network port, user's request is so far finished;
When processing write requests,
Described a step is asked the treatment step in early stage for the user, and active user's request is added into user I/O task chain through preliminary treatment, and control program extracts order from user I/O task chain then, through Cache processing, command queuing, order resolution process;
Data that described e step is write request copy step is decomposed write data in the piecemeal situation according to data, after the merging, copy function, is formed the subcommand on a plurality of disks, is added into the subcommand chain of corresponding disk string;
Described f step by carrying out the subcommand of each disk string, is carried out parallel I/O scheduling, to the disk write data for bottom I/O scheduling step;
Described d step be write request return user's request results step, return processing result information by the network port, user's request is so far finished.
Below foundation that the present invention is achieved analyze, realize that in disk array storage system two basic preconditions of pile line operation are:
1, before previous I/O order does not finish fully, should obtain next I/O order for information about;
2, different parts should be able to be operated simultaneously, and resource does not clash.
From the channel that receives, net-raid is different from general disk array, and the information that it is handled comprises two parts: the one, and by the scsi command that the main frame peripheral channel receives, another is the user data requests that receives by the network port.The scsi command of sending out the passage reception by main frame outward is divided into two types again according to its functional attributes, one type is and the relevant order of host file system management, comprises and obtains or revise bibliographic structure, file distribution information, file attribute information and the new file allocation space of literary composition etc.; Second type is the order relevant with storage device management work, comprises some scsi commands, as Test Unit Ready, and Mode Sense Capacity, Inquiry etc.Main frame can obtain the physical message of respective storage devices by the order of second type of transmission, changes some configuration parameter of memory device, and makes memory device be in the work ready state.The user data requests that receives by the network port generally includes read request and write request.
With the read request is example, and the user data requests that receives by the network port comprises the I/O mission bit stream, and its handling process as shown in Figure 1.After a user asks the network port of net-raid, be added into user I/O task chain through preliminary treatment.Control program extracts order from user I/O task chain then, after handling through Cache processing, command queuing, order decomposition etc., forms the subcommand on a plurality of disks, and is added into the subcommand chain of corresponding disk string.Bottom I/O control program carries out parallel I/O scheduling by carrying out the order of each disk string, access data from the disk.According to the piecemeal situation and the desired deposit data of the Network Transmission position of data, to the data that read from disk merge, operation such as arrangement, copy.Return result by the network port at last, user's request is so far finished.
From read request user processing of request flow process as can be seen, net-raid is handled a user and is asked mainly to be divided into five steps.Received user's request before this, bottom I/O scheduling is carried out in process user request then (comprising Cache scheduling, command queuing, order decomposition etc.) again, through the data copy stage, returns user's request results at last again.Receive user's request and take network interface card, pci bus, internal memory and cpu resource, process user request committed memory and cpu resource, bottom I/O scheduling takies pci bus, internal memory, disk drive card resource, data copy committed memory and cpu resource return user's request results committed memory and network interface card resource.According to the take situation of each step to resource, can obtain user's processing of request flow process and take the reservation table of functional part in the different periods, as shown in table 1.
Table 1 user request takies the reservation table of functional part
Figure C20041006140100161
In order to satisfy the basic premise condition that resource does not clash, reply uses the bandwidth of frequent memory part to give necessary consideration.Suppose to receive user's request stage and return user's request stage energy executed in parallel, then the peak data transfer rate because of network interface card is 12.5MB/S, requires memory bandwidth 25MB/S.At bottom I/O scheduling phase, if adopt the disk of two string SCSI-160 passages, peak data transfer rate is 160*2=320MB/S, requires memory bandwidth 320MB/S.In the process user request stage, if adopt the CPU of Pent ium3-800Mhz, its performance about about 300MIPS, according to 1 main memory of 10 machine instruction visits, then requires memory bandwidth 30MB/S greatly.Suppose to receive user's request, process user request, bottom I/O dispatch, return user's request results 4 stages can both concurrent working, then the bandwidth requirement sum to internal memory is 375MB/S.There are PC133, DDR, RAMBUS3 etc. in the main flow at present.Wherein, the peak data transfer rate of PC133 internal memory is 133*4=532 (MB/S), and the peak data transfer rate of DDR internal memory is 266*4=1064 (MB/S), and the peak data transfer rate of RAMBUS internal memory is 400*4=1600 (MB/S).Adopt any of these internal memories, all can satisfy the requirement of 4 stage concurrent workings.Therefore, in the flowing water scheduling, internal memory is conduct conflict parts not, and transparent to other parts.
Before finishing in the I/O order, obtain next I/O order in order to satisfy, and ready, tackle the time of delay in each stage and analyze, observe these whether suitable water operations of doing of delaying time.Below we consider the time-delay in each stage.
Receive the time-delay of user's request stage.User's raw requests is an object oriented file, and the server of process net-raid system has formed the address table of one group of description document data field to extraction, the arrangement of fileinfo.The data area of each address table correspondence is non-intersect and non-conterminous.The key data structure that user's request relates to is as follows:
TYPEDEF STRUCT
{ unsigned long total; The discrete data block counts that comprises in // user the request
Unsigned long op; // user request type (reading and writing)
Unsigned long flength; // user demand file length
} HEADER;
TYPEDEF STRUCT//file continuous data district description scheme
{ unsigned long blkbegin; // user demand file data initial address
Unsigned long blklength; // user demand file data length
} BLKCHAIN;
User's request is by above-mentioned HEADER; These two structures of BLKCHA[N are formed, and Fig. 2 is user's request data structure schematic diagram; Among the figure, arrow represents to point to the pointer of next data block, because the data in user's request are connected in series, so the expression of pointer can be implicit by the continuous mode in address.If user's request comprises 10 piece chain structures, the real data size of this user's request just is 164 bytes so.Consider that the size of user's request do not fix, suppose to adopt the kilomega network transmission, transmits a user and ask greatly about about 10us, heavier as if network load, then user's transmission delay of asking will increase.Consider the processing time of procotol again, the bar number of the C language statement of statistics network protocol process module is approximately about 200, and becoming machine code by 1: 10 ratiometric conversion is about 2000.If CPU adopts Pentium3-866Mhz, then 1ns exports a machine instruction, and carrying out 2000 machine codes needs about 2us.Consider that to sum up the time-delay that receives user's request stage is greatly about about 10us-20us.
The time-delay of process user request stage.The procedure quantity of statistical disposition user request module, a statement with the C language is a unit, greatly in 1000-2000 bar scope, become machine code about the 10000-20000 bar by 1: 10 ratiometric conversion, if CPU adopts Pentium3-866Mhz, carrying out 10000-20000 bar machine code needs about 10-20us.Then the time-delay of process user request stage is greatly about about 10us-20us.
The time-delay of bottom I/O scheduling phase.With request 64KB data instance, if bottom I/0 equipment adopts three string SCSI-160 disk parallel work-flows, actual average is counted the biography rate about 60MB/S, and then time-delay is approximately 1ms.If I/O equipment adopts single disc driver, press the adapter of SCSI, peak transmission rate is 80MB/S, and then average biography rate is about 35MB/S, and then time-delay is greatly about 2ms.Therefore the time-delay of bottom I/O scheduling phase is greatly about about 1000us-2000us.
The time-delay in data copy stage.Through test, adopt the CPU of PC133 internal memory and Pent ium3-866Mhz, the 1MB data move once in internal memory, need about time 6ms.Suppose to carry out secondary data copy, the 64KB data then need the 400us that delays time.If consider to adopt poly-technology and the VIA technology of loosing of bottom I/O, the data copy procedure will change to some extent, and contrast will be discussed later.Therefore, the time-delay in data copy stage is greatly about about 400us.
Return the time-delay in user's request results stage.Transmit the 64KB data, adopt kilomega network, as mentioned above, the protocol processes time is 2us, and the practical efficiency of the network bandwidth has only about 30% usually, and the time-delay of then transmitting data is approximately 1800us.Therefore return the time-delay in user's request results stage about 1800us.User's processing of request process time-delay quantification treatment, as shown in Figure 3.
Because the functional part that bottom I/O scheduling phase takies mainly is device channels driver card, pci bus, internal memory, returning user's request results stage mainly takies network interface card, internal memory, and at present the access speed of internal memory is enough supported the two concurrent working, thus bottom I/O scheduling phase with return user's request results stage can concurrent working.
With the time-delay in other stage by comparison, the time-delay that receives user's request stage and process user request stage is very little, therefore these two stages can be merged, the processing stage of being called the early stage of user's request.Consider that processing in early stage, bottom I/O scheduling, data that the user asks copy, return in user's request results four-stage, mainly be bottom I/O scheduling and return the time-delay in user's request results stage and accounted for most times, so can be divided into two flowing water sections to user's processing of request process, i.e. bottom I/O scheduling phase and return user's request results stage.If can make the bottom I/O scheduling phase of n+1 user's request and the overlapping execution of user's request results stage of returning of nth user's request, just can realize the stream treatment of a plurality of user's requests, as shown in Figure 4.
The time-delay of bottom I/O scheduling phase is between 1000us-2000us, and the time-delay of returning user's request results stage can't be affirmed in user request both sizes about 1800us.Therefore, in order to obtain best implementation effect, the processing stage of the user can being asked early stage and the data copy stage be assigned to neatly in two above-mentioned flowing water sections.
Write request processing procedure and read request are similar, and the user data requests that receives by the network port comprises I/O mission bit stream and write data.After a user asks the network port of net-raid, be added into user I/O task chain through preliminary treatment.Control program extracts order from user I/O task chain then, through processing such as Cache processing, command queuing, order decomposition, and according to the piecemeal situation of data to write data decompose, after the operations such as merging, copy, form the subcommand on a plurality of disks, be added into the subcommand chain of corresponding disk string.Bottom I/O control program carries out parallel I/O scheduling, to the disk write data by carrying out the order of each disk string.Return processing result information by the network port at last, user's request is so far finished.
From the handling process of user's write request as can be seen, net-raid is handled a user and is asked mainly to be divided into five steps, received user's request and data before this, process user request then (comprising Cache scheduling, command queuing, order decomposition etc.), carry out bottom I/O scheduling again, pass through the data copy transfer stage again, return the user at last and ask result.On each time-delay distributes in stage, write request accept user's request delay, return the time-delay of user's request results quite with read request; The time-delay of accepting user's request of returning time-delay of user's request results and read request of write request is suitable; Other each stage time-delays are basic identical.Therefore handle similarly with read request, can form, carry out overlapping flowing water scheduling to accept 2 core stages of user's request stage and bottom I/O scheduling phase.
In order to verify the performance that adopts net-raid system after the stream treatment, we adopt conventional serial mode, fixedly pipeline mode and flexible pipeline mode respectively in the Control Software of net-raid, test the different performance under three kinds of processing modes.
Definition refers to the request of sending from the user service time, all finishes the required time to request.The configuration of table 2 is listed when being test net-raid and server.
The configuration of table 2 test macro
Type CPU Internal memory Operating system
Net-raid PC Celeron 533 64M Linux7.1
Server PC The 1.7G of Celeron 128M Linux7.1
Array configurations is: two string IDE dishes, and 2 dishes of every string, disk model Maxtor D740X-6L, capacity is 40G, rotating speed is 7200rpm.
Network environment is configured to: 100Mbps switched ethernet, computer network adapter DFE530TX.
Table 3 test data
Figure C20041006140100211
From the test data of table 3 as can be seen, adopt the transfer of data time-delay of pipeline mode than adopting serial mode to reduce a lot.Fig. 9,10 represents that respectively the performance of three kinds of scheduling mode download and upload operations compares, the average data service bandwidth is represented the average data bandwidth of net-raid service end, wherein figure (a) expression demand file size be 120MB, figure (b) expression demand file size for 75MB, figure (c) expression demand file size for 57MB, figure (d) expression demand file size during for 30MB the systematic function of three kinds of scheduling mode realizations compare.Along with the increase of number of steps, the frequency of user's request is big more, and the space of flowing water technology performance is also just big more, and therefore, experimental data shows that along with the increase of number of steps, the average service data bandwidth of net-raid obviously increases.
Description of drawings
The user data read request process chart that Fig. 1 receives for the network port;
Fig. 2 is user's request data structure schematic diagram;
Fig. 3 is the time diagram of the processing procedure time-delay quantification treatment of user's read request;
Fig. 4 is the bottom I/O scheduling phase of n+1 user's request and the overlapping execution schematic diagram of user's request results stage of returning of nth user's request;
Fig. 5 is fixed flow water treatment process figure;
Fig. 6 is flexible stream treatment flow chart;
Fig. 7 is the fixing processing procedure schematic diagram of flowing water section of user's read request;
Fig. 8 is the processing procedure schematic diagram of the flexible flowing water section of user's read request;
Fig. 9 represent to adopt respectively conventional serial, fixedly flowing water and three kinds of scheduling mode down operations of flexible flowing water performance relatively;
Figure 10 represent to adopt respectively conventional serial, fixedly flowing water and three kinds of scheduling mode upload operation of flexible flowing water performance relatively.
Embodiment
The present invention is further described below in conjunction with accompanying drawing.
Fixedly the pipeline mode handling process as shown in Figure 5.Add the formation of reading and writing command process respectively after user's request is received, wait for stream treatment.It is as described below to read the stream treatment flow process: the streamline filling stage promptly enters and reads the stream treatment Synchronization Control after finishing; Read stream treatment simultaneous operation and read the user request information formation, the next one is read user request information move on to the current user request information of reading, the current user request information of reading moves on to one and reads user request information, and first user's request of read command processing queue moves on to the next one and reads user request information; After reading the user request information queue operation and finishing, start that the user asks to handle early stage and data copy step; When bottom I/O scheduling with after returning user's request results step and finishing, start that to read stream treatment synchronous next time.
It is as described below to write the stream treatment flow process: the streamline filling stage promptly enters and writes the stream treatment Synchronization Control after finishing; Write the operation of stream treatment Synchronous Processing and write the user request information formation, the next one is write user request information move on to the current user request information of writing, the current user request information of writing moves on to one and writes user request information, and first user's request of write order processing queue moves on to the next one and writes user request information; After writing the user request information queue operation and finishing, start that the user asks to handle early stage and bottom I/O dispatches step; When data copies with after returning user's request results step and finishing, start that to write stream treatment synchronous next time.
Fixedly the execution of flowing water section as shown in Figure 7.Fixedly the processing procedure of flowing water section is made up of two flowing water sections, the circulation of step a, b is carried out and is formed first flowing water section, the circulation of step c, d is carried out and is formed second flowing water section, and each flowing water section can only start subsequent step in the section separately, step that can not the section of striding startup the other side section.Handle a step a of n-1 user's request N-1With the c step c that handles n-2 user's request N-2Start simultaneously, after finishing separately, start the d steps d of n-2 user's request respectively N-2B step b with n-1 user's request N-1Handle the d of n-2 user's request N-2The b of n-1 user's request of step and processing N-1Step may not finished at one time, and the step of finishing earlier could start subsequent step after must waiting until that the other side finishes, and that is to say, two flowing water sections must synchronously once circulate from same time point after once end is carried out in circulation next time.
Fixedly in the flowing water segmented mode, the communication false code between four steps is as follows.
Initial
{
Sem1=1,Sem2=0,Sem3=1,Sem4=0,Sem5=0,Sem6=0,
Handle the early stage of the 1st user's request;
The bottom I/O scheduling of the 1st user's request;
Startup process a;
Startup process b;
Startup process c;
Startup process d;
}
Process b
Process a
{ while(1)
while(1) {
{ p(Sem2)
P (Sem1) bottom I/O scheduling;
The user asks handle early stage; V (Sem6),
v(Sem2) p(Sem5),
} v(Sem1)
} }
}
Process c process d
{ {
while(1) while(1)
{ {
p(Sem3) p(Sem4)
The data copy; Return user's request results;
v(Sem4) v(Sem5),
} p(Sem6),
} v(Sem3)
}
}
Wherein, Sem1, Sem2, Sem3, Sem4, Sem5, Sem6 are signal lamps synchronous between controlled step.Initialization step is the processing stage handling the early stage of first user's request and behind the bottom I/O scheduling phase, with regard to setting up procedure a, b, c, d.Because the initial value of signal lamp Sem1, Sem3 equals 1, so entering the early stage of second user's request immediately, handles step a, step c enters the data copy of first user's request.Because the initial value of signal lamp Sem2, Sem4 equals 0, thus step b waits until always that step a executes and start signal lamp Sem2 after, step b just can enter the bottom I/O scheduling of handling second user's request.Steps d wait until always that step c executes and start signal lamp Sem4 after, steps d just enter handle first user's request return user's request results.When step b finishes bottom I/O scheduling, must waiting step d finish return user's request results and start signal lamp Sem5 after, step b could setting up procedure a, begins the circulation again of first flowing water section.If steps d is finished prior to step b, equally also must finish by waiting step b.This interlocking mechanism between step b and the steps d has guaranteed that two flowing water sections carry out synchronously after the once circulation of finishing separately.
Flexible pipeline mode handling process as shown in Figure 6.Add the formation of reading and writing command process respectively after user's request is received, wait for stream treatment.It is as described below to read the stream treatment flow process: the streamline filling stage promptly enters and reads the stream treatment Synchronization Control after finishing; Read stream treatment and comprise the operation of two steps synchronously, the user request information formation is read in first step operation, the next one is read user request information move on to the current user request information of reading, the current user request information of reading moves on to one and reads user request information, first user's request of read command processing queue moves on to the next one and reads user request information, the flexible flowing water section of the second step operation start, if the active user asks dispose early stage, then start bottom I/O scheduling and data copy step, handle and return user's request results step in earlier stage otherwise start the user; After starting bottom I/O scheduling and data copy step, if bottom I/O scheduling step was finished before returning user's request results step, then flow process will return that to read stream treatment synchronous from condition I, if bottom I/O scheduling step is finished after returning user's request results step, then flow process will return that to read stream treatment synchronous from condition II; After the startup user handles and returns user's request results step in earlier stage, if bottom I/O scheduling step was finished before returning user's request results step, then flow process will return that to read stream treatment synchronous from condition I, if bottom I/O scheduling step is finished after returning user's request results step, then flow process will return that to read stream treatment synchronous from condition II; It is synchronous that stream treatment is read in beginning next time.
It is as described below to write the stream treatment flow process: the streamline filling stage promptly enters and writes the stream treatment Synchronization Control after finishing; Write stream treatment and comprise the operation of two steps synchronously, the user request information formation is write in first step operation, the next one is write user request information move on to the current user request information of writing, the current user request information of writing moves on to one and writes user request information, first user's request of write order processing queue moves on to the next one and writes user request information, the flexible flowing water section of the second step operation start, if the data copy step of active user's request finishes, then start bottom I/O scheduling and return user's request results step, handle in earlier stage and data copy step otherwise start the user; After starting bottom I/O scheduling and returning user's request results step, if bottom I/O scheduling step asks finish before the treatment step early stage the user, then flow process will return that to write stream treatment synchronous from condition I, if bottom I/O scheduling step is finished after returning user's request results step, then flow process will return that to read stream treatment synchronous from condition II; Start the user handle in earlier stage with data copy step after, treatment step was finished before bottom I/O scheduling step if the user asks early stage, then flow process will return that to write stream treatment synchronous from condition II, treatment step is finished after bottom I/O scheduling step if the user asks early stage, and then flow process will return that to write stream treatment synchronous from condition I; It is synchronous that stream treatment is write in beginning next time.
Fig. 8 dispatches the execution in each stage for adopting flexible water operation mode, promptly adopts not constant time lag.When second flowing water section executes b N-1The time, because first flowing water section d N-2Also do not execute, start immediately this moment and carry out C N-1In time-delay next time at the beginning, first flowing water section just can be from d N-1Begin to carry out, and second flowing water section is from a nBegin to carry out.If first flowing water section executes d N-1, and second flowing water section also do not execute b n, start a this moment immediately N+1The processing stage that the pending user such as startup that tries to be the first like this asking, make that the wait time-delay between each stage is minimum, thereby quickened user's processing of request process.
In the flexible pipeline mode, the communication identification code between four steps is as follows.
Initial
{
Sem1=1,Sem2=0,Sem3=1,Sem4=0,
Handle the early stage of the 1st user's request;
The bottom I/O scheduling of the 1st user's request;
Startup process a;
Startup process b;
Startup process c;
Startup process d;
}
Process a process b
{ {
while(1) while(1)
{ {
p(Sem1) p(Sem2)
The user asks handle early stage; Bottom I/O scheduling;
v(Sem2) v(Sem3)
} }
} }
Process c process d
{ {
while(1) while(1)
{ {
p(Sem3) p(Sem4)
The data copy; Return user's request results;
v(Sem4) v(Sem1)
} }
} }
Sem1, Sem2, Sem3, Sem4 are signal lamps synchronous between controlled step.Initialization step is the processing stage handling the early stage of first user request and behind the bottom I/O scheduling phase, setting up procedure a, b, c, d.Because the initial value of signal lamp Sem1, Sem3 equals 1, so entering the early stage of second user's request immediately, handles step a, step c enters the data copy of first user's request.Because the initial value of signal lamp Sem2, Sem4 equals 0, step a execute and start signal lamp Sem2 after, step b just can enter the bottom I/O scheduling of handling second user's request; Step c execute and start signal lamp Sem4 after, steps d just enter handle first user's request return user's request results., dispatches step b direct start signal lamp Sem3, the next one circulation of setting up procedure c when finishing bottom I/O.Steps d is finished and is returned user's request results, direct start signal lamp Sem1, the next one circulation of setting up procedure a.

Claims (4)

1. the stream treatment method of a network store system comprises the following steps: in proper order
(1) network port receives user data requests, judges this request of data type;
(2) if read request is carried out step (3), if write request is changeed step (4);
(3) this request is added the read command processing queue, waits for stream treatment:
Stream treatment is made up of two flowing water sections, and the order of a, b step is carried out and formed first flowing water section, and the order of c, d step is carried out and formed second flowing water section; Second flowing water section of first flowing water section of active user's request and last user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, synchronously once, after the other side's flowing water section that the flowing water section of promptly finishing earlier must walk abreast is by the time finished, begin to start follow-up executed in parallel step more simultaneously: first flowing water section of second flowing water section of active user's request and next user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, must be subsynchronous again ... so order is carried out; Whenever execute a read command, be that the d step finishes, return result by the network port; Wherein a step representative of consumer request early stage treatment step, the b step represent bottom I/O scheduling step, c step representative data copy step, the d step is represented and is returned user's request results step;
(4) this request is added the write order processing queue, waits for stream treatment:
Stream treatment is made up of two flowing water sections, and the order of a, e step is carried out and formed first flowing water section; F, the order of d step is carried out and is formed second flowing water section, second flowing water section of first flowing water section of active user's request and last user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, synchronously once, after the flowing water section of promptly finishing earlier waits until that parallel the other side's flowing water section is finished, start follow-up executed in parallel step more simultaneously: first flowing water section of second flowing water section of active user's request and next user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, must be subsynchronous again ... so order is carried out; Whenever execute a write order, be that the d step finishes, return result by the network port;
Wherein a step representative of consumer request early stage treatment step, e step representative data copy step; The f step is represented bottom I/O scheduling step, and user's request results step is returned in the representative of d step.
2. the stream treatment method of network store system as claimed in claim 1 is characterized in that:
When handling read request,
Described a step is that the user asks in the treatment step in early stage, active user's request, be added into user I/O task chain through preliminary treatment, control program extracts order from user I/O task chain then, after Cache processing, command queuing, order resolution process, form the subcommand on a plurality of disks, and be added into the subcommand chain of corresponding disk string;
Described b step is in the bottom I/O scheduling step, and bottom I/O control program carries out parallel I/O scheduling by carrying out the subcommand of each disk string, reading of data from the disk;
In data that described c step is the read request copy step, according to the piecemeal situation and the desired deposit data of the Network Transmission position of data, to the data that read from disk merge, arrangement, copy function;
Described d step is returning in user's request results step of read request, returns result by the network port, and user's request is so far finished;
When processing write requests,
Described a step is that the user asks in the treatment step in early stage, and active user's request is added into user I/O task chain through preliminary treatment, and control program extracts order from user I/O task chain then, through Cache processing, command queuing, order resolution process;
In data that described e step is the write request copy step, write data decomposed, after the merging, copy function, form the subcommand on a plurality of disks, be added into the subcommand chain of corresponding disk string in piecemeal situation according to data;
In the bottom I/O scheduling step that described f step is a write request,, carry out parallel I/O scheduling, to the disk write data by carrying out the subcommand of each disk string;
Described d step is returning in user's request results step of write request, returns processing result information by the network port, and user's request is so far finished.
3. the stream treatment method of a network store system comprises the following steps: in proper order
(1) network port receives user data requests, judges this request of data type;
(2) if read request is carried out step (3), if write request is changeed step (4);
(3) this request is added the read command processing queue, waits for stream treatment:
Fluvial processes is made up of two flowing water sections, and the order of a, b step or b step or a, b, c step or b, c step is carried out and formed first flowing water section; C, d step or d step or d step and next user again ask a step or c, d step and next user again to ask the order of a step to be carried out to form second flowing water section, for any one user's request, finish the first flowing water section and the second flowing water section of this user's request and must carry out a, b, four steps of c, d in proper order; Second flowing water section of first flowing water section of active user's request and last user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, synchronously once, after the other side's flowing water section that the flowing water section of promptly finishing earlier must walk abreast is by the time finished, begin to start follow-up executed in parallel step more simultaneously: first flowing water section of second flowing water section of active user's request and next user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, must be subsynchronous again ... so order is carried out; Whenever execute a read command, be that the d step finishes, return result by the network port; Wherein a step representative of consumer request early stage treatment step, on behalf of bottom I/O, the b step dispatch step; C step representative data copy step, user's request results step is returned in the representative of d step;
(4) this request is added the write order processing queue, waits for stream treatment:
Fluvial processes is made up of two flowing water sections, and a, e step or a step or a last user ask d step and a step or a last user to ask the order of d step and a, e step to be carried out to form first flowing water section; F, d step or f step or a last user ask e step and f step or a last user to ask the order of e step and f, d step to be carried out to form second flowing water section, for any one user's request, finish the first flowing water section and the second flowing water section of this user's request and must carry out a, d, four steps of e, f in proper order; Second flowing water section of first flowing water section of active user's request and last user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, synchronously once, after the other side's flowing water section that the flowing water section of promptly finishing earlier must walk abreast is by the time finished, begin to start follow-up executed in parallel step more simultaneously: first flowing water section of second flowing water section of active user's request and next user request is parallel to be started simultaneously, order is carried out each step in the section in this flowing water section, after two the parallel execution respectively of flowing water section end, must be subsynchronous again ... so order is carried out; Whenever execute a write order, be that the d step finishes, return result by the network port; Wherein a step representative of consumer request early stage treatment step, e step representative data copy step; The f step is represented bottom I/O scheduling step, and user's request results step is returned in the representative of d step.
4. the stream treatment method of network store system as claimed in claim 3 is characterized in that:
When handling read request,
Described a step is that the user asks in the treatment step in early stage, active user's request, be added into user I/O task chain through preliminary treatment, control program extracts order from user I/O task chain then, after Cache processing, command queuing, order resolution process, form the subcommand on a plurality of disks, and be added into the subcommand chain of corresponding disk string;
Described b step is in the bottom I/O scheduling step, and bottom I/O control program carries out parallel I/O scheduling by carrying out the subcommand of each disk string, reading of data from the disk;
In data that described c step is the read request copy step, according to the piecemeal situation and the desired deposit data of the Network Transmission position of data, to the data that read from disk merge, arrangement, copy function;
Described d step is returning in user's request results step of read request, returns result by the network port, and user's request is so far finished;
When processing write requests,
Described a step is that the user asks in the treatment step in early stage, and active user's request is added into user I/O task chain through preliminary treatment, and control program extracts order from user I/O task chain then, through Cache processing, command queuing, order resolution process;
In data that described e step is the write request copy step, write data decomposed, after the merging, copy function, form the subcommand on a plurality of disks, be added into the subcommand chain of corresponding disk string in piecemeal situation according to data;
Described f step is in the bottom I/O scheduling step, by carrying out the subcommand of each disk string, carries out parallel I/O scheduling, to the disk write data;
Described d step is returning in user's request results step of write request, returns processing result information by the network port, and user's request is so far finished.
CNB2004100614014A 2004-12-20 2004-12-20 Flow processing method for network storage system Expired - Fee Related CN100405791C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100614014A CN100405791C (en) 2004-12-20 2004-12-20 Flow processing method for network storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100614014A CN100405791C (en) 2004-12-20 2004-12-20 Flow processing method for network storage system

Publications (2)

Publication Number Publication Date
CN1633121A CN1633121A (en) 2005-06-29
CN100405791C true CN100405791C (en) 2008-07-23

Family

ID=34846335

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100614014A Expired - Fee Related CN100405791C (en) 2004-12-20 2004-12-20 Flow processing method for network storage system

Country Status (1)

Country Link
CN (1) CN100405791C (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202741B (en) * 2006-12-14 2010-09-22 英业达股份有限公司 Method of dynamic regulation task required number
CN101442549B (en) * 2008-12-11 2012-10-03 金蝶软件(中国)有限公司 Method and apparatus for controlling concurrence error
CN110516329B (en) * 2019-08-15 2022-02-18 上海天数智芯半导体有限公司 Digital circuit design method for solving multi-access storage unit cluster conflict through reservation mechanism

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091575A (en) * 1996-09-13 1998-04-10 Hitachi Ltd Digital video storage server and its data transfer method
CN1437116A (en) * 2002-02-07 2003-08-20 顾士平 Fixed disk, disk array, electronic disk, iSCSI, SAN and NAS control method
US20030163589A1 (en) * 2002-02-25 2003-08-28 International Business Machines Corporation Pipelined packet processing
CN1464468A (en) * 2002-06-05 2003-12-31 中国科学院计算技术研究所 Data management system in the internet storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091575A (en) * 1996-09-13 1998-04-10 Hitachi Ltd Digital video storage server and its data transfer method
CN1437116A (en) * 2002-02-07 2003-08-20 顾士平 Fixed disk, disk array, electronic disk, iSCSI, SAN and NAS control method
US20030163589A1 (en) * 2002-02-25 2003-08-28 International Business Machines Corporation Pipelined packet processing
CN1464468A (en) * 2002-06-05 2003-12-31 中国科学院计算技术研究所 Data management system in the internet storage system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于流媒体的网络磁盘阵列中的并行流水策略研究. 邓玉辉,张江陵,冯丹.小型微型计算机系统,第25卷第8期. 2004
基于流媒体的网络磁盘阵列中的并行流水策略研究. 邓玉辉,张江陵,冯丹.小型微型计算机系统,第25卷第8期. 2004 *
面向视频流数据实时存储的RAID写策略. 冯丹,陈俭喜,张江陵.小型微型计算机系统,第24卷第2期. 2003
面向视频流数据实时存储的RAID写策略. 冯丹,陈俭喜,张江陵.小型微型计算机系统,第24卷第2期. 2003 *

Also Published As

Publication number Publication date
CN1633121A (en) 2005-06-29

Similar Documents

Publication Publication Date Title
CN102065568B (en) MAC (media Access control) software and hardware interaction method based on data descriptor and hardware implementation device thereof
US8954644B2 (en) Apparatus and method for controlling memory
CN102841871B (en) Pipeline read-write method of direct memory access (DMA) structure based on high-speed serial bus
CN102236543B (en) Data decompression device and method
CN101526924A (en) Method for accessing optimal digital signal processing chip data
CN115033188B (en) Storage hardware acceleration module system based on ZNS solid state disk
CN110187970A (en) A kind of distributed big data parallel calculating method based on Hadoop MapReduce
CN103140839B (en) The memory storage that can carry out high-speed cache carries out the system and method for efficient journal
CN115129621B (en) Memory management method, device, medium and memory management module
CN100405791C (en) Flow processing method for network storage system
WO2011078162A1 (en) Scheduling device, scheduling method and program
Geyer et al. Pipeline Group Optimization on Disaggregated Systems.
WO2024113925A1 (en) Storage optimization method and system, device, and readable storage medium
CN116074179A (en) High expansion node system based on CPU-NPU cooperation and training method
Li et al. Improving spark performance with zero-copy buffer management and RDMA
CN112506677B (en) TensorFlow distributed matrix calculation implementation method and system
CN1333346C (en) Method for accessing files
CN115794721A (en) PCIe network card based on multiple cores and working method thereof
CN106708779A (en) Server and method for processing data thereof
EP3602309A1 (en) A memory allocation manager and method performed thereby for managing memory allocation
CN113806250A (en) Method for coordinating general processor core and vector component, interface and processor
CN105183628A (en) Log collecting device, recording system and method for embedded system
CN1337629A (en) Bus system and its instruct transmission method
CN117312202B (en) System on chip and data transmission method for system on chip
KR101414453B1 (en) Control apparatus of memory and control method thereof, and recording medium storing program for executing method of the same in computer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080723

Termination date: 20211220