Scheduling implementation method and device for self-adaptive load multi-core CPU (Central Processing Unit) of solid state disk

By establishing a computing power requirement table and dynamically adjusting the number of CPUs and execution time, the problem of power consumption and waste of solid-state drives in different Workloads is solved, the performance and power consumption are matched, and the energy efficiency ratio is improved.

CN119201448APending Publication Date: 2024-12-27SHENZHEN YILIAN INFORMATION SYST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411256760.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

When solid-state drives are processed in different host workloads, they are always processed in accordance with the maximum performance configuration, resulting in large power consumption and overhead, resulting in invalid waste and performance suppression. How to dynamically adjust power consumption to match computing power requirements is an urgent problem.

Method used

By calibrating the computing power requirements of the SSD internal software and the computing power requirements of each software subsystem, establish a computing power requirement table, monitor the workload performance requirements of the host, and dynamically adjust the CPU number and execution time to match the current software computing power requirements and multi-core CPUs Computing power available.

Benefits of technology

It achieves a relatively accurate matching of performance and power consumption, improves the overall energy efficiency ratio, and reduces the heat generation and power consumption of the disk.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201448A_ABST
    Figure CN119201448A_ABST
Patent Text Reader

Abstract

The invention relates to a scheduling implementation method and device for a self-adaptive load multi-core CPU of a solid state disk, computer equipment and a storage medium. The method comprises the steps that the total computing power requirement of SSD internal software and the computing power requirement of each software subsystem are calibrated, and a computing power requirement table is established; monitoring a Workload performance demand of the host, and searching a computing power demand table according to the counted read-write bandwidth and IOPS scene characteristics to obtain a current software total computing power demand of the host; the number and frequency of current CPUs are obtained, and the total computing power capable of being provided by the current SSD is calculated; and if the difference between the total computing power demand of the current software and the total computing power which can be provided by the multi-core CPU exceeds a preset threshold value, dynamically adjusting the number of active CPUs. According to the method, the computing power demand table is created, the computing power demand is measured and calculated by monitoring the Workload of the host, and the number of the active CPUs is dynamically adjusted according to the computing power demand, so that the total computing power which can be provided is adjusted, relatively accurate matching of performance and power consumption can be realized, and the optimal energy efficiency ratio is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of solid state hard disks, and in particular to a method, device, computer equipment and storage medium for implementing scheduling of a solid state hard disk adaptively loaded multi-core CPU. Background Art

[0002] SSD (solid state drive) has been widely used in various occasions. At present, it has gradually replaced the traditional HDD in the PC market, providing users with a better experience in terms of reliability and performance. As the interface speed increases, the overall performance of SSD is also getting higher and higher. For example, the bandwidth of Gen 5 has been raised to 14+GB / s, which requires high computing power of the CPU, so multiple cores are needed to process read and write in parallel.

[0003] During the operation of the SSD, the workload input by the host will change, and the SSD computing power required under different workloads is different, and even the subdivided computing power requirements of each software subsystem are different. However, if the SSD is always processed according to the maximum performance configuration, its power consumption overhead will be extremely large and cause ineffective waste, causing the disk to generate too much heat and enter thermal regulation early, thereby inhibiting performance. Therefore, how to dynamically adjust the power consumption overhead of the SSD according to different host workloads is a problem that needs to be solved urgently. Summary of the invention

[0004] Based on this, it is necessary to provide a scheduling implementation method, device, computer equipment and storage medium for a solid state drive adaptive load multi-core CPU in response to the above technical problems.

[0005] A method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive, the method comprising:

[0006] Calibrate the total computing power requirements of the SSD internal software and the computing power requirements of each software subsystem and establish a computing power requirement table;

[0007] Monitor the workload performance requirements of the host, and search the computing power requirement table based on the statistical read and write bandwidth and IOPS scenario characteristics to obtain the current total computing power requirements of the host software;

[0008] Get the current number and frequency of CPUs and calculate the total computing power that the current SSD can provide;

[0009] If the gap between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds the preset threshold, the number of active CPUs will be dynamically adjusted.

[0010] In one embodiment, if the difference between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds a preset threshold, the step of dynamically adjusting the number of active CPUs further includes:

