CN111818122A - Flow fairness-based wide area network data prefetching method - Google Patents

Flow fairness-based wide area network data prefetching method Download PDF

Info

Publication number
CN111818122A
CN111818122A CN202010471103.1A CN202010471103A CN111818122A CN 111818122 A CN111818122 A CN 111818122A CN 202010471103 A CN202010471103 A CN 202010471103A CN 111818122 A CN111818122 A CN 111818122A
Authority
CN
China
Prior art keywords
file
reading
cache
request
client
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
CN202010471103.1A
Other languages
Chinese (zh)
Other versions
CN111818122B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202010471103.1A priority Critical patent/CN111818122B/en
Publication of CN111818122A publication Critical patent/CN111818122A/en
Application granted granted Critical
Publication of CN111818122B publication Critical patent/CN111818122B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a wide area network data prefetching method based on flow fairness, which uses an improved mclock algorithm and three different labels to ensure the condition of minimum IOPS (Input/Output Operations Per Second) of each file, and distributes the current IOPS in proportion to realize a remote prefetching mechanism based on flow fairness. And the processing order of the requests in the pre-read size and flow fairness mechanism for the file is adjusted according to the hit rate of the application to the file pre-read cache. And analyzing the IOPS of each file off line by using the historical access record at the server side, and initializing an initial value of a flow fairness mechanism.

Description

