Iscsi-based io adaptive distribution method and system

By periodically monitoring and adaptively adjusting the CPU load in the iSCSI system, and dynamically adjusting the IO distribution strategy, the shortcomings of iSCSI technology in CPU load balancing are resolved, achieving optimal performance under different connection numbers.

CN122431878APending Publication Date: 2026-07-21CHINA ELECTRONICS CLOUD DIGITAL INTELLIGENCE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA ELECTRONICS CLOUD DIGITAL INTELLIGENCE TECH CO LTD
Filing Date
2026-04-23
Publication Date
2026-07-21

Smart Images

  • Figure CN122431878A_ABST
    Figure CN122431878A_ABST
Patent Text Reader

Abstract

The application discloses an iSCSI-based IO adaptive distribution method and system, relates to the technical field of CPU load, and comprises the following steps: periodically detecting the CPU load of each CPU; and based on a preset CPU high load range, a CPU low load range and a CPU medium load range, and in combination with a preset adaptive adjustment rule, adjusting the CPU load of the CPU so that the CPU load of the CPU is lower than the minimum value of the CPU high load range. The application periodically monitors the work load of the CPU, and in combination with the preset adaptive adjustment rule, performs load adaptive adjustment, so that IO adaptive distribution is realized and actual work requirements are met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of CPU load technology, specifically to an iSCSI-based adaptive IO distribution method and system. Background Technology

[0002] Currently, iSCSI only supports a single queue. To utilize CPU resources as much as possible, we distribute I / O received by a single CPU core to multiple cores for processing. This distribution strategy yields significant benefits when the number of connections is relatively small. However, if the number of connections sending and receiving I / O is comparable to the number of CPU cores, each core is already involved in I / O processing. In this case, not distributing I / O yields greater performance gains than distributing it.

[0003] Therefore, to meet practical work requirements, an iSCSI-based adaptive IO distribution technology is provided. Summary of the Invention

[0004] To address the shortcomings of existing technologies, the purpose of this application is to provide an iSCSI-based adaptive IO distribution method and system that periodically monitors the CPU workload and, in conjunction with preset adaptive adjustment rules, performs adaptive load adjustment to achieve adaptive IO distribution and meet actual work requirements.

[0005] To achieve the above objectives, the technical solution adopted in this application is as follows: In a first aspect, this application provides an iSCSI-based adaptive IO distribution method, the method comprising the following steps: Periodically monitor the CPU load of each CPU; Based on preset CPU high load range, CPU low load range, and CPU medium load range, and combined with preset adaptive adjustment rules, the CPU load of the CPU is adjusted so that the CPU load is lower than the minimum value of the CPU high load range.

[0006] Based on the above technical solution, the adaptive adjustment rule includes: When the CPU load of any CPU is in the high CPU load range, the CPU load of the CPU is distributed to the CPUs whose CPU load is lower than the lowest value of the high CPU load range, so that the CPU load of each CPU is lower than the lowest value of the high CPU load range.

[0007] Based on the above technical solution, the adaptive adjustment rule includes: When the CPU load of any of the CPUs is in the low CPU load range, the CPU load of the CPU is not adjusted.

[0008] Based on the above technical solution, the adaptive adjustment rule includes: When any of the CPUs undergoes load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load adjustment scheme is maintained.

[0009] Based on the above technical solution, the adaptive adjustment rule includes: When any of the CPUs is not under load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load of the CPU is not adjusted.

[0010] In summary, the technical details of the technical solution of this application in specific implementation are as follows: (1) CPU load detection function: This feature requires each CPU core to periodically test its own CPU load (0-100) and provide specific CPU load information (High, Low, Medium).

[0011] (2) Adaptively distribute I / O functions according to CPU load: This function determines the specific distribution strategy based on the CPU load of the current core and the load of other cores. Specifically: Rule 1: When a core is under high load, I / O is evenly distributed to other cores with lower load.

[0012] Rule 2: When a core has a low load, I / O is not distributed.

[0013] Rule 3: When a core load is medium, maintain the same distribution strategy. That is, if it was previously being distributed, continue distributing; if it was previously not being distributed, do not distribute.

[0014] Rule 4: Do not distribute if a low-load core cannot be found, unless Rule 5 is met.

[0015] Rule 5: When a scenario with few transmit and receive cores and high load is identified, the load can be distributed to other cores with higher load (Spec).

[0016] (3) Adaptive distribution parameter dynamic adjustment function: This feature allows for dynamic adjustment of parameters, the main parameters of which include: whether to enable adaptive distribution, CPU high load threshold, and CPU low load threshold.