[0011] Determine whether the total computing power that the multi-core CPU can provide is greater than a certain threshold of the total computing power requirement of the current software obtained by querying the table entry. If so, reduce the number of active CPUs according to the total computing power requirement;

[0012] Determine whether the total computing power that the multi-core CPU can provide is less than a certain threshold of the current software total computing power requirement obtained by querying the table entry. If so, increase the number of active CPUs according to the total computing power requirement.

[0013] In one embodiment, the method further comprises:

[0014] Compare the computing power requirements of each software subsystem in the computing power requirements table with the current actual computing power distribution of each software subsystem;

[0015] If the existing deviation exceeds the preset threshold, the execution time of each software subsystem will be adjusted according to the computing power requirements of each software subsystem.

[0016] In one embodiment, the fields in the computing power requirement table include: scenario number, basic scenarios including read bandwidth requirement, read IOPS requirement, write bandwidth requirement, write IOS requirement, total software computing power requirement, FE subsystem computing power requirement, ME subsystem computing power requirement, and BE subsystem computing power requirement;

[0017] The method also includes calculating the total computing power requirements and the computing power requirements of each subsystem respectively under the maximum read bandwidth scenario, the maximum read IOPS scenario, the maximum write bandwidth scenario, and the maximum write IOPS scenario, and calculating and defining the computing power requirements of other mixed scenarios according to different proportions of the basic scenarios.

[0018] A scheduling implementation device for a solid state hard disk adaptive load multi-core CPU, the device comprising:

[0019] A creation module, which is used to calibrate the total computing power requirements of the SSD internal software and the computing power requirements of each software subsystem and establish a computing power requirement table;

[0020] A monitoring module is used to monitor the workload performance requirements of the host, and to search the computing power requirement table to obtain the current total computing power requirements of the host software according to the statistical read and write bandwidth and IOPS scenario characteristics;

[0021] A calculation module, which is used to obtain the number and frequency of the current CPUs and calculate the total computing power that the current SSD can provide;

[0022] The scheduling module is used to dynamically adjust the number of active CPUs if the difference between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds a preset threshold.

[0023] In one embodiment, the scheduling module is further used to:

[0024] Determine whether the total computing power that the multi-core CPU can provide is greater than a certain threshold of the total computing power requirement of the current software obtained by querying the table entry. If so, reduce the number of active CPUs according to the total computing power requirement;

[0025] Determine whether the total computing power that the multi-core CPU can provide is less than a certain threshold of the current software total computing power requirement obtained by querying the table entry. If so, increase the number of active CPUs according to the total computing power requirement.

[0026] In one embodiment, the scheduling module is further used to:

[0027] Compare the computing power requirements of each software subsystem in the computing power requirements table with the current actual computing power distribution of each software subsystem;

[0028] If the existing deviation exceeds the preset threshold, the execution time of each software subsystem will be adjusted according to the computing power requirements of each software subsystem.

[0029] In one embodiment, the fields in the computing power requirement table include: scenario number, basic scenarios including read bandwidth requirement, read IOPS requirement, write bandwidth requirement, write IOS requirement, total software computing power requirement, FE subsystem computing power requirement, ME subsystem computing power requirement, and BE subsystem computing power requirement;

[0030] The device is also used to calculate the total computing power requirements and the computing power requirements of each subsystem under the maximum read bandwidth scenario, the maximum read IOPS scenario, the maximum write bandwidth scenario, and the maximum write IOPS scenario, and calculate and define the computing power requirements of other mixed scenarios according to different proportions of the basic scenarios.

[0031] A computer device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above methods when executing the computer program.

[0032] A computer-readable storage medium stores a computer program, wherein the computer program implements the steps of any one of the above methods when executed by a processor.