Flow fairness-based wide area network data prefetching method
Technical Field
The invention discloses a flow fairness-based wide area network data prefetching method, relates to challenges of wide area high-performance computing, and belongs to the technical field of computers.
Background
In a wide area high performance computing environment, a data request is sent to a remote server through a client and is accessed when remote file data is accessed. The main idea of using a pre-reading mechanism to acquire data in advance is to acquire local data in advance based on the principle of locality of data, and when nearby data is accessed, the number of network requests can be reduced, thereby improving performance. The method adds a flow fairness mechanism and adjusts the pre-fetching size and sequence aiming at the monitoring of the access mode to optimize the performance.
In terms of flow fairness, currently, there are many QOS (Quality of Service) methods to study this aspect, and mainly aim at ordering requests when a server receives various requests to achieve access fairness of each client. WFQ is an abbreviation for Weighted Fair Queuing (Weighted Fair Queuing). It is a congestion management algorithm that recognizes sessions (in the form of data flows), separates packets belonging to each session, and ensures that the transmission capacity is shared fairly by these independent sessions. WFQ is an automatic method of stabilizing network operation in the event of congestion, which improves processing performance and reduces retransmission of packets. WFQ is a complex queuing process that ensures fairness among services of the same priority and weighting among services of different priorities. The number of queues may be preconfigured, with a range of (16-4096). WFQ embodies the weight value on the basis of guaranteeing fairness (bandwidth, delay), and the size of the weight value depends on the IP priority (Precedence) carried in the JP message header. WFQ classifies packets by flow, each flow being assigned to a queue, a process known as hashing. The WFQ enqueuing process is automatically completed by adopting a HASH algorithm, and different streams are distributed into different queues as much as possible. At dequeue time, the WFQ allocates the bandwidth that each flow should occupy the egress according to the priority (precedence) of the flow. The smaller the value of the priority, the less bandwidth is obtained. The larger the value of the priority, the more bandwidth is obtained. Therefore, fairness among the same priority services is guaranteed, and weights among different priority services are reflected. The token bucket algorithm is one of the most commonly used algorithms in network Traffic Shaping (Traffic Shaping) and Rate Limiting (Rate Limiting). Typically, token bucket algorithms are used to control the amount of data sent onto the network and to allow the transmission of bursts of data. The basic idea is that a token bucket of fixed size can generate tokens at a constant rate on its own. If tokens are not consumed, or are consumed less than generated, tokens are continually incremented until the bucket is filled. Tokens that are later regenerated will overflow the bucket. The maximum number of tokens that can be held in the last bucket never exceeds the bucket size. The control mechanism of token bucket indicates when traffic can be sent based on whether there are tokens in the token bucket. Each token in the token bucket represents a byte. If the token bucket has a token, allowing the traffic to be sent; and if no token exists in the token bucket, the traffic is not allowed to be sent. Thus, if the burst threshold is reasonably configured and there are enough tokens in the token bucket, traffic can be sent at the peak rate. The design of mclock is that VMs (virtual machines) send all requests to host for processing, and I/O resource allocation is embodied in the order of processing requests to all VMs. The VM whose request is processed first has a higher IOPS (Input/Output Operations Per Second), whereas the IOPS that is processed later is lower. It depends on the defined parameters of the I/O resources used by the virtual machine, such as the proportion (proportion or share), the minimum value (reservation), the maximum value (limit), and so on. The requests are sequenced to ensure that the lowest value of the requests is less than the maximum value, and finally, the I/O resources are distributed in proportion. However, the method is designed for the local area network, and three labels of the method need to be manually set according to experience; the system can not be dynamically adjusted according to the current situation, and can not be suitable for wide-area environments and is responsible for changeable environments.
The problems of the traditional pre-reading method are mainly as follows: the traditional pre-reading method does not perform flow fairness among files, and a server side does not count the flow and feed back the original client side. It is difficult to adjust the read-ahead for the reading mode of each file. And the general fairness mechanism can not ensure the operation effect of the application under the condition of low network bandwidth.
Disclosure of Invention
The invention mainly aims to provide a flow fairness-based wide area network data prefetching method, which aims at the problems that a direct reading mode adopted by a client is more and more difficult to guarantee under the condition of wide area network bandwidth, and the fairness of single file prefetching causes the difference of performances aiming at different file accesses under the condition of simultaneous reading of multiple files. The method realizes a remote prefetching mechanism based on flow fairness, uses an improved mclock algorithm, and avoids the condition that other files are hungry due to the occupied bandwidth of a single file under the condition of multi-file access, thereby influencing the running performance of upper-layer application. The processing sequence of the request in the file pre-reading size and flow fairness mechanism is adjusted according to the hit rate of the application to the file pre-reading cache, so that the waste of network bandwidth is reduced under the condition that the mode for accessing the file is random reading, the whole network bandwidth utilization rate is improved, and the fairness among multiple files is ensured.
For each file that needs to be accessed, r, l and p tags are set. The r-tag (reservation) is used to set the read/write speed Per Second IOPS (i.e., read/write speed Per Second) of the read request, the l-tag (limit) is used to limit the maximum value of the read request IOPS, and the p-tag (contribution) is used to allocate the current IOPS value to each file in proportion.
For each individual request, the R, L and P labels corresponding to the self-request are calculated according to the R, L and P labels of each file, and are used for determining the processing sequence of the self-request by the client.
And the server side starts a low-priority thread, counts the access times of the files according to the log of each file accessed by the client side, and calculates the IOPS value for the access of a single file. When the client starts prefetching, the server is queried to obtain the IOPS value to update the l label of the corresponding file, so that bandwidth waste caused by access of an application to a certain file is effectively prevented, and flow fairness is achieved.
The flow fairness-based wide area network data prefetching method is characterized by comprising the following steps of:
step 1, when accessing remote file data, accessing a prefetch cache to determine whether the file data exists, if not, calling a prefetch module to access the file by a client;
step 2, the pre-fetching module sequences all the access requests received within a period of time according to the tags of the access requests, calculates the time sequence of all the requests to be processed, then executes the requests according to the sequence, and then puts the returned result into a cache;
step 3, caching the data pre-fetched by the client, and updating the original cache according to a certain rule;
and 4, calculating the cache hit rate of the current file cache when the client accesses data, and adjusting the p tags of all the files according to the hit rate, wherein the adjustment of the tags changes the access sequence of the files. Then, the access size of the file extension by the prefetching module is adjusted according to the hit rate;
and 5, the file access server starts a low-priority thread, counts the access times of each file according to the access log of the client to each file, and calculates the IOPS value of historical access of a single file, wherein the value is used for updating the label of the client.
Wherein, step 1 includes the following steps:
step 1.1, an application initiates a read request for a certain file;
step 1.2, the client judges whether cache data of the file exists in the prefetch cache;
step 1.3, if the prefetch cache does not exist, the client reads the extended attribute of the file, if the extended attribute of the file exists, r, p and l tags of the file are obtained, if the file does not exist, the tag of the file is directly generated, and initial values (the same for all files) are respectively set for the r, the p and the l;
step 1.4, the client side obtains the reading and writing speed per second IOPS value of the corresponding file counted at the server side from the access server side so as to reinitialize the l label of the file, wherein l is the IOPS value counted at the server side 1.5;
step 1.5, according to
Figure BDA0002514330020000031
Calculate the R, P, L label for the ith request, where i is a positive integer, t is the current time, and Ri-1The same holds true for the R label computed for the last request for the file, P and L, and if there is no previous label, the current time t is used as the previous label, R, P, L the time when the request should be processed when the label is requested to be used, Ri-1、Pi-1、Li-1The time when the request is processed is requested for the last request using the tag, then the time when the current request should be processed is calculated according to the set IOPS values (r, p, l tags) of the file, and if the calculated request time is less than the current time, the current time is set. (because the request cannot be set to be processed before the current time)
Step 1.6, the client sends the access request and the label of the file to a pre-fetching module;
and step 1.7, if the prefetch cache exists, returning the cache data to the client.
Wherein, step 2 includes the following steps:
step 2.1, the pre-reading module receives the reading request and will cache the hit ratio P according to the fileMedicine for curing acute respiratory diseasesEnlarging the reading size of the file to be read, wherein the reading size is equal to the original reading size multiplied by 2 multiplied by PMedicine for curing acute respiratory diseasesThen the pre-reading module will read the file remotely with the size, and put the request to be processed into the queue waiting for processingStoring all read requests received by the pre-read module in a row in the period of time;
step 2.2, finding out all requests with R labels smaller than the current time t in the request queue, marking the requests as a set E, judging whether the set E is empty, if so, selecting the request with the minimum R label in the set E for processing, if not, finding out all requests with L labels smaller than the current time t, marking the requests as a set E ', judging whether the set E ' is empty, if not, selecting the request with the minimum P label in the set E ' for processing, and thus obtaining the request needing to be processed;
step 2.3, the client remotely reads the file and then puts the read file data into a pre-reading cache of the file;
and 2.4, judging whether the total required reading size of the requests currently processed by the pre-reading module is 0. If the size of the read required by the request being processed is 0, the request is deleted from the queue waiting for processing.
Wherein, step 3 comprises the following steps:
step 3.1, establishing a pre-reading cache for each file to be pre-read, wherein the pre-reading cache is not permanently stored but stored in a memory;
step 3.2, replacing the pre-read cache with the longest storage time when the pre-read cache exceeds the upper limit;
and 3.3, if the waiting processing queue of the pre-reading module does not have a pre-reading file name corresponding to the pre-reading cache, deleting the pre-reading cache, namely deleting the pre-reading cache when the file pre-reading is finished and no new reading request exists.
Wherein, step 4 comprises the following steps:
step 4.1, recording the hit probability of each file pre-reading cache, and adding one to hit times and recording the total access times if the cache is hit when a reading request is sent each time;
step 4.2, dynamically updating the p label of each file according to the hit rate of the cache, and if the hit rate of the cache is high, increasing the value of the p label, which means that the file can obtain a higher IOPS within a period of time, because the file can be read sequentially; if the hit rate of the cache is low, the p tag value is reduced, which represents that the file is possibly read randomly, and the pre-reading priority of the file should be reduced;
step 4.3, according to the hit rate of the cache, dynamically adjusting the size of the file read request which should be expanded when the next read request is made to the file, and reducing the expanded size when the hit rate is low, wherein the size of the next read request of the file is equal to the original read size 2 x PMedicine for curing acute respiratory diseases
Wherein, step 5 comprises the following steps:
step 5.1, the server starts a low-priority thread, and counts the access times of the files according to the access log of the client to calculate the historical IOPS of a single file;
step 5.2, before the client reads in advance, sending a request to the server to obtain the IOPS value of the corresponding file;
step 5.3, the server receives the request and returns the IOPS value of the corresponding file;
step 5.4, the client receives the response, and the value of the label of the file corresponding to the client is 1.5, which is the value of the corresponding file IOPS.
The advantages of the invention include: compared with the prior art, the wide area network data prefetching method based on fair flow has the main advantages that: the data pre-reading method provided by the invention has a great improvement on the data access effect in a high-performance environment. The influence on the application to access the data under the limitation of the bandwidth of the wide area network is avoided. And according to a flow fairness algorithm, occupation of bandwidth by reading operation of each file is balanced, and the situation of starvation is avoided, so that the running effect of a single application is poor. And according to the change of the size of the hit rate of the cache, the size of reading the file during the pre-reading and the p label in the flow fairness algorithm are changed, so that the influence of the read amplification on the random reading is reduced, and the bandwidth is prevented from being excessively occupied. At a server, the IOPS value of a file is counted according to an access log of the file, and then the IOPS value is used for initializing the l label of the file, so that bandwidth waste caused when an application accesses a certain file is effectively prevented, and flow fairness is achieved.
Drawings
Fig. 1 is a basic flow chart of a method for prefetching data in a wide area network based on traffic fairness.
FIG. 2 is a flow chart of cache hit rate calculation.
Fig. 3 is a flow chart of server monitoring.
Fig. 4 is a flow chart of label sorting.
Detailed Description
The present invention is described in further detail below with reference to the accompanying drawings (fig. 1-4).
FIG. 1 shows a flow chart of the present invention. The wide area network data prefetching method based on flow fairness comprises the following steps:
1) the client starts to perform the pre-read operation.
2) And reading the extended attribute of the file to be prefetched, and if the extended attribute of the file exists, obtaining the r, p and l tags of the file. If the file does not exist, three labels of the file are directly generated, and a uniform initial value is given to r, p and l (the same for all files).
3) The client side obtains an IOPS value of the corresponding file counted at the server side from the access server side so as to reinitialize a label of the file, wherein l is the IOPS value counted at the server side 1.5;
4) according to
Figure BDA0002514330020000061
(t is the current time) calculates the R, P, L tag for the request, where R isi-1The calculated R-tag for the last request corresponding to the file, P and L are also the same, and if there is no previous tag, the current time t is taken as the previous tag. R, P, L Label is the time, R, when the request is to use the label, the request should be processedi-1、Pi-1、Li-1The time that the request was processed is requested for the last request to use the tag. And then, calculating the time when the current request should be processed according to the set IOPS values (r, p and l labels) of the file, and if the calculated request time is less than the current time, setting the request time as the current time. (because the request cannot be set to be processed before the current time);
5) the pre-reading module receives the reading request and caches the file according to the hit rate P of the fileMedicine for curing acute respiratory diseasesEnlarging the reading size of the file to be read, wherein the reading size is equal to the original reading size multiplied by 2 multiplied by PMedicine for curing acute respiratory diseasesAnd then the pre-reading module remotely reads the file according to the size. And then, putting the file names to be read into a waiting processing queue, and storing all the read requests received by the pre-reading module in the waiting processing queue within the period of time.
6) When the wait processing queue is not empty, R, P, L tags of all requests are used for sorting to obtain the read requests which need to be processed finally.
7) And then the client reads the file remotely.
8) And putting the read file into a pre-reading cache of the file, and eliminating the file according to a certain rule.
Wherein, step 8) comprises the following steps:
and (8.1) establishing a pre-reading cache for each file to be pre-read, wherein the pre-reading cache is not permanently stored but stored in a memory.
And (8.2) replacing the pre-read cache with the longest storage time when the pre-read cache exceeds the upper limit.
And (8.3) if the waiting processing queue of the pre-reading module does not have the pre-reading file name corresponding to the pre-reading cache, deleting the pre-reading cache. Namely, when the file read-ahead is finished and no new read request exists, the read-ahead cache is deleted.
9) It is determined whether the total required read size for the request currently being processed by the read-ahead module is 0. If the size of the read required by the request being processed is 0, the request is deleted from the queue waiting for processing.
10) And after the request is deleted, updating the r, p and l values corresponding to the extended attributes according to the r, p and l values in the current memory.
Fig. 2 shows a flow chart of cache hit rate calculation. The calculation of access and hit rate for the cache includes the steps of:
1) the client judges whether cache data of the file exists in the prefetch cache or not.
2) And recording the hit probability of each file pre-read cache, and adding one to the hit times if the cache is hit and recording the total access times when a read request is sent each time.
3) According to the hit rate of the cache, the p label of each file is dynamically updated, if the hit rate of the cache is high, the value of the p label is increased, which represents that the file can obtain higher IOPS within a period of time, because the file can be read sequentially. If the hit rate of the cache is low, the p-tag value is decreased, which indicates that the file may be read randomly, and the pre-read priority of the file should be decreased.
4) And dynamically adjusting the size of the file read request which should be enlarged when the next read request is carried out on the file according to the hit rate of the cache. The hit rate is low and the enlargement size should be reduced. The size of the next read request of the file is equal to the original read size 2 x PMedicine for curing acute respiratory diseases
5) And writing the hit rate of the file pre-reading cache into the extended attribute of the corresponding file.
Fig. 3 is a flow chart of server side monitoring. The method comprises the following steps:
1) the server side starts a low-priority thread to perform off-line analysis on the access times of a single file according to the access log;
2) the service end obtains the IOPS of single file access according to the offline analysis result;
3) before the client reads in advance, the client sends an IOPS request for inquiring a single file;
4) the service end returns the IOPS value of the corresponding file;
5) the client updates the corresponding file l label according to the return value, and the corresponding file l label is 1.5 IOPS value.
As shown in fig. 4, a tag ordering flow is shown. The method comprises the following steps:
1) and finding out all requests with R labels smaller than the current time t in the request queue, and recording the requests as a set E.
2) And judging whether the set E is empty, and if so, selecting the request with the minimum R label in the set E for processing.
3) If the set E is not empty, finding out all the requests with L labels smaller than the current time t, and recording the requests as a set E'.
4) And judging whether the set E 'is empty, and if not, selecting the request with the minimum P label in the set E' for processing.
Those skilled in the art will appreciate that the invention may be practiced without these specific details. It is pointed out here that the above description is helpful for the person skilled in the art to understand the invention, but does not limit the scope of protection of the invention. Any such equivalents, modifications and/or omissions as may be made without departing from the spirit and scope of the invention may be resorted to.

