IO request scheduling method and device and readable medium
By obtaining the IO statistics of the memory and adjusting the waiting time of the synchronous IO scheduling queue, the memory read and write speed and terminal lag caused by large amounts of data writing are solved, and the effect of improving application response speed and reducing lag under high load conditions is achieved.
Patent Information
- Application Number
- CN202311641610.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-30
- Publication Date
- 2025-05-30
AI Technical Summary
In the case of a large amount of data being written, when the cache in the memory is full, the read and write speed will drop rapidly, resulting in severe stuttering of the terminal and unable to solve the problem of speed drop.
By obtaining the IO statistics of the memory, adjusting the waiting time of the synchronous IO scheduling queue, and dynamically scheduling the synchronous IO scheduling queue to improve application response speed.
When there is a large amount of data written in the background, it significantly improves the application response speed and reduces application lag. At the same time, it will not affect the application response speed when there is no large amount of data written in the background.
Smart Images

Figure CN120066387A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technologies, and particularly to an IO request scheduling method, apparatus, and readable medium. Background Art
[0002] In the case of a large amount of data being written, when the cache in the memory is full, the read and write speeds will drop rapidly, resulting in serious lag of the terminal. Memory manufacturers are also unable to solve the problem of speed decline. After the terminal products are sold, many users will have the need to transfer data between devices. During the one-key data transfer process, a large amount of data will be written, resulting in a serious decline in the access speed of eMMC (Embedded Multi Media Card), causing serious application lag. Users are unable to operate the mobile phone or open applications. The write speed of the eMMC memory can reach 240M, but after a large amount of data is written, the write speed will drop to about 30M. If applications continue to write data at this time, it will lead to serious application lag, inability to unlock the screen after locking, and inability to open applications, etc. Summary of the Invention
[0003] The present disclosure provides an IO request scheduling method, apparatus, and readable medium.
[0004] In a first aspect, an embodiment of the present disclosure provides an IO request scheduling method, including:
[0005] Obtaining input / output (IO) statistical information of a memory, where the IO statistical information is the IO statistical information of the memory corresponding to an IO request before a current first statistical period;
[0006] Adjusting the waiting time of a synchronous IO scheduling queue according to the IO statistical information to obtain an adjusted waiting time;
[0007] Scheduling the synchronous IO scheduling queue according to the adjusted waiting time.
[0008] In another aspect, an embodiment of the present disclosure further provides an IO request scheduling apparatus, including: one or more processors; a storage device storing one or more programs thereon; when the one or more programs are executed by the one or more processors, enabling the one or more processors to implement the IO request scheduling method as described above; one or more I / O interfaces connected between the processor and the storage device and configured to implement information interaction between the processor and the storage device.
[0009] In yet another aspect, an embodiment of the present disclosure further provides a computer-readable medium storing a computer program thereon, where the program, when executed, implements the IO request scheduling method as described above.
[0010] The IO request scheduling method provided by an embodiment of the present disclosure includes: obtaining the IO statistical information of a memory, where the IO statistical information is the IO statistical information of the memory corresponding to an IO request before the current first statistical period; adjusting the waiting time of a synchronous IO scheduling queue according to the IO statistical information to obtain an adjusted waiting time; and scheduling the synchronous IO scheduling queue according to the adjusted waiting time. The embodiment of the present disclosure can significantly improve the application response speed and reduce application jamming when there is a large amount of write data in the background, and will not affect the application response speed when there is no large amount of write data. Description of the Drawings
[0011] Figure 1 It is a flowchart showing the process of IO request scheduling provided by an embodiment of the present disclosure Figure 1 ;
[0012] Figure 2 It is a flowchart showing the process of obtaining IO statistical information provided by an embodiment of the present disclosure;
[0013] Figure 3 It is a flowchart showing the process of IO request scheduling provided by an embodiment of the present disclosure Figure 2 ;
[0014] Figure 4 It is a structural diagram of an IO request scheduling device provided by an embodiment of the present disclosure. Detailed Embodiments
[0015] Hereinafter, example embodiments will be described more fully with reference to the accompanying drawings. However, the example embodiments may be embodied in different forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of this disclosure to those skilled in the art.
[0016] As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0017] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit this disclosure. As used herein, the singular forms "a" and "the" are also intended to include the plural forms unless the context clearly indicates otherwise. It will also be understood that when the terms "comprises" and / or "is made of" are used in this specification, it specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0018] Embodiments described herein may be described with reference to plan views and / or cross-sectional views by means of ideal schematic diagrams of the present disclosure. Accordingly, the example illustrations may be modified according to manufacturing techniques and / or tolerances. Therefore, the embodiments are not limited to the embodiments shown in the drawings, but include modifications of configurations formed based on manufacturing processes. Accordingly, the regions illustrated in the drawings have schematic properties, and the shapes of the regions shown in the figures illustrate the specific shapes of the regions of the elements, but are not intended to be restrictive.
[0019] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted as having an idealized or overly formal meaning unless expressly so defined herein.
[0020] Common scheduling algorithms in the Linux operating system include mq-deadline, bfq, kyber, etc. When the memory hardware speed is slow, due to the limitation of the IO (Input / Output) processing speed, the response speed of the application will slow down, resulting in application lag problems. To improve the user experience, improving the application response speed has always been the goal of system optimization, and the improvement of the IO response speed has a great impact on the application response speed.
[0021] In the related art, applications are divided into two categories. The first type of thread is a thread that executes tasks related to user interaction events, and its IO channel corresponds to the first type of channel. The second type of thread is a thread that does not execute user interaction events, and the corresponding IO channel is the second type of channel. If there is an idle first type of channel and there is an IO operation to be allocated in the first type of queue, the first type of IO operation is allocated to the first type of idle channel, otherwise the second type of IO operation is allocated to the second type of idle channel. However, the process read IO operation is a synchronous operation. In many cases, it is necessary to wait for the current IO operation to complete before the subsequent IO operation can be issued according to the read content. In this way, there will be a time interval in the issuance of IO operations, resulting in no synchronous read IO operations to be issued for a certain period of time. Moreover, in order to optimize performance, the operating system writes data into memory, and the background process then flushes it into the hardware memory. When a large amount of data is written, because data is being written all the time, it will cause write data to compete with read data, resulting in a decrease in the read data processing volume, and still causing the response of the process to slow down.
[0022] To solve the above problems, the embodiments of the present disclosure monitor the read and write conditions of the memory, and adjust the waiting time of the scheduling queue in real time according to the IO operation occupancy rate, so as to solve the application lag problem even when the access speed drops severely, enabling the mobile terminal to operate normally, and at the same time not affecting the application startup speed when there are no large amounts of IO operations.
[0023] An embodiment of the present disclosure provides an IO request scheduling method. As Figure 1 shown, the method is applied to an IO request scheduling device, and the method includes the following steps:
[0024] Step S11: Obtain the IO statistical information of the memory. The IO statistical information is the IO statistical information of the memory corresponding to the IO requests before the current first statistical period.
[0025] In some embodiments, the IO statistical information includes the IO operation occupancy rate. The IO operation occupancy rate is the IO operation occupancy rate of a statistical period, which may include the read operation occupancy rate and the write operation occupancy rate, or the IO operation occupancy rate may also include the write operation occupancy rate. In this step, when the IO request scheduling device issues an IO operation, it determines the memory corresponding to the IO operation according to the IO operation request, and obtains the IO statistical information of the memory before the current statistical period for this memory.
[0026] Step S12: Adjust the waiting time of the synchronous IO scheduling queue according to the IO statistical information to obtain the adjusted waiting time.
[0027] The waiting time is the time when there is no new IO operation in the synchronous IO scheduling queue and waits for a new IO operation to be issued without switching to other synchronous IO scheduling queues. If no new IO operation is issued when the waiting time reaches, it will switch to other synchronous IO scheduling queues.
[0028] Step S13: Schedule the synchronous IO scheduling queue according to the adjusted waiting time.
[0029] There are two types of IO operations, read and write. Generally, the read operation needs to be completed before proceeding to the next step, and the shorter the processing time, the better. The write operation only writes the data into the memory, and other background processes are responsible for writing the data in the memory into the hardware memory, and this processing time requirement is not very high. The IO operations of the process are allocated to the synchronous IO scheduling queue and the asynchronous IO scheduling queue according to the type of IO operation. The IO request scheduling device schedules the synchronous IO scheduling queue according to the IO quota allocated by the system. If the quota is used up, it will switch to a new synchronous IO scheduling queue. However, if the quota is not used up and there are no new IO operations waiting to be processed, it will wait for a new IO operation to be issued within a certain waiting time (i.e., the waiting time).
[0030] The embodiment of the present disclosure periodically statistics the information related to IO operations, calculates the appropriate waiting time, and sends the calculated waiting time to the IO operation scheduler. The IO operation scheduler schedules the synchronous IO scheduling queue according to the newly calculated waiting time, so as to dynamically adjust the waiting time of the synchronous IO scheduling queue.
[0031] It should be noted that in the embodiments of the present disclosure, after step S13 is executed, step S11 is executed again, that is, the IO statistical information of the next statistical period is obtained.
[0032] The IO request scheduling method provided by the embodiments of the present disclosure includes: obtaining the IO statistical information of the memory before the first statistical period, adjusting the waiting time of the synchronous IO scheduling queue according to the IO statistical information, and scheduling the synchronous IO scheduling queue according to the adjusted waiting time; the embodiments of the present disclosure can significantly improve the application response speed when there is a large amount of write data in the background, reduce the application lag situation, and will not affect the application response speed when there is no large amount of write data.
[0033] In some embodiments, as Figure 2 shown, the obtaining of the IO statistical information of the memory (i.e., step S11) includes the following steps:
[0034] Step S111, obtaining the first processing duration accumulated for the same type of IO operation requests for the memory before the first statistical period.
[0035] When the types of IO operations include read operations and write operations, respectively determine the first processing duration rd_ticks1 accumulated for all read operations before the first statistical period and the first processing duration wr_ticks1 accumulated for all write operations before the first statistical period; when the type of IO operation is a write operation, determine the first processing duration wr_ticks1 accumulated for all write operations before the first statistical period.
[0036] Step S112, obtaining the second processing duration accumulated for the type of IO operation requests before a historical statistical period before the first statistical period.
[0037] When the types of IO operations include read operations and write operations, respectively determine the second processing duration rd_ticks0 accumulated for all read operations before a historical statistical period before the first statistical period and the first processing duration wr_ticks0 accumulated for all write operations before a historical statistical period before the first statistical period. When the type of IO operation is a write operation, determine the first processing duration wr_ticks0 accumulated for all write operations before a historical statistical period before the first statistical period. In some embodiments, the previous statistical period of the first statistical period is used as a historical statistical period before the first statistical period, so that the calculated IO statistical information is more accurate.
[0038] Step S113, calculating the occupancy rate of the type of IO operation according to the first processing duration, the second processing duration, and the difference between the first statistical period and the historical statistical period.
[0039] When the types of IO operations include read operations and write operations, according to the first cumulative processing duration rd_ticks1 of all read operations before the first statistical period, the first cumulative processing duration wr_ticks1 of all write operations before the first statistical period, the second cumulative processing duration rd_ticks0 of all read operations before a historical statistical period before the first statistical period, the first cumulative processing duration wr_ticks0 of all write operations before a historical statistical period before the first statistical period, and the difference between the first statistical period and the historical statistical period, calculate the read operation occupancy rate and the write operation occupancy rate respectively. When the type of IO operation is a write operation, according to the first cumulative processing duration wr_ticks1 of all write operations before the first statistical period, the first cumulative processing duration wr_ticks0 of all write operations before a historical statistical period before the first statistical period, and the difference between the first statistical period and the historical statistical period, calculate the write operation occupancy rate.
[0040] Specifically, calculating the occupancy rate of the type of IO operation according to the first processing duration, the second processing duration, and the difference between the first statistical period and the historical statistical period includes: calculating the difference between the first processing duration and the second processing duration, and calculating the ratio of the difference to the difference between the first statistical period and the historical statistical period to obtain the occupancy rate of the type of IO operation.
[0041] Among them, the read operation occupancy rate = (wr_ticks1 - wr_ticks0) / nT; the write operation occupancy rate = (rd_ticks1 - rd_ticks0) / nT; T is the first statistical period, and n is the number of statistical periods between the first statistical period and the historical statistics.
[0042] In some embodiments, adjusting the waiting time of the synchronous IO scheduling queue according to the IO statistical information (i.e., step S13) includes the following steps: when the IO operation occupancy rate is greater than the preset threshold, adjust the waiting time of the synchronous IO scheduling queue from the first waiting time to the second waiting time, where the second waiting time is greater than the first waiting time, that is, increase the waiting time of the synchronous IO scheduling queue; or, when the IO operation occupancy rate is less than or equal to the preset threshold, adjust the waiting time of the synchronous IO scheduling queue from the first waiting time to the third waiting time, where the third waiting time is less than the first waiting time, that is, decrease the waiting time of the synchronous IO scheduling queue.
[0043] In some embodiments, when the IO operation occupancy rate includes the write operation occupancy rate, the preset threshold includes a first preset threshold. Correspondingly, when the write operation occupancy rate is greater than the first preset threshold, the waiting time of the synchronous IO scheduling queue is adjusted from a first waiting time to a second waiting time, where the second waiting time is greater than the first waiting time, that is, the waiting time of the synchronous IO scheduling queue is increased; or, when the write operation occupancy rate is less than or equal to the first preset threshold, the waiting time of the synchronous IO scheduling queue is adjusted from the first waiting time to a third waiting time, where the third waiting time is less than the first waiting time, that is, the waiting time of the synchronous IO scheduling queue is decreased.
[0044] According to the write operation occupancy rate, it can be analyzed whether there are a large number of IO operations waiting to be processed in the asynchronous IO scheduling queue. If the write operation occupancy rate is larger, it means that there are a large number of write operations waiting to be scheduled in the asynchronous IO scheduling queue, or the write operations have been scheduled but not yet processed. At this time, the asynchronous IO operations will occupy the processing of synchronous IO operations, and the waiting time (slice_idle) of the synchronous IO scheduling queue should be increased to improve the response speed of the application.
[0045] In some embodiments, when the IO operation occupancy rate includes the read operation occupancy rate and the write operation occupancy rate, the preset threshold includes a first preset threshold and a second preset threshold. Correspondingly, when the write operation occupancy rate is greater than the first preset threshold and the read operation occupancy rate is greater than the second threshold, the waiting time of the synchronous IO scheduling queue is adjusted from a first waiting time to a second waiting time, where the second waiting time is greater than the first waiting time, that is, the waiting time of the synchronous IO scheduling queue is increased; or, when the write operation occupancy rate is less than or equal to the first preset threshold and the read operation occupancy rate is less than or equal to the second preset threshold, the waiting time of the synchronous IO scheduling queue is adjusted from the first waiting time to a third waiting time, where the third waiting time is less than the first waiting time, that is, the waiting time of the synchronous IO scheduling queue is decreased.
[0046] According to the read operation occupancy rate, it can be analyzed whether the synchronous IO scheduling queue can be processed in time. If the read operation occupancy rate is too large, it means that the synchronous IO operations are not processed in time. At this time, more waiting time (slice_idle) should be allocated to wait for new IO operations to be issued, so as to have sufficient time to process more synchronous IO operations.
[0047] In some embodiments, the difference between the second waiting time and the first waiting time is a first preset value, and / or the difference between the first waiting time and the third waiting time is a second preset value. That is to say, the waiting time of the synchronous IO scheduling queue is increased or decreased according to the preset value, that is, the waiting time is adjusted by a fixed value each time. Exemplarily, each adjustment can increase or decrease the current waiting time by 1 ms.
[0048] In some embodiments, as Figure 3 shown, after adjusting the waiting time of the synchronous IO scheduling queue according to the IO statistical information to obtain the adjusted waiting time (i.e., step S12), the IO request scheduling method may further include the following steps:
[0049] Step S13’, determine a second statistical period according to the adjusted waiting time and the waiting time corresponding to the previous statistical period of the first statistical period, where the second statistical period is the next statistical period of the first statistical period.
[0050] In some embodiments, the determining the second statistical period according to the adjusted waiting time and the waiting time corresponding to the previous statistical period of the first statistical period (i.e., step S13’) includes the following steps: in the case where the adjusted waiting time is not equal to the waiting time corresponding to the previous statistical period of the first statistical period, determine that the second statistical period is less than the first statistical period; or, in the case where the adjusted waiting time is equal to the waiting time corresponding to the previous statistical period of the first statistical period, determine that the second statistical period is equal to the first statistical period. That is to say, if the waiting time is adjusted within the current statistical period, whether it is increased or decreased, the next statistical period is shortened; if the waiting time is not adjusted within the current statistical period, the next statistical period remains unchanged and is still the duration of the first statistical period.
[0051] Dynamically adjusting the statistical period of the IO operation according to the change of the waiting time can improve the rationality of the IO scheduling and reduce the CPU occupancy rate. It should be noted that the statistical period of the IO statistical information may also not be adjusted, but a fixed statistical period may be adopted.
[0052] The embodiments of the present disclosure provide a new IO request scheduling scheme, which periodically detects the processing duration of the IO operation of the memory during the operation of the system, such as the processing duration of the read operation and the processing duration of the write operation, and obtains the IO statistical information according to the processing duration of the IO operation, such as the IO operation occupancy rate. Analyze whether there is a heavy IO and a situation where there is a read operation waiting to be processed according to the IO operation occupancy rate, so as to dynamically adjust the waiting time of the synchronous IO scheduling queue, improve the application response speed, and can solve both the problem of application lag when writing a large amount of data and the problem of slow application opening when there is no large amount of data to write. Taking a mobile phone as an example, the write speed of the eMMC memory can reach 240M, but after writing a large amount of data, the write speed will drop to about 30M. If the application continues to write data, it will cause problems such as serious application lag, inability to unlock the screen after locking, and inability to open the application. After applying the embodiments of the present disclosure, the application response speed can be significantly improved, the application response speed is not affected when there is no large amount of data to write, and the application response speed is significantly increased when there is a large amount of data being written in the background, reducing the application lag situation.
[0053] Currently, the optimization of IO request scheduling generally adopts process IO speed limit, priority adjustment, etc. When there is a large amount of data writing in the background, if the response speed of interactive applications is to be further improved, the writing operation speed in the background needs to be restricted. The embodiment of the present disclosure dynamically adjusts the waiting time relative to the IO speed limit, which can make each process share the bandwidth more fairly.
[0054] The mq-deadline scheduling algorithm is adopted to test the speed reduction of the eMMC memory. When a large amount of data writing operations are performed in the background and the internal cache of the eMMC memory is filled, the writing speed of the eMMC memory drops from 240M / s to about 34M / s due to hardware reasons. Due to the reduction of the data writing speed, a large number of writing operations cause the read operations to be unable to be processed in time, and the processing time of each IO operation becomes longer. When there is a large amount of data writing in the background, the mobile phone cannot be normally unlocked when the screen is off, and the application opening becomes slower. Taking the opening of a certain APP as an example, it takes more than one minute, and the normal use of the mobile phone is also severely stuck. After switching to the bfq algorithm and adopting a fixed waiting time scheme, without affecting the application opening speed during normal use, when there is a large amount of data writing in the background, it takes about 50s to open the APP. After applying the solution of the embodiment of the present disclosure, the opening speed of the APP can be reduced from 50s to 16s, the application opening speed is greatly improved, and the response speed of the APP is increased.
[0055] As Figure 4 shown, the embodiment of the present disclosure also provides an IO request scheduling device, which includes: one or more processors 401, a storage device 402, and one or more I / O interfaces 403; wherein, one or more programs are stored on the storage device 402, and when the one or more programs are executed by the one or more processors, the one or more processors 401 implement the IO request scheduling method provided in the foregoing embodiments; the I / O interface 403 is connected between the processor 401 and the storage device 402 and is configured to implement information interaction between the processor 401 and the storage device 402.
[0056] Among them, the processor 401 is a device with data processing capabilities, which includes but is not limited to a central processing unit (CPU), etc.; the storage device 402 is a device with data storage capabilities, which includes but is not limited to a random access memory (RAM, more specifically such as SDRAM, DDR, etc.), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory (FLASH); the I / O interface (read / write interface) 403 is connected between the processor 401 and the storage device 402 and can implement information interaction between the processor 401 and the storage device 402, which includes but is not limited to a data bus (Bus), etc.
[0057] The IO request scheduling device may be a mobile phone, a computer, a server, an embedded device, etc.
[0058] The embodiments of the present disclosure also provide a computer-readable medium, on which a computer program is stored, and when the computer program is executed, it implements the IO request scheduling method provided in the foregoing embodiments.
[0059] Those of ordinary skill in the art can understand that all or some of the steps in the methods disclosed above, and the functional modules / units in the devices, can be implemented as software, firmware, hardware, and appropriate combinations thereof. In the hardware implementation, the division of the functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be executed by several physical components in cooperation. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or may be implemented as hardware, or may be implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include a computer storage medium (or non-transitory medium) and a communication medium (or transitory medium). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable requests, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassette, tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, as is well known to those of ordinary skill in the art, a communication medium typically includes computer-readable requests, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium.
[0060] Example embodiments have been disclosed herein, and although specific terms have been used, they are used for and should be construed only for general illustrative purposes and not for purposes of limitation. In some instances, it will be apparent to those skilled in the art that, unless otherwise expressly stated, features, characteristics, and / or elements described in connection with a particular embodiment may be used alone or in combination with features, characteristics, and / or elements described in connection with other embodiments. Accordingly, those skilled in the art will understand that various forms and details may be changed without departing from the scope of the invention as set forth in the appended claims.
Claims
1. An IO request scheduling method, characterized in that, it includes: Obtaining input / output (IO) statistical information of a memory, where the IO statistical information is the IO statistical information of the memory corresponding to IO requests before the current first statistical period; Adjusting the waiting time of a synchronous IO scheduling queue according to the IO statistical information to obtain an adjusted waiting time; Scheduling the synchronous IO scheduling queue according to the adjusted waiting time.
2. The method according to claim 1, characterized in that, the IO statistical information includes an IO operation occupancy rate, and the obtaining of the input / output (IO) statistical information of the memory includes: Obtaining a first processing duration accumulated for the same type of IO operation requests for the memory before the first statistical period; Obtaining a second processing duration accumulated for the type of IO operation requests before a historical statistical period before the first statistical period; Calculating the IO operation occupancy rate of the type according to the first processing duration, the second processing duration, and the difference between the first statistical period and the historical statistical period.
3. The method according to claim 1, characterized in that, the IO statistical information includes an IO operation occupancy rate, and the adjusting of the waiting time of the synchronous IO scheduling queue according to the IO statistical information includes: In the case where the IO operation occupancy rate is greater than a preset threshold, adjusting the waiting time of the synchronous IO scheduling queue from a first waiting time to a second waiting time, where the second waiting time is greater than the first waiting time; or In the case where the IO operation occupancy rate is less than or equal to the preset threshold, adjusting the waiting time of the synchronous IO scheduling queue from the first waiting time to a third waiting time, where the third waiting time is less than the first waiting time.
4. The method according to claim 3, characterized in that, the type includes read operations and write operations, and the IO operation occupancy rate includes a read operation occupancy rate and a write operation occupancy rate; the preset threshold includes a first preset threshold and a second preset threshold; In the case where the write operation occupancy rate is greater than the first preset threshold and the read operation occupancy rate is greater than the second threshold, adjusting the waiting time of the synchronous IO scheduling queue from the first waiting time to the second waiting time, where the second waiting time is greater than the first waiting time; Or, In the case where the write operation occupancy rate is less than or equal to the first preset threshold and the read operation occupancy rate is less than or equal to the second preset threshold, adjusting the waiting time of the synchronous IO scheduling queue from the first waiting time to the third waiting time, where the third waiting time is less than the first waiting time.
5. The method according to claim 3, characterized in that, the type includes write operations, and the IO operation occupancy rate includes a write operation occupancy rate; the preset threshold includes a first preset threshold; In the case where the write operation occupancy rate is greater than the first preset threshold, adjusting the waiting time of the synchronous IO scheduling queue from the first waiting time to the second waiting time, where the second waiting time is greater than the first waiting time; Or, When the write operation occupancy rate is less than or equal to the first preset threshold, adjust the waiting time of the synchronous IO scheduling queue from the first waiting time to the third waiting time, where the third waiting time is less than the first waiting time.
6. The method according to claim 3, wherein, the difference between the second waiting time and the first waiting time is a first preset value, and / or the difference between the first waiting time and the third waiting time is a second preset value.
7. The method according to claim 1, wherein, after adjusting the waiting time of the synchronous IO scheduling queue according to the IO statistical information to obtain the adjusted waiting time, the method further includes: determining a second statistical period according to the adjusted waiting time and the waiting time corresponding to the previous statistical period of the first statistical period, where the second statistical period is the next statistical period of the first statistical period.
8. The method according to claim 7, wherein, the determining the second statistical period according to the adjusted waiting time and the waiting time corresponding to the previous statistical period of the first statistical period includes: when the adjusted waiting time is not equal to the waiting time corresponding to the previous statistical period of the first statistical period, determining that the second statistical period is less than the first statistical period; or, when the adjusted waiting time is equal to the waiting time corresponding to the previous statistical period of the first statistical period, determining that the second statistical period is equal to the first statistical period.
9. An IO request scheduling device, including: one or more processors; a storage device on which one or more programs are stored; when the one or more programs are executed by the one or more processors, enabling the one or more processors to implement the IO request scheduling method according to any one of claims 1-8; one or more I / O interfaces connected between the processor and the storage device, configured to implement information interaction between the processor and the storage device.
10. A computer-readable medium, on which a computer program is stored, wherein, the program, when executed, implements the IO request scheduling method according to any one of claims 1-8.