[0033] The above-mentioned SSD adaptive load multi-core CPU scheduling implementation method, device, computer equipment and storage medium, by calibrating the total computing power requirements of the SSD internal software and the computing power requirements of each software subsystem and establishing a computing power requirement table; monitoring the host's workload performance requirements, according to the statistical read and write bandwidth and IOPS scene characteristics, searching the computing power requirement table to obtain the host's current software total computing power requirements; obtaining the number and frequency of the current CPUs and calculating the total computing power that the current SSD can provide; if the difference between the current software total computing power requirements and the total computing power that the multi-core CPU can provide exceeds a preset threshold, the number of active CPUs is dynamically adjusted. In the present invention, a computing power requirement table is created, and its computing power requirements are measured by monitoring the host's workload, and the number of active CPUs is dynamically adjusted according to the computing power requirements, thereby adjusting the total computing power that can be provided, and then it is possible to achieve a relatively accurate match between performance and power consumption, and achieve the best energy efficiency ratio. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 Schematic diagram of traditional SSD multi-core software deployment;

[0035] Figure 2 This is a schematic diagram of the computing power requirements of each software subsystem in a typical scenario in a traditional SSD;

[0036] Figure 3 A schematic diagram of a flow chart of a method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive in one embodiment;

[0037] Figure 4 is a schematic diagram of a computing power requirement table in an embodiment;

[0038] Figure 5 A schematic flow chart of a method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive in another embodiment;

[0039] Figure 6 It is a structural block diagram of a device for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive in one embodiment;

[0040] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0041] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0042] Currently, if Figure 1 The following is a schematic diagram of traditional SSD multi-core software deployment:

[0043] The firmware runs inside the SSD to process host commands, which typically includes multiple subsystem task sets: FE, Front End, handles host interface protocol and command interaction; ME, Middle End, handles the conversion of logical addresses to physical addresses of host commands; BE, Back End, handles physical NAND operations.

[0044] Typically, when processing host read and write commands, FE obtains the command and parses it before passing it to the ME subsystem for processing; the ME subsystem converts the logical address to the physical address, and passes the corresponding physical address operation request to the BE; the BE subsystem reads and writes data based on the corresponding physical address operation request. There are multiple CPUs inside the SSD, and all of them remain in working order to provide powerful computing power. When designing the firmware, the CPU computing power is statically allocated to each software subsystem. In this scenario, since the computing power is sufficient, it can be allocated according to the maximum computing power requirement of each software subsystem in any scenario, which can ensure the performance of the SSD under any host workload.

[0045] like Figure 2 The figure shows the computing power requirements of each software subsystem in a typical scenario in SSD. It can be seen that the computing power requirements of each software subsystem are dynamically changing under different host workloads. According to the traditional principle of maximum allocation, the total computing power will be higher than the actual computing power requirements and the computing power of each software subsystem will be unbalanced, which will lead to low energy efficiency.

[0046] Based on this, the present invention provides a scheduling implementation method for a solid state drive adaptive load multi-core CPU, aiming to achieve dynamic adjustment of the multi-core CPU to improve energy efficiency.

[0047] In one embodiment, Figure 3 As shown, a method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive is provided, the method comprising:

[0048] Step 302, calibrate the total computing power requirement of the SSD internal software and the computing power requirement of each software subsystem and establish a computing power requirement table;

[0049] Step 304: Monitor the workload performance requirements of the host, and search the computing power requirement table to obtain the current total computing power requirements of the host software according to the statistical read and write bandwidth and IOPS scenario characteristics;

[0050] Step 306, obtaining the current number and frequency of CPUs and calculating the total computing power that the current SSD can provide;

[0051] Step 308: If the difference between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds a preset threshold, the number of active CPUs is dynamically adjusted.

[0052] In this embodiment, a scheduling implementation method for a multi-core CPU with adaptive load of a solid-state drive is provided. The method calibrates the total computing power requirements of the SSD internal software and the computing power requirements of each software subsystem, and establishes a computing power requirement table. Monitor the workload performance requirements of the host, search the computing power requirement table, and if the gap between the current total software computing power requirements and the computing power provided by the multi-core CPU is too large, dynamically increase or decrease the number of active CPUs. In addition, on the basis of the total computing power matching, further dynamically adjust the operating weights of each software subsystem to allocate reasonable computing power. By real-time tracking of the host workload performance requirements, adjusting the number of CPUs and the execution weights of each software subsystem, the power consumption of the disk can be effectively reduced while ensuring performance, thereby improving overall competitiveness.