Claims (7)

1. A flow fairness-based wide area network data prefetching method is characterized in that a flow fairness-based remote prefetching mechanism is achieved through an mclock algorithm, the pre-reading size of a file and the processing sequence of requests in the flow fairness mechanism are adjusted according to the hit rate of application to a file pre-reading cache, a low-priority thread is started at a server, the number of times of access to the file is counted according to a log of the client for each file access, the read-write speed per second IOPS value for single file access is calculated, and when the client starts prefetching, the server is inquired, and the initial value of the flow fairness mechanism is initialized.
2. The flow fairness-based wide area network data prefetching method is characterized by comprising the following steps of:
step 1, when accessing remote file data, accessing a prefetch cache to determine whether the file data exists, if not, calling a prefetch module to access the file by a client; each file to be accessed is provided with r, l and p tags, wherein the r tag is used for setting the reading and writing speed per second IOPS of a reading request, the l tag is used for limiting the maximum value of the reading request IOPS, and the p tag is used for allocating the current IOPS value to each file in proportion;
step 2, the pre-fetching module sequences all the access requests received within a period of time according to the tags of the access requests, calculates the time sequence of all the requests to be processed, then executes the requests according to the sequence, and then puts the returned result into a cache;
step 3, caching the data pre-fetched by the client, and updating the original cache according to a certain rule;
step 4, when the client accesses data each time, adjusting the cache hit rate of the current file cache according to the hit rate, wherein the adjustment of the tags changes the access sequence of the files, and then adjusting the access size of the prefetching module to the file extension according to the hit rate;
and 5, the file access server starts a low-priority thread, counts the access times of each file according to the access log of the client to each file, and calculates the reading and writing speed per second IOPS value of the historical access of each file, wherein the value is used for updating the label of the client.
3. The method according to claim 2, wherein the step 1 comprises the steps of:
step 1.1, an application initiates a read request for a certain file;
step 1.2, the client judges whether cache data of the file exists in the prefetch cache;
step 1.3, if the prefetch cache does not exist, the client reads the extended attribute of the file, if the extended attribute of the file exists, r, p and l tags of the file are obtained, if the file does not exist, the tags of the file are directly generated, and initial values are respectively set for r, p and l;
step 1.4, the client side obtains an IOPS value of the corresponding file counted at the server side from the access server side to reinitialize a label of the file, wherein l is the IOPS value counted at the server side 1.5;
step 1.5, according to
Figure FDA0002514330010000011
Calculate the R, P, L label for the request, where i is a positive integer, t is the current time, Ri-1For the upper part of the fileThe same holds true for R label calculated by a request, P and L, and if the request does not have a previous label, the current time t is used as the previous label, R, P, L label is the time when the request should be processed when the request uses the label, Ri-1、Pi-1、Li-1The time of processing the request when the label is used for the last request is calculated according to the IOPS values of the r, p and l labels of the files;
step 1.6, the client sends the access request and the label of the file to a pre-fetching module;
and step 1.7, if the prefetch cache exists, returning the cache data to the client.
4. The method according to claim 2, wherein the step 2 comprises the steps of:
step 2.1, the pre-reading module receives the reading request and will cache the hit ratio P according to the fileMedicine for curing acute respiratory diseasesEnlarging the reading size of the file to be read, wherein the reading size is equal to the original reading size multiplied by 2 multiplied by PMedicine for curing acute respiratory diseasesAnd then the pre-reading module remotely reads the file according to the size. The method comprises the steps that requests needing to be processed are placed into a waiting processing queue, and all reading requests received by a pre-reading module are stored in the waiting processing queue within a period of time;
and 2.2, finding out all the requests with the R labels smaller than the current time t in the request queue, and recording as a set E. Judging whether the set E is empty, if so, selecting the request with the minimum R label in the set E for processing, if not, finding out all the requests with the L label less than the current time t, recording the requests as the set E ', judging whether the set E ' is empty, if not, selecting the request with the minimum P label in the set E ' for processing, and thus obtaining the request to be processed;
step 2.3, the client remotely reads the file and then puts the read file data into a pre-reading cache of the file;
and 2.4, judging whether the total required reading size of the requests processed by the current pre-reading module is 0 or not, and deleting the requests from the queue to be processed if the required reading size of the requests processed is 0.
5. The method according to claim 2, wherein the step 3 comprises the steps of:
step 3.1, establishing a pre-reading cache for each file to be pre-read, wherein the pre-reading cache is not permanently stored but stored in a memory;
step 3.2, replacing the pre-read cache with the longest storage time when the pre-read cache exceeds the upper limit;
and 3.3, if the waiting processing queue of the pre-reading module does not have a pre-reading file name corresponding to the pre-reading cache, deleting the pre-reading cache, namely deleting the pre-reading cache when the file pre-reading is finished and no new reading request exists.
6. The method according to claim 2, wherein the step 4 comprises the steps of:
step 4.1, recording the hit probability of each file pre-reading cache, and adding one to hit times and recording the total access times if the cache is hit when a reading request is sent each time;
step 4.2, dynamically updating the p tag of each file according to the hit rate of the cache, if the hit rate of the cache is high, increasing the value of the p tag, which represents that the file can obtain a higher IOPS within a period of time, because the file may be read sequentially, if the hit rate of the cache is low, decreasing the value of the p tag, which represents that the file may be read randomly, and the pre-reading priority of the file should be decreased;
step 4.3, according to the hit rate of the cache, dynamically adjusting the size of the file read request which should be expanded when the next read request is made to the file, and reducing the expanded size when the hit rate is low, wherein the size of the next read request of the file is equal to the original read size 2 x PMedicine for curing acute respiratory diseases
7. The method according to claim 2, wherein said step 5 comprises the steps of:
step 5.1, the server starts a low-priority thread, and counts the access times of the files according to the access log of the client to calculate the historical IOPS of a single file;
step 5.2, before the client reads in advance, sending a request to the server to obtain the IOPS value of the corresponding file;
step 5.3, the server receives the request and returns the IOPS value of the corresponding file;
step 5.4, the client receives the response, and the value of the label of the file corresponding to the client is 1.5, which is the value of the corresponding file IOPS.
CN202010471103.1A 2020-05-28 2020-05-28 Flow fairness-based wide area network data prefetching method Active CN111818122B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010471103.1A CN111818122B (en) 2020-05-28 2020-05-28 Flow fairness-based wide area network data prefetching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010471103.1A CN111818122B (en) 2020-05-28 2020-05-28 Flow fairness-based wide area network data prefetching method