[0017] It should be noted that when the number of connections between the CPU and the iSCSI module in the device is much smaller than the total number of CPU cores in the device, the I / O will be distributed to the I / O processing modules of other cores. When the number of connections between the CPU and the iSCSI module in the device is much greater than the total number of CPU cores in the device, no IO distribution processing is performed. Based on the above technical concepts, iSCSI's IO distribution is adaptive, avoiding human intervention, and achieving optimal performance for both single-connection and multi-connection scenarios. This allows for single-connection performance to be comparable to that of distribution, and multi-connection performance to be comparable to that of no distribution.

[0018] Secondly, this application provides an iSCSI-based adaptive IO distribution system based on the iSCSI-based adaptive IO distribution method mentioned in the first aspect, the system comprising: The load monitoring module is used to periodically monitor the CPU load of each CPU. The load adjustment module is used to adjust the CPU load of the CPU based on preset CPU high load range, CPU low load range and CPU medium load range, combined with preset adaptive adjustment rules, so that the CPU load of the CPU is lower than the minimum value of the CPU high load range.

[0019] Based on the above technical solution, the adaptive adjustment rule includes: When the CPU load of any CPU is in the high CPU load range, the CPU load of the CPU is distributed to the CPUs whose CPU load is lower than the lowest value of the high CPU load range, so that the CPU load of each CPU is lower than the lowest value of the high CPU load range.

[0020] Based on the above technical solution, the adaptive adjustment rule includes: When the CPU load of any of the CPUs is in the low CPU load range, the CPU load of the CPU is not adjusted.

[0021] Based on the above technical solution, the adaptive adjustment rule includes: When any of the CPUs undergoes load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load adjustment scheme is maintained.

[0022] Based on the above technical solution, the adaptive adjustment rule includes: When any of the CPUs is not under load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load of the CPU is not adjusted.

[0023] In summary, the technical details of the technical solution of this application in specific implementation are as follows: (1) CPU load detection function: This feature requires each CPU core to periodically test its own CPU load (0-100) and provide specific CPU load information (High, Low, Medium).

[0024] (2) Adaptively distribute I / O functions according to CPU load: This function determines the specific distribution strategy based on the CPU load of the current core and the load of other cores. Specifically: Rule 1: When a core is under high load, I / O is evenly distributed to other cores with lower load.

[0025] Rule 2: When a core has a low load, I / O is not distributed.

[0026] Rule 3: When a core load is medium, maintain the same distribution strategy. That is, if it was previously being distributed, continue distributing; if it was previously not being distributed, do not distribute.

[0027] Rule 4: Do not distribute if a low-load core cannot be found, unless Rule 5 is met.

[0028] Rule 5: When a scenario with few transmit and receive cores and high load is identified, the load can be distributed to other cores with higher load (Spec).

[0029] (3) Adaptive distribution parameter dynamic adjustment function: This feature allows for dynamic adjustment of parameters, the main parameters of which include: whether to enable adaptive distribution, CPU high load threshold, and CPU low load threshold.

[0030] It should be noted that when the number of connections between the CPU and the iSCSI module in the device is much smaller than the total number of CPU cores in the device, the I / O will be distributed to the I / O processing modules of other cores. When the number of connections between the CPU and the iSCSI module in the device is much greater than the total number of CPU cores in the device, no IO distribution processing is performed. Based on the above technical concepts, iSCSI's IO distribution is adaptive, avoiding human intervention, and achieving optimal performance for both single-connection and multi-connection scenarios. This allows for single-connection performance to be comparable to that of distribution, and multi-connection performance to be comparable to that of no distribution.

[0031] Compared with the prior art, the advantages of this application are: This application periodically monitors the CPU workload and, in conjunction with preset adaptive adjustment rules, performs adaptive load adjustment to achieve adaptive I / O distribution and meet actual work requirements. Attached Figure Description

[0032] Terminology Explanation: iSCSI: Internet Small Computer System Interface; CPU: Central Processing Unit; IO stands for I / O, which stands for Input / Output.

[0033] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0034] Figure 1 This is a flowchart illustrating the steps of the iSCSI-based adaptive IO distribution method according to an embodiment of this application. Figure 2 This is a schematic diagram illustrating the principle of I / O distribution in the iSCSI-based adaptive I / O distribution system according to an embodiment of this application. Figure 3 This is a schematic diagram illustrating the principle of the iSCSI-based adaptive IO distribution system in this application when no IO distribution is performed; Figure 4 This is a block diagram of the iSCSI-based adaptive IO distribution system according to an embodiment of this application. Detailed Implementation