[0053] In one embodiment, the fields in the computing power requirement table include: scenario number, basic scenarios including read bandwidth requirement, read IOPS requirement, write bandwidth requirement, write IOS requirement, total software computing power requirement, FE subsystem computing power requirement, ME subsystem computing power requirement, and BE subsystem computing power requirement;

[0054] The method also includes calculating the total computing power requirements and the computing power requirements of each subsystem respectively under the maximum read bandwidth scenario, the maximum read IOPS scenario, the maximum write bandwidth scenario, and the maximum write IOPS scenario, and calculating and defining the computing power requirements of other mixed scenarios according to different proportions of the basic scenarios.

[0055] refer to Figure 4 The figure shows a schematic diagram of the computing power requirement table introduced in this embodiment, which is used to accurately match the current workload of the host. It specifically includes the following fields:

[0056] Index, the corresponding scene number;

[0057] Scenario: It consists of four basic performance factors: read bandwidth requirement, read IOPS requirement, write bandwidth requirement, and write IOS requirement;

[0058] Total software computing power requirement (MIPS): The total computing power requirement of each software subsystem, in MIPS (million instructions per second);

[0059] Software subsystem-FE computing power requirement (MIPS): the computing power requirement of the FE subsystem in the corresponding scenario;

[0060] Software subsystem-ME computing power requirement (MIPS): the computing power requirement of the ME subsystem in the corresponding scenario;

[0061] Software subsystem-BE computing power requirement (MIPS): The computing power requirement of the BE subsystem in the corresponding scenario;

[0062] During the SSD design phase, four basic performance scenarios are measured, such as:

[0063] Scenario 1: Total computing power and computing power requirements of each subsystem under maximum read bandwidth (14GB / s);

[0064] Scenario 2: Total computing power and computing power requirements of each subsystem under maximum read IOPS (1,000,000 IOPS);

[0065] Scenario 3: Total computing power and computing power requirements of each subsystem under maximum write bandwidth (12GB / s);

[0066] Scenario 2: Total computing power and computing power requirements of each subsystem under maximum write IOPS (800,000 IOPS);

[0067] Then, according to the different proportions of the four basic scenarios, calculate and define the computing power requirements of other hybrid scenarios.

[0068] For example, if a scenario is "10% maximum read bandwidth + 20% maximum read IOPS + 20% maximum write bandwidth + 10% maximum write IOPS", the corresponding computing power requirement in this scenario is the sum of the computing power in the corresponding basic performance scenario: total computing power requirement for software = 10% total computing power requirement for scenario 1 + 20% total computing power requirement for scenario 2 + 20% total computing power requirement for scenario 3 + 10% total computing power requirement for scenario 4;

[0069] Software subsystem-FE computing power requirement = 10% of scenario 1 software subsystem-FE computing power requirement + 20% of scenario 2 software subsystem-FE computing power requirement + 20% of scenario 3 software subsystem-FE computing power requirement + 10% of scenario 4 software subsystem-FE computing power requirement;

[0070] Software subsystem-ME computing power requirement = 10% of scenario 1 software subsystem-ME computing power requirement + 20% of scenario 2 software subsystem-ME computing power requirement + 20% of scenario 3 software subsystem-ME computing power requirement + 10% of scenario 4 software subsystem-ME computing power requirement;

[0071] Software subsystem-BE computing power requirement = 10% of scenario 1 software subsystem-BE computing power requirement + 20% of scenario 2 software subsystem-BE computing power requirement + 20% of scenario 3 software subsystem-BE computing power requirement + 10% of scenario 4 software subsystem-BE computing power requirement.

[0072] Before the disk leaves the factory, the computing power requirement table is created, including the computing power requirements of the four basic scenarios mentioned above, as well as the computing power requirements of other scenarios with different mixed ratios. The corresponding table is written into the SSD disk, retained when power is off, and reloaded into the SSD memory after power is on.

[0073] Next, count the workload characteristics of the host within a period and extract the performance requirements of different basic scenarios to test the ratio of relative maximum values. According to the mixed ratio of the four basic scenarios, find the corresponding performance computing power table and the best matching table entry.