Publications (2)

Publication Number Publication Date
CN111818122A true CN111818122A (en) 2020-10-23
CN111818122B CN111818122B (en) 2022-03-01

Family

ID=72848152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010471103.1A Active CN111818122B (en) 2020-05-28 2020-05-28 Flow fairness-based wide area network data prefetching method

Country Status (1)

Country Link
CN (1) CN111818122B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760192A (en) * 2021-08-31 2021-12-07 荣耀终端有限公司 Data reading method, data reading apparatus, storage medium, and program product
CN114489469A (en) * 2021-07-20 2022-05-13 荣耀终端有限公司 Data reading method, electronic equipment and storage medium
CN118244997A (en) * 2024-05-28 2024-06-25 山东云海国创云计算装备产业创新中心有限公司 Solid state disk data processing method and device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464838A (en) * 2009-01-14 2009-06-24 成都市华为赛门铁克科技有限公司 Data management method and solid state storage system
US20150358421A1 (en) * 2014-06-10 2015-12-10 International Business Machines Corporation Cooperative decentralized caching
CN106681990A (en) * 2015-11-05 2017-05-17 华中科技大学 Method for reading caching data under mobile cloud storage environment
CN110389710A (en) * 2018-04-20 2019-10-29 华为技术有限公司 The method and apparatus for distributing storage resource

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464838A (en) * 2009-01-14 2009-06-24 成都市华为赛门铁克科技有限公司 Data management method and solid state storage system
US20150358421A1 (en) * 2014-06-10 2015-12-10 International Business Machines Corporation Cooperative decentralized caching
CN106681990A (en) * 2015-11-05 2017-05-17 华中科技大学 Method for reading caching data under mobile cloud storage environment
CN110389710A (en) * 2018-04-20 2019-10-29 华为技术有限公司 The method and apparatus for distributing storage resource

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张泉: "面向云数据中心的存储服务质量技术研究", 《中国博士学位论文全文数据库(电子期刊)》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489469A (en) * 2021-07-20 2022-05-13 荣耀终端有限公司 Data reading method, electronic equipment and storage medium
CN114489469B (en) * 2021-07-20 2022-12-23 荣耀终端有限公司 Data reading method, electronic equipment and storage medium
CN113760192A (en) * 2021-08-31 2021-12-07 荣耀终端有限公司 Data reading method, data reading apparatus, storage medium, and program product
CN113760192B (en) * 2021-08-31 2022-09-02 荣耀终端有限公司 Data reading method, data reading apparatus, storage medium, and program product
CN118244997A (en) * 2024-05-28 2024-06-25 山东云海国创云计算装备产业创新中心有限公司 Solid state disk data processing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN111818122B (en) 2022-03-01