[0035] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0036] The embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0037] This application provides an iSCSI-based adaptive IO distribution method and system, which periodically monitors the CPU workload and, in conjunction with preset adaptive adjustment rules, performs adaptive load adjustment to achieve adaptive IO distribution and meet actual work requirements.

[0038] To achieve the aforementioned technical effects, the overall concept of this application is as follows: An iSCSI-based adaptive I / O distribution method, comprising the following steps: S1. Periodically detect the CPU load of each CPU; S2. Based on preset CPU high load range, CPU low load range, and CPU medium load range, and combined with preset adaptive adjustment rules, adjust the CPU load so that the CPU load is lower than the minimum value of the CPU high load range.

[0039] The embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0040] Firstly, see [the following] Figures 1-3 As shown in the figure, this application embodiment provides an iSCSI-based adaptive IO distribution method, which includes the following steps: S1. Periodically detect the CPU load of each CPU; S2. Based on preset CPU high load range, CPU low load range, and CPU medium load range, and combined with preset adaptive adjustment rules, adjust the CPU load so that the CPU load is lower than the minimum value of the CPU high load range.

[0041] In this embodiment, the CPU workload is periodically monitored, and the workload is adaptively adjusted in combination with preset adaptive adjustment rules to achieve adaptive IO distribution and meet actual work requirements.

[0042] It should be noted that iSCSI utilizes TCP / IP ports 860 and 3260 as communication channels. By exchanging SCSI commands between two computers using the iSCSI protocol, the computers can emulate a SAN as a local storage device through a high-speed LAN hub.

[0043] iSCSI uses the TCP / IP protocol (typically TCP ports 860 and 3260). Essentially, iSCSI allows two hosts to negotiate and exchange SCSI commands over an IP network. In this way, iSCSI emulates a commonly used high-performance local storage bus over a wide area network, thus creating a Storage Area Network (SAN). Unlike some SAN protocols, iSCSI does not require dedicated cabling; it can run on existing switching and IP infrastructure. However, without a dedicated network or subnet (LAN or VLAN), the deployment performance of an iSCSI SAN can be significantly degraded. Therefore, iSCSI is often considered a low-cost alternative to Fibre Channel, which requires dedicated infrastructure. However, Ethernet-based Fibre Channel (FCoE) does not require dedicated infrastructure.

[0044] Although iSCSI can communicate with any type of SCSI device, system administrators almost always use it to connect server computers (e.g., database servers) to storage arrays on disk volumes. The purposes of using iSCSI SANs are typically twofold: Storage integration companies aim to move disparate storage resources from servers scattered across a network to a unified location (often a data center); this allows for more efficient storage allocation. Servers in a SAN environment can receive newly allocated disk volumes without any hardware or cabling changes.

[0045] Disaster recovery companies want to mirror storage resources from one data center to another remote data center, which can then be used as a hot backup in the event of a prolonged power outage. In particular, iSCSI SAN allows us to migrate entire disk arrays over a WAN with minimal configuration changes, essentially making storage "routable," just like regular network communication.

[0046] From a data storage perspective, for an already running computer, any type of general-purpose network interface can be used to access iSCSI devices. However, a general-purpose consumer-grade network interface cannot boot a diskless computer from a remote iSCSI data source. Instead, for servers, the typical approach is to load the operating system from a small local RAID mirror or flash drive boot device, boot from the local device, and then use iSCSI to access data storage.

[0047] For computers equipped with network interface devices (NICs) that support network booting, a separate DHCP server can be configured to assist with "iSCSI booting". In this case, the NIC will look for a DHCP server that provides a PXE or BOOTP boot image. The DHCP server will provide the corresponding iSCSI boot target device / volume information based on the MAC address of the boot NIC, and then the computer can begin the process of remotely booting from iSCSI.

[0048] Custom iSCSI interface cards offer built-in BIOS functionality, allowing you to pre-specify an iSCSI target device for the interface and then boot directly from a boot server (without needing a separate DHCP server), thus reducing the complexity of network configuration.

[0049] Furthermore, the adaptive adjustment rule includes: When the CPU load of any CPU is in the high CPU load range, the CPU load of the CPU is distributed to the CPUs whose CPU load is lower than the lowest value of the high CPU load range, so that the CPU load of each CPU is lower than the lowest value of the high CPU load range.