[0074] Then, based on the feedback of the table entry that best matches the current host workload, obtain its total computing power requirement and compare it with the total computing power that the current active CPU can provide. If the deviation is too large, dynamically adjust the number of active CPUs so that the total computing power that the CPU can provide matches the total computing power required by the current host workload. It should be noted that after the total computing power is matched, further compare the computing power requirements of each software subsystem in the table entry with the actual computing power allocation of each software subsystem. If the deviation is too large, adjust the execution time of the corresponding software subsystem, that is, adjust the corresponding allocated computing power.

[0075] In the above embodiment, the total computing power requirement of the SSD internal software and the computing power requirements of each software subsystem are calibrated and a computing power requirement table is established; the workload performance requirements of the host are monitored, and the computing power requirement table is searched according to the statistical read and write bandwidth and IOPS scene characteristics to obtain the total computing power requirement of the host's current software; the number and frequency of the current CPUs are obtained and the total computing power that the current SSD can provide is calculated; if the difference between the current software total computing power requirement and the total computing power that the multi-core CPU can provide exceeds a preset threshold, the number of active CPUs is dynamically adjusted. In the present invention, a computing power requirement table is created, and the computing power requirement of the host is measured by monitoring the workload of the host, and the number of active CPUs is dynamically adjusted according to the computing power requirement, thereby adjusting the total computing power that can be provided, and then relatively accurate matching of performance and power consumption can be achieved, and the best energy efficiency ratio can be achieved.

[0076] In one embodiment, a method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive is provided. In this method, if the difference between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds a preset threshold, the step of dynamically adjusting the number of active CPUs also includes:

[0077] Determine whether the total computing power that the multi-core CPU can provide is greater than a certain threshold of the total computing power requirement of the current software obtained by querying the table entry. If so, reduce the number of active CPUs according to the total computing power requirement;

[0078] Determine whether the total computing power that the multi-core CPU can provide is less than a certain threshold of the current software total computing power requirement obtained by querying the table entry. If so, increase the number of active CPUs according to the total computing power requirement.

[0079] In one embodiment, a method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive is provided, the method further comprising:

[0080] Compare the computing power requirements of each software subsystem in the computing power requirements table with the current actual computing power distribution of each software subsystem;

[0081] If the existing deviation exceeds the preset threshold, the execution time of each software subsystem will be adjusted according to the computing power requirements of each software subsystem.

[0082] Specifically, please refer to Figure 5 The flowchart of the method for implementing the scheduling of a multi-core CPU with a solid state drive adaptive load is shown in FIG. The specific implementation steps are as follows:

[0083] Step 5.1: Design and measure the computing power requirements and distribution in typical test scenarios.

[0084] Step 5.2: Create a computing power demand table (Loading_Distribution_Table) based on different scenarios of host workload.

[0085] Step 5.3: After the system is powered on, the number of active CPUs (total computing power) and the computing power distribution of each software subsystem are activated according to the default values; the load monitoring module monitors the characteristics of the host command.

[0086] Step 5.4: The load monitoring module searches Loading_Distribution_Table periodically (customized, such as 10s) based on the statistical read / write bandwidth / IOPS scenario characteristics.

[0087] Step 5.5: Get the table entry closest to the current scenario of the host, recorded as Cur_Scenario_Loading.

[0088] Step 5.6: Get the current number and frequency of CPUs and calculate the total computing power that the current SSD can provide: Cur_Available_MIPS.

[0089] Step 5.7: Check whether Cur_Available_MIPS is greater than a certain threshold (customized, such as 200 MIPS, etc.) of the total computing power requirement of the software in the Cur_Scenario_Loading table item; if so, continue with step 5.8; if not, jump to step 5.9.

[0090] Step 5.8: Based on the total computing power requirement, the load scheduling module reduces the number of active CPUs and jumps to step 5.11.

[0091] Step 5.9: Check whether Cur_Available_MIPS is less than a certain threshold (customized, such as 200 MIPS, etc.) of the total computing power requirement of the software in the Cur_Scenario_Loading table item; if so, proceed to step 5.10; if not, jump to step 5.11.

[0092] Step 5.10: Based on the total computing power demand, the load scheduling module increases the number of active CPUs.