Similar Documents

Publication Publication Date Title
CN111818122B (en) Flow fairness-based wide area network data prefetching method
JP4636583B2 (en) Method and apparatus for dynamically scheduling class-based packets
US8006016B2 (en) Hiding system latencies in a throughput networking systems
US6901484B2 (en) Storage-assisted quality of service (QoS)
US7269179B2 (en) Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US6661802B1 (en) Congestion management
US8806142B2 (en) Anticipatory response pre-caching
US7353360B1 (en) Method for maximizing page locality
US7571216B1 (en) Network device/CPU interface scheme
US6888830B1 (en) Integrated circuit that processes communication packets with scheduler circuitry that executes scheduling algorithms based on cached scheduling parameters
US7430211B2 (en) System and method for receive queue provisioning
WO2002039284A2 (en) Systems and methods for management of memory
US7889734B1 (en) Method and apparatus for arbitrarily mapping functions to preassigned processing entities in a network system
US7529245B1 (en) Reorder mechanism for use in a relaxed order input/output system
US20150074222A1 (en) Method and apparatus for load balancing and dynamic scaling for low delay two-tier distributed cache storage system
US20060221832A1 (en) Virtualized partitionable shared network interface
US20030236961A1 (en) Systems and methods for management of memory in information delivery environments
US20050240745A1 (en) High speed memory control and I/O processor system
CN113973085B (en) Congestion control method and device
CN108769253B (en) Adaptive pre-fetching control method for optimizing access performance of distributed system
EP2746958A1 (en) Method and system of caching web content in a hard disk
CN109195180A (en) A kind of solution for reducing content in mobile content central site network and obtaining time delay
US8510491B1 (en) Method and apparatus for efficient interrupt event notification for a scalable input/output device
JP5192506B2 (en) File cache management method, apparatus, and program
WO2019095942A1 (en) Data transmission method and communication device

Legal Events

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