[0050] Furthermore, the adaptive adjustment rule includes: When the CPU load of any of the CPUs is in the low CPU load range, the CPU load of the CPU is not adjusted.

[0051] Furthermore, the adaptive adjustment rule includes: When any of the CPUs undergoes load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load adjustment scheme is maintained.

[0052] Furthermore, the adaptive adjustment rule includes: When any of the CPUs is not under load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load of the CPU is not adjusted.

[0053] In summary, the technical solutions of the embodiments of this application, in specific implementation, are as follows: (1) CPU load detection function: This feature requires each CPU core to periodically test its own CPU load (0-100) and provide specific CPU load information (High, Low, Medium).

[0054] (2) Adaptively distribute I / O functions according to CPU load: This function determines the specific distribution strategy based on the CPU load of the current core and the load of other cores. Specifically: Rule 1: When a core is under high load, I / O is evenly distributed to other cores with lower load.

[0055] Rule 2: When a core has a low load, I / O is not distributed.

[0056] Rule 3: When a core load is medium, maintain the same distribution strategy. That is, if it was previously being distributed, continue distributing; if it was previously not being distributed, do not distribute.

[0057] Rule 4: Do not distribute if a low-load core cannot be found, unless Rule 5 is met.

[0058] Rule 5: When a scenario with few transmit and receive cores and high load is identified, the load can be distributed to other cores with higher load (Spec).

[0059] (3) Adaptive distribution parameter dynamic adjustment function: This feature allows for dynamic adjustment of parameters, the main parameters of which include: whether to enable adaptive distribution, CPU high load threshold, and CPU low load threshold.

[0060] It should be noted that, as shown in the attached diagram of the instruction manual... Figure 2 As shown, when the number of connections between the CPU and the iSCSI module in the device is much smaller than the total number of CPU cores in the device, the I / O is distributed to the I / O processing modules of other cores. As shown in the attached diagram of the instruction manual. Figure 3 As shown, when the number of connections between the CPU and the iSCSI module in the device is much greater than the total number of CPU cores in the device, no IO distribution processing is performed; Based on the above technical concepts, iSCSI's IO distribution is adaptive, avoiding human intervention, and achieving optimal performance for both single-connection and multi-connection scenarios. This allows for single-connection performance to be comparable to that of distribution, and multi-connection performance to be comparable to that of no distribution.

[0061] Secondly, see Figure 4 As shown, this application embodiment provides an iSCSI-based adaptive IO distribution system based on the iSCSI-based adaptive IO distribution method mentioned in the first aspect, the system comprising: The load monitoring module is used to periodically monitor the CPU load of each CPU. The load adjustment module is used to adjust the CPU load of the CPU based on preset CPU high load range, CPU low load range and CPU medium load range, combined with preset adaptive adjustment rules, so that the CPU load of the CPU is lower than the minimum value of the CPU high load range.

[0062] In this embodiment, the CPU workload is periodically monitored, and the workload is adaptively adjusted in combination with preset adaptive adjustment rules to achieve adaptive IO distribution and meet actual work requirements.

[0063] Furthermore, the adaptive adjustment rule includes: When the CPU load of any CPU is in the high CPU load range, the CPU load of the CPU is distributed to the CPUs whose CPU load is lower than the lowest value of the high CPU load range, so that the CPU load of each CPU is lower than the lowest value of the high CPU load range.

[0064] Furthermore, the adaptive adjustment rule includes: When the CPU load of any of the CPUs is in the low CPU load range, the CPU load of the CPU is not adjusted.

[0065] Furthermore, the adaptive adjustment rule includes: When any of the CPUs undergoes load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load adjustment scheme is maintained.

[0066] Furthermore, the adaptive adjustment rule includes: When any of the CPUs is not under load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load of the CPU is not adjusted.

[0067] In summary, the technical solutions of the embodiments of this application, in specific implementation, are as follows: (1) CPU load detection function: This feature requires each CPU core to periodically test its own CPU load (0-100) and provide specific CPU load information (High, Low, Medium).

[0068] (2) Adaptively distribute I / O functions according to CPU load: This function determines the specific distribution strategy based on the CPU load of the current core and the load of other cores. Specifically: Rule 1: When a core is under high load, I / O is evenly distributed to other cores with lower load.

[0069] Rule 2: When a core has a low load, I / O is not distributed.

[0070] Rule 3: When a core load is medium, maintain the same distribution strategy. That is, if it was previously being distributed, continue distributing; if it was previously not being distributed, do not distribute.

[0071] Rule 4: Do not distribute if a low-load core cannot be found, unless Rule 5 is met.