[0093] Step 5.11: Compare the computing power requirements of each software subsystem in Cur_Scenario_Loading with the actual computing power distribution of each software subsystem.

[0094] Step 5.12: The computing power requirements of each software subsystem in Cur_Scenario_Loading and the actual computing power distribution of each software subsystem currently allocated deviate by a certain threshold (customized, such as 20 MIPS, etc.); if so, continue to step 5.13; if not, jump to step 5.14.

[0095] Step 5.13: According to the computing power requirements of each software subsystem, the load scheduling module adjusts the execution time (CPU computing power distribution) of each software subsystem.

[0096] Step 5.14: The load scheduling module ends the current adjustment process and jumps to step 5.4.

[0097] In this embodiment, on the basis of total computing power matching, the operation weight of each software subsystem is further dynamically adjusted to allocate reasonable computing power. By real-time tracking of the host workload performance requirements, adjusting the number of CPUs and the execution weight of each software subsystem, the power consumption of the disk can be effectively reduced while ensuring performance, thereby improving overall competitiveness.

[0098] It should be understood that although Figure 1-Figure 5 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1-Figure 5At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0099] In one embodiment, Figure 6 As shown, a scheduling implementation device 600 for a solid state drive adaptive load multi-core CPU is provided, and the device includes:

[0100] A creation module 601 is used to calibrate the total computing power requirement of the SSD internal software and the computing power requirement of each software subsystem and establish a computing power requirement table;

[0101] Monitoring module 602, which is used to monitor the workload performance requirements of the host, and to search the computing power requirement table according to the statistical read and write bandwidth and IOPS scenario characteristics to obtain the current total computing power requirements of the host software;

[0102] A calculation module 603, which is used to obtain the number and frequency of the current CPUs and calculate the total computing power that the current SSD can provide;

[0103] The scheduling module 604 is used to dynamically adjust the number of active CPUs if the difference between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds a preset threshold.

[0104] In one embodiment, the scheduling module 604 is further configured to:

[0105] Determine whether the total computing power that the multi-core CPU can provide is greater than a certain threshold of the total computing power requirement of the current software obtained by querying the table entry. If so, reduce the number of active CPUs according to the total computing power requirement;

[0106] Determine whether the total computing power that the multi-core CPU can provide is less than a certain threshold of the current software total computing power requirement obtained by querying the table entry. If so, increase the number of active CPUs according to the total computing power requirement.

[0107] In one embodiment, the scheduling module 604 is further configured to:

[0108] Compare the computing power requirements of each software subsystem in the computing power requirements table with the current actual computing power distribution of each software subsystem;

[0109] If the existing deviation exceeds the preset threshold, the execution time of each software subsystem will be adjusted according to the computing power requirements of each software subsystem.

[0110] In one embodiment, the fields in the computing power requirement table include: scenario number, basic scenarios including read bandwidth requirement, read IOPS requirement, write bandwidth requirement, write IOS requirement, total software computing power requirement, FE subsystem computing power requirement, ME subsystem computing power requirement, and BE subsystem computing power requirement;

[0111] The device is also used to calculate the total computing power requirements and the computing power requirements of each subsystem under the maximum read bandwidth scenario, the maximum read IOPS scenario, the maximum write bandwidth scenario, and the maximum write IOPS scenario, and calculate and define the computing power requirements of other mixed scenarios according to different proportions of the basic scenarios.

[0112] The specific limitations of the SSD adaptive load multi-core CPU scheduling implementation device can be found in the above limitations of the SSD adaptive load multi-core CPU scheduling implementation method, which will not be repeated here.

[0113] In one embodiment, a computer device is provided, whose internal structure diagram can be as follows: Figure 7 As shown. The computer device includes a processor, a memory and a network interface connected through a device bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating device, a computer program and a database. The internal memory provides an environment for the operation of the operating device and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a scheduling implementation method for a solid-state hard disk adaptive load multi-core CPU is implemented.

[0114] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0115] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps in the above method embodiments when executing the computer program.

[0116] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0117] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in the present application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0118] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0119] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. A method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive, the method comprising: Calibrate the total computing power requirements of the SSD internal software and the computing power requirements of each software subsystem and establish a computing power requirement table; Monitor the workload performance requirements of the host, and search the computing power requirement table based on the statistical read and write bandwidth and IOPS scenario characteristics to obtain the current total computing power requirements of the host software; Get the current number and frequency of CPUs and calculate the total computing power that the current SSD can provide; If the gap between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds the preset threshold, the number of active CPUs will be dynamically adjusted.

2. The method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive according to claim 1, characterized in that: If the difference between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds a preset threshold, the step of dynamically adjusting the number of active CPUs also includes: Determine whether the total computing power that the multi-core CPU can provide is greater than a certain threshold of the total computing power requirement of the current software obtained by querying the table entry. If so, reduce the number of active CPUs according to the total computing power requirement; Determine whether the total computing power that the multi-core CPU can provide is less than a certain threshold of the current software total computing power requirement obtained by querying the table entry. If so, increase the number of active CPUs according to the total computing power requirement.

3. The method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive according to claim 1, characterized in that: The method further comprises: Compare the computing power requirements of each software subsystem in the computing power requirements table with the current actual computing power distribution of each software subsystem; If the existing deviation exceeds the preset threshold, the execution time of each software subsystem will be adjusted according to the computing power requirements of each software subsystem.

4. The method for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive according to any one of claims 1 to 3, characterized in that: The fields in the computing power requirement table include: scenario number, basic scenarios including read bandwidth requirement, read IOPS requirement, write bandwidth requirement, write IOS requirement, total software computing power requirement, FE subsystem computing power requirement, ME subsystem computing power requirement and BE subsystem computing power requirement; The method also includes calculating the total computing power requirements and the computing power requirements of each subsystem respectively under the maximum read bandwidth scenario, the maximum read IOPS scenario, the maximum write bandwidth scenario, and the maximum write IOPS scenario, and calculating and defining the computing power requirements of other mixed scenarios according to different proportions of the basic scenarios.

5. A scheduling implementation device for a solid state drive adaptive load multi-core CPU, characterized in that: The device comprises: A creation module, which is used to calibrate the total computing power requirements of the SSD internal software and the computing power requirements of each software subsystem and establish a computing power requirement table; A monitoring module is used to monitor the workload performance requirements of the host, and to search the computing power requirement table to obtain the current total computing power requirements of the host software according to the statistical read and write bandwidth and IOPS scenario characteristics; A calculation module, which is used to obtain the number and frequency of the current CPUs and calculate the total computing power that the current SSD can provide; The scheduling module is used to dynamically adjust the number of active CPUs if the difference between the total computing power required by the current software and the total computing power that can be provided by the multi-core CPU exceeds a preset threshold.

6. The device for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive according to claim 5, characterized in that: The scheduling module is also used for: Determine whether the total computing power that the multi-core CPU can provide is greater than a certain threshold of the total computing power requirement of the current software obtained by querying the table entry. If so, reduce the number of active CPUs according to the total computing power requirement; Determine whether the total computing power that the multi-core CPU can provide is less than a certain threshold of the current software total computing power requirement obtained by querying the table entry. If so, increase the number of active CPUs according to the total computing power requirement.

7. The device for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive according to claim 5, characterized in that: The scheduling module is also used for: Compare the computing power requirements of each software subsystem in the computing power requirements table with the current actual computing power distribution of each software subsystem; If the existing deviation exceeds the preset threshold, the execution time of each software subsystem will be adjusted according to the computing power requirements of each software subsystem.

8. The device for implementing scheduling of a multi-core CPU with adaptive load of a solid state drive according to any one of claims 5 to 7, characterized in that: The fields in the computing power requirement table include: scenario number, basic scenarios including read bandwidth requirement, read IOPS requirement, write bandwidth requirement, write IOS requirement, total software computing power requirement, FE subsystem computing power requirement, ME subsystem computing power requirement and BE subsystem computing power requirement; The device is also used to calculate the total computing power requirements and the computing power requirements of each subsystem under the maximum read bandwidth scenario, the maximum read IOPS scenario, the maximum write bandwidth scenario, and the maximum write IOPS scenario, and calculate and define the computing power requirements of other mixed scenarios according to different proportions of the basic scenarios.

9. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 4 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.