[0072] Rule 5: When a scenario with few transmit and receive cores and high load is identified, the load can be distributed to other cores with higher load (Spec).

[0073] (3) Adaptive distribution parameter dynamic adjustment function: This feature allows for dynamic adjustment of parameters, the main parameters of which include: whether to enable adaptive distribution, CPU high load threshold, and CPU low load threshold.

[0074] It should be noted that when the number of connections between the CPU and the iSCSI module in the device is much smaller than the total number of CPU cores in the device, the I / O will be distributed to the I / O processing modules of other cores. When the number of connections between the CPU and the iSCSI module in the device is much greater than the total number of CPU cores in the device, no IO distribution processing is performed. Based on the above technical concepts, iSCSI's IO distribution is adaptive, avoiding human intervention, and achieving optimal performance for both single-connection and multi-connection scenarios. This allows for single-connection performance to be comparable to that of distribution, and multi-connection performance to be comparable to that of no distribution.

[0075] In summary, the iSCSI-based adaptive IO distribution system provided in this application is similar to the iSCSI-based adaptive IO distribution method mentioned in the first aspect in terms of technical principles, technical problems, technical solutions, and technical effects, and will not be elaborated here.

[0076] In the description of this application, it should be noted that the terms "upper," "lower," etc., indicating the orientation or positional relationship are based on the orientation or positional relationship shown in the accompanying drawings, and are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application. Unless otherwise expressly specified and limited, the terms "installed," "connected," and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication between two elements. For those skilled in the art, the specific meaning of the above terms in this application can be understood according to the specific circumstances.

[0077] It should be noted that in this application, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0078] The above description is merely a specific embodiment of this application, enabling those skilled in the art to understand or implement this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.

Claims

1. An iSCSI-based adaptive I / O distribution method, characterized in that, The method includes the following steps: Periodically monitor the CPU load of each CPU; Based on preset CPU high load range, CPU low load range, and CPU medium load range, and combined with preset adaptive adjustment rules, the CPU load of the CPU is adjusted so that the CPU load is lower than the minimum value of the CPU high load range.

2. The iSCSI-based adaptive IO distribution method as described in claim 1, characterized in that, The adaptive adjustment rules include: When the CPU load of any CPU is in the high CPU load range, the CPU load of the CPU is distributed to the CPUs whose CPU load is lower than the lowest value of the high CPU load range, so that the CPU load of each CPU is lower than the lowest value of the high CPU load range.

3. The iSCSI-based adaptive IO distribution method as described in claim 1, characterized in that, The adaptive adjustment rules include: When the CPU load of any of the CPUs is in the low CPU load range, the CPU load of the CPU is not adjusted.

4. The iSCSI-based adaptive IO distribution method as described in claim 1, characterized in that, The adaptive adjustment rules include: When any of the CPUs undergoes load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load adjustment scheme is maintained.

5. The iSCSI-based adaptive IO distribution method as described in claim 1, characterized in that, The adaptive adjustment rules include: When any of the CPUs is not under load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load of the CPU is not adjusted.

6. An iSCSI-based adaptive I / O distribution system, characterized in that, The system includes: The load monitoring module is used to periodically monitor the CPU load of each CPU. The load adjustment module is used to adjust the CPU load of the CPU based on preset CPU high load range, CPU low load range and CPU medium load range, combined with preset adaptive adjustment rules, so that the CPU load of the CPU is lower than the minimum value of the CPU high load range.

7. The iSCSI-based adaptive IO distribution system as described in claim 6, characterized in that, The adaptive adjustment rules include: When the CPU load of any CPU is in the high CPU load range, the CPU load of the CPU is distributed to the CPUs whose CPU load is lower than the lowest value of the high CPU load range, so that the CPU load of each CPU is lower than the lowest value of the high CPU load range.

8. The iSCSI-based adaptive IO distribution system as described in claim 6, characterized in that, The adaptive adjustment rules include: When the CPU load of any of the CPUs is in the low CPU load range, the CPU load of the CPU is not adjusted.

9. The iSCSI-based adaptive IO distribution system as described in claim 6, characterized in that, The adaptive adjustment rules include: When any of the CPUs undergoes load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load adjustment scheme is maintained.

10. The iSCSI-based adaptive IO distribution system as described in claim 6, characterized in that, The adaptive adjustment rules include: When any of the CPUs is not under load adjustment, and the CPU load of the CPU is within the medium load range of the CPU, the CPU load of the CPU is not adjusted.