A distributed computing resource scheduling system based on load balancing
By designing a distributed computing resource scheduling system based on load balancing, analyzing the load status of nodes and allocating subtasks, the problem of unbalanced nodes in the existing system is solved, and task completion efficiency and resource utilization are improved.
Patent Information
- Application Number
- CN202411735590.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2044-11-29
AI Technical Summary
The existing resource scheduling system uses tasks as the analysis object when allocating resources, resulting in large loads of some nodes and small loads of some nodes, and failing to fully utilize the efficiency advantages of distributed computing.
A distributed computing resource scheduling system based on load balancing is designed, including a request management module, a status monitoring module, a balanced scheduling module and a task management module. Through load evaluation processor, gear division processor and node selection processor, analyze the load state of the node, quantify the load changes, and select the appropriate node to assign subtasks to achieve load balancing.
By splitting tasks into multiple subtasks and assigning them to appropriate nodes, the task completion efficiency is improved, ensuring that all nodes are in a balanced state, and making full use of computing resources.
Smart Images

Figure CN119248508B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of electronic digital data processing, and in particular to a distributed computing resource scheduling system based on load balancing. Background Art
[0002] Distributed computing can use multiple distributed nodes to process different computing tasks of the same project, effectively improving the completion speed of the project. Scheduling resources of different nodes to process tasks will have different improvement effects. Therefore, a system is needed to analyze and control the scheduling of resources to better play the advantages of distributed computing.
[0003] The foregoing discussion of the background art is intended only to facilitate an understanding of the present invention. This discussion does not acknowledge or admit that any of the material referred to is part of the common general knowledge.
[0004] Now many resource scheduling systems have been developed. After a lot of searching and reference, it is found that the existing resource scheduling systems are such as the system disclosed in the publication number CN112148471B. These system methods generally include: obtaining the cumulative allocated resources of each spark task in the batch tasks to be processed in the distributed computing system; according to the cumulative allocated resources of each spark task in the batch tasks, allocating an executor to each spark task in the batch tasks. In the embodiment of the present application, based on the cumulative allocated resources of each spark task in the batch tasks, an executor is allocated to each spark task in the batch tasks, which is conducive to shortening the time for the distributed computing system to process batch tasks. However, in the process of allocating resources, the system allocates computing resources based on tasks as analysis objects, resulting in the situation that some nodes have heavy loads and some nodes have light loads, so that the advantages of distributed computing in improving efficiency are not fully utilized. Summary of the invention
[0005] The purpose of the present invention is to propose a distributed computing resource scheduling system based on load balancing in view of the existing deficiencies.
[0006] The present invention adopts the following technical solution:
[0007] A distributed computing resource scheduling system based on load balancing, including a request management module, a status monitoring module, a balanced scheduling module and a task management module;
[0008] The request management module is used to receive and manage user request information, the status monitoring module is used to monitor the operating status of each distributed node, the balanced scheduling module performs scheduling analysis on resources based on the monitoring information, and the task management module is used to manage data during task execution;
[0009] The request management module includes a request receiving unit, a request caching unit and a request parsing unit, wherein the request receiving unit is used to receive task request information, the request caching unit is used to cache the request information, and the request parsing unit is used to parse the request information to obtain a specific task;
[0010] The state monitoring module includes a resource monitoring unit, a state storage unit and a health detection unit. The resource monitoring unit is used to monitor the resource utilization data of each node, the state storage unit is used to centrally store the state data of the node, and the health detection unit is used to check the health status of the node;
[0011] The balanced scheduling module includes a balanced analysis unit, a scheduling control unit and a node management unit, wherein the balanced analysis unit is used to analyze the balanced state of the node, the scheduling control unit is used to control the scheduling process of the task, and the node management unit is used to manage the task assignment information of the node;
[0012] The task management module includes a task decomposition unit, an execution control unit and a data aggregation unit. The task decomposition unit is used to decompose the user task into subtasks, the execution control unit manages the execution process and data exchange of the subtasks, and the data aggregation unit is used to summarize the execution results of the task and feed them back to the user.
[0013] Furthermore, the balancing analysis unit includes a load evaluation processor, a gear division processor and a node selection processor. The load evaluation processor is used to evaluate the load value, the gear division processor is used to perform gear statistics on the load value within a reference time period, and the node selection processor selects the node for task sub-assignment based on the statistical results.
[0014] Furthermore, the load evaluation processor calculates the load value Ld according to the following formula:
[0015] ;
[0016] Among them, u(CPU) is the CPU usage, u(RAM) is the memory usage, is the CPU weight, is the memory weight;
[0017] The load evaluation processor outputs two load functions Ld(T) and Ld'(T) by calculating the load value, where T is the reference time period, Ld(T) is the load value change function of the node within the reference time period, and Ld'(T) is the simulated load value change function after the node adds a subtask within the reference time period.
[0018] Furthermore, the gear division processor divides the load value according to the following formula:
[0019] ;
[0020] Among them, a and b are the dividing boundary points, and Lv is the gear value;
[0021] The gear division processor processes Ld(T) and Ld'(T) respectively to obtain statistical data , , , , and ,in, Indicates the duration of time when the gear value of Ld(T) is 1. Indicates the duration when the Ld(T) mid-level value is 2. Indicates the duration of the Ld(T) mid-level value being 3. Indicates the duration of the time when the gear value of Ld'(T) is 1. Indicates the duration when the gear value of Ld'(T) is 2. Indicates the duration when the gear value of Ld'(T) is 3.
[0022] Furthermore, the node selection processor calculates the resource index P according to the following formula:
[0023] ;
[0024] Among them, T1 represents the duration when the gear value is 1, T2 represents the duration when the gear value is 2, and T3 represents the duration when the gear value is 3;
[0025] The node selection processor substitutes the statistical data of Ld(T) and Ld'(T) into the processing to obtain the original resource index P1 and the simulated resource index P2;
[0026] The node selection processor calculates the priority index Q of the node according to the following formula:
[0027] ;
[0028] The node selection processor selects a node with the smallest priority index as a node to which a subtask is assigned.
[0029] The beneficial effects achieved by the present invention are:
[0030] This system splits each project task into multiple subtasks, and distributes subtasks to appropriate nodes by analyzing the load status of the nodes to improve the efficiency of task completion. When analyzing the load status, it quantifies the load changes of the nodes, analyzes the impact of distributing subtasks on the nodes, and selects appropriate nodes based on the impact, so that all nodes can be in a balanced state, ensuring full utilization of computing resources.
[0031] To further understand the features and technical contents of the present invention, please refer to the following detailed description and drawings of the present invention. However, the drawings provided are only for reference and description and are not intended to limit the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 It is a schematic diagram of the overall structural framework of the present invention;
[0033] Figure 2 This is a schematic diagram of the request management module of the present invention;
[0034] Figure 3 This is a schematic diagram of the state monitoring module of the present invention;
[0035] Figure 4 This is a schematic diagram of the balanced scheduling module of the present invention;
[0036] Figure 5 This is a schematic diagram of the task management module of the present invention;
[0037] Figure 6 It is the experimental data effect diagram of the present invention. DETAILED DESCRIPTION
[0038] The following is an explanation of the embodiments of the present invention through specific embodiments. Those skilled in the art can understand the advantages and effects of the present invention from the contents disclosed in this specification. The present invention can be implemented or applied through other different specific embodiments, and the details in this specification can also be modified and changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. In addition, the drawings of the present invention are only simple schematic illustrations and are not depicted according to actual sizes. It is stated in advance. The following embodiments will further explain the relevant technical contents of the present invention in detail, but the disclosed contents are not intended to limit the scope of protection of the present invention.
[0039] Embodiment 1: This embodiment provides a distributed computing resource scheduling system based on load balancing, combined with Figure 1 , including request management module, status monitoring module, balanced scheduling module and task management module.
[0040] The request management module is used to receive and manage user request information, the status monitoring module is used to monitor the operating status of each distributed node, the balanced scheduling module performs scheduling analysis on resources based on the monitoring information, and the task management module is used to manage data during task execution.
[0041] The request management module includes a request receiving unit, a request caching unit and a request parsing unit. The request receiving unit is used to receive task request information, the request caching unit is used to cache the request information, and the request parsing unit is used to parse the request information to obtain a specific task.
[0042] The status monitoring module includes a resource monitoring unit, a status storage unit and a health detection unit. The resource monitoring unit is used to monitor the resource utilization data of each node, the status storage unit is used to centrally store the status data of the node, and the health detection unit is used to check the health status of the node.
[0043] The balanced scheduling module includes a balanced analysis unit, a scheduling control unit and a node management unit. The balanced analysis unit is used to analyze the balanced state of the node, the scheduling control unit is used to control the scheduling process of the task, and the node management unit is used to manage the task assignment information of the node.
[0044] The task management module includes a task decomposition unit, an execution control unit and a data aggregation unit. The task decomposition unit is used to decompose the user task into subtasks, the execution control unit manages the execution process and data exchange of the subtasks, and the data aggregation unit is used to summarize the execution results of the task and feed them back to the user.
[0045] The balancing analysis unit includes a load evaluation processor, a gear division processor and a node selection processor. The load evaluation processor is used to evaluate the load value, the gear division processor is used to perform gear statistics on the load value within a reference time period, and the node selection processor selects the node for task sub-allocation based on the statistical results.
[0046] The load evaluation processor calculates the load value Ld according to the following formula:
[0047] .
[0048] Among them, u(CPU) is the CPU usage, u(RAM) is the memory usage, is the CPU weight, is the memory weight.
[0049] The load evaluation processor outputs two load functions Ld(T) and Ld'(T) by calculating the load value, where T is the reference time period, Ld(T) is the load value change function of the node within the reference time period, and Ld'(T) is the simulated load value change function after the node adds a subtask within the reference time period.
[0050] The gear division processor divides the load value according to the following formula:
[0051] .
[0052] Among them, a and b are dividing boundary points, and Lv is the gear value.
[0053] The gear division processor processes Ld(T) and Ld'(T) respectively to obtain statistical data , , , , and ,in, Indicates the duration of time when the gear value of Ld(T) is 1. Indicates the duration when the Ld(T) mid-level value is 2. Indicates the duration of the Ld(T) mid-level value being 3. Indicates the duration of the time when the gear value of Ld'(T) is 1. Indicates the duration when the gear value of Ld'(T) is 2. Indicates the duration when the gear value of Ld'(T) is 3.
[0054] The node selection processor calculates the resource index P according to the following formula:
[0055] .
[0056] Among them, T1 represents the duration when the gear value is 1, T2 represents the duration when the gear value is 2, and T3 represents the duration when the gear value is 3.
[0057] The node selection processor substitutes the statistical data of Ld(T) and Ld'(T) into the processing to obtain the original resource index P1 and the simulated resource index P2.
[0058] The node selection processor calculates the priority index Q of the node according to the following formula:
[0059] .
[0060] The node selection processor selects a node with the smallest priority index as a node to which a subtask is assigned.
[0061] Embodiment 2: This embodiment includes all the contents of Embodiment 1, and provides a distributed computing resource scheduling system based on load balancing, including a request management module, a status monitoring module, a balanced scheduling module and a task management module.
[0062] The request management module is used to receive and manage user request information, the status monitoring module is used to monitor the operating status of each distributed node, the balanced scheduling module performs scheduling analysis on resources based on the monitoring information, and the task management module is used to manage data during task execution.
[0063] Combination Figure 2 The request management module includes a request receiving unit, a request caching unit and a request parsing unit. The request receiving unit is used to receive task request information, the request caching unit is used to cache the request information, and the request parsing unit is used to parse the request information to obtain a specific task.
[0064] Combination Figure 3 The status monitoring module includes a resource monitoring unit, a status storage unit and a health detection unit. The resource monitoring unit is used to monitor the resource utilization data of each node, the status storage unit is used to centrally store the status data of the node, and the health detection unit is used to check the health status of the node.
[0065] Combination Figure 4 The balanced scheduling module includes a balanced analysis unit, a scheduling control unit and a node management unit. The balanced analysis unit is used to analyze the balanced state of the node, the scheduling control unit is used to control the scheduling process of the task, and the node management unit is used to manage the task assignment information of the node.
[0066] Combination Figure 5 The task management module includes a task decomposition unit, an execution control unit and a data aggregation unit. The task decomposition unit is used to decompose the user task into subtasks, the execution control unit manages the execution process and data exchange of the subtasks, and the data aggregation unit is used to summarize the execution results of the task and feed them back to the user.
[0067] The process of processing user requests by this system includes the following steps:
[0068] S1. The request management module receives the user's request information, converts it into task information, and sends it to the task management module.
[0069] S2. The task decomposition unit decomposes the task into subtasks.
[0070] S3. The balance analysis module obtains subtasks and determines the allocation nodes of the subtasks based on the balance state.
[0071] S4. The scheduling control unit schedules the subtask data to the assigned nodes.
[0072] S5. The node management unit updates the task assignment information of the node.
[0073] S6. The execution control unit receives the execution result fed back by the subtask, and sends it to the corresponding node based on the task assignment information of the node.
[0074] S7. The data summary unit waits to receive the execution results of all subtasks of the same project, summarizes them and feeds them back to the user.
[0075] The request receiving unit includes a user verification processor, a format verification processor and a project establishment processor. The user verification processor is used to verify the authority of the user identity, the format verification processor is used to verify the integrity of the request information, and the project establishment processor is used to create project information after the verification is passed.
[0076] The request cache unit includes a storage queue register and an input / output control processor. The storage queue register is used to store request information, and the input / output control processor is used for the input and output process of the request information in the queue.
[0077] The request parsing unit includes a task mapping processor, a data capture processor and a task conversion processor. The task mapping processor is used to identify key information in the request information and map it to the corresponding task type. The data capture processor obtains the corresponding task data based on the data address in the request information. The task conversion processor is used to convert the request information into task information and send it to the task management module.
[0078] The task type determines the task framework, and the task framework and task data constitute the task information.
[0079] The resource monitoring unit includes a CPU monitoring processor, a memory monitoring processor and a monitoring reporting processor. The CPU monitoring processor is used to monitor the real-time usage of the node CPU, the memory monitoring processor is used to monitor the real-time usage of the node memory, and the monitoring reporting processor is used to periodically send monitoring data to the status storage unit.
[0080] The state storage unit includes a storage identification processor, a monitoring data register and a time management processor. The storage identification processor is used to identify the sending node of the monitoring data and store it in the corresponding area. The monitoring data register is used to save the received monitoring data. The time management processor is used to assign a time tag to the monitoring data.
[0081] The health detection unit includes a packet loss detection processor, an anomaly detection processor and a health mark processor. The packet loss detection processor is used to detect the packet loss rate of the monitoring data, the anomaly detection processor is used to perform an anomaly analysis on the monitoring data, and the health mark processor records the health status of the node based on the analysis result.
[0082] The balancing analysis unit includes a load evaluation processor, a gear division processor and a node selection processor. The load evaluation processor is used to evaluate the load value, the gear division processor is used to perform gear statistics on the load value within a reference time period, and the node selection processor selects the node for task sub-allocation based on the statistical results.
[0083] The load evaluation processor calculates the load value Ld according to the following formula:
[0084] .
[0085] Among them, u(CPU) is the CPU usage, u(RAM) is the memory usage, is the CPU weight, is the memory weight.
[0086] The gear division processor divides the load value according to the following formula:
[0087] .
[0088] Among them, a and b are dividing boundary points, and Lv is the gear value.
[0089] The load evaluation processor outputs two load functions Ld(T) and Ld'(T) by calculating the load value, where T is the reference time period, Ld(T) is the load value change function of the node within the reference time period, and Ld'(T) is the simulated load value change function after the node adds a subtask within the reference time period.
[0090] When the load evaluation processor processes and obtains the load value variation function, it processes and obtains u(CPU) and u(RAM) according to the following formula:
[0091] .
[0092] .
[0093] in, To directly monitor the CPU usage, The memory usage is directly monitored.
[0094] When the load evaluation processor processes and obtains the simulated load value variation function, it processes and obtains u(CPU) and u(RAM) according to the following formula:
[0095] .
[0096] .
[0097] Among them, uA is the total CPU resource of the node, rA is the total memory of the node, is the CPU consumption of the subtask, The memory consumption of the subtask.
[0098] The gear division processor processes Ld(T) and Ld'(T) respectively to obtain statistical data , , , , and ,in, Indicates the duration of time when the gear value of Ld(T) is 1. Indicates the duration when the Ld(T) mid-level value is 2. Indicates the duration of the Ld(T) mid-level value being 3. Indicates the duration of the time when the gear value of Ld'(T) is 1. Indicates the duration when the gear value of Ld'(T) is 2. Indicates the duration when the gear value of Ld'(T) is 3.
[0099] The node selection processor calculates the resource index P according to the following formula:
[0100] .
[0101] Among them, T1 represents the duration when the gear value is 1, T2 represents the duration when the gear value is 2, and T3 represents the duration when the gear value is 3.
[0102] The node selection processor substitutes the statistical data of Ld(T) and Ld'(T) into the processing to obtain the original resource index P1 and the simulated resource index P2.
[0103] The node selection processor calculates the priority index Q of the node according to the following formula:
[0104] .
[0105] The node selection processor selects a node with the smallest priority index as a node to which a subtask is assigned.
[0106] The scheduling control unit includes a task reading processor and a task allocation processor. The task reading processor is used to read task information from the task management module, and the task allocation processor is used to allocate the read task information to the corresponding node.
[0107] The node management unit includes a task registration processor and a node address register. The task registration processor is used to update and record the subtasks assigned to each node, and the node address register is used to store the communication address information of each node.
[0108] The task decomposition unit includes a task segmentation processor, an encoding processor and a resource prediction processor. The task segmentation processor divides the task information of a project into multiple subtasks, the encoding processor is used to encode each subtask, and the resource prediction processor is used to predict the CPU consumption and memory consumption of each subtask.
[0109] The execution control unit includes a data transfer processor and a progress update processor. The data transfer processor is used to receive the execution data fed back by the node and forward it to the node where the corresponding subtask is located. The progress update processor updates and records the progress of the subtask based on the received execution data.
[0110] The data aggregation unit includes a project detection processor, a summary feedback processor and a project cleanup processor. The project detection processor is used to detect whether all subtasks under the same project have been executed. The summary feedback processor is used to aggregate the execution results of all subtasks under the same project and feed them back to the corresponding user. The project cleanup processor is used to clean up the project data after the project is completed.
[0111] The i appearing in the above text is an ordinal number used to indicate a sequence number.
[0112] The following is part of the code information of this system:
[0113] class LoadBalancer:
[0114] def __init__(self, cpu_weight, ram_weight):
[0115] self.cpu_weight = cpu_weight # CPU weight
[0116] self.ram_weight = ram_weight # memory weight
[0117] def calculate_load_value(self, u_cpu, u_ram):
[0118] """
[0119] Load evaluation processor: calculates the load value Ld
[0120] Ld = cpu_weight * u_cpu + ram_weight * u_ram
[0121] """
[0122] Ld = self.cpu_weight * u_cpu + self.ram_weight * u_ram
[0123] return Ld
[0124] def process_load_functions(self, u_cpu, u_ram, delta_cpu, delta_ram, total_cpu, total_ram):
[0125] """
[0126] Calculate Ld(T) and Ld'(T): Calculate the current and simulated load change functions
[0127] """
[0128] # Calculate Ld(T)
[0129] Ld_T_cpu = u_cpu / total_cpu
[0130] Ld_T_ram = u_ram / total_ram
[0131] # Calculate Ld'(T)
[0132] Ld_prime_T_cpu = (u_cpu + delta_cpu) / total_cpu
[0133] Ld_prime_T_ram = (u_ram + delta_ram) / total_ram
[0134] return Ld_T_cpu, Ld_T_ram, Ld_prime_T_cpu, Ld_prime_T_ram
[0135] class GearProcessor:
[0136] def __init__(self, boundary_a, boundary_b):
[0137] self.boundary_a = boundary_a
[0138] self.boundary_b = boundary_b
[0139] def assign_gear_level(self, Ld):
[0140] """
[0141] Gear division processor: divides the load value according to boundaries a and b
[0142] """
[0143] if Ld < self.boundary_a:
[0144] return 1
[0145] elif self.boundary_a <= Ld < self.boundary_b:
[0146] return 2
[0147] else:
[0148] return 3
[0149] def calculate_time_in_gears(self, load_values, gear_levels):
[0150] """
[0151] Statistical gear duration: Returns the accumulated time of gears 1, 2, and 3
[0152] """
[0153] T1 = T2 = T3 = 0
[0154] for Ld in load_values:
[0155] gear = self.assign_gear_level(Ld)
[0156] if gear == 1:
[0157] T1 += 1
[0158] elif gear == 2:
[0159] T2 += 1
[0160] elif gear == 3:
[0161] T3 += 1
[0162] return T1, T2, T3
[0163] class NodeSelector:
[0164] def __init__(self):
[0165] pass
[0166] def calculate_resource_index(self, T1, T2, T3):
[0167] """
[0168] Computing resource index P
[0169] def calculate_priority_index(self, P1, P2):
[0170] """
[0171] Compute node priority index Q
[0172] def select_node(self, nodes):
[0173] """
[0174] Select the node with the smallest priority index from the node list
[0175] """
[0176] min_priority_index = float('inf')
[0177] selected_node = None
[0178] for node in nodes:
[0179] Q = self.calculate_priority_index(node['P1'], node['P2'])
[0180] if Q < min_priority_index:
[0181] min_priority_index = Q
[0182] selected_node = node
[0183] return selected_node
[0184] Now we use 10 project tasks for testing, with this system as the experimental group and the ordinary system as the control group. The completion time of the test projects is compared, and the results are as follows: Figure 6 .
[0185] The contents disclosed above are only preferred feasible embodiments of the present invention, and do not limit the protection scope of the present invention. Therefore, all equivalent technical changes made using the contents of the present invention specification and drawings are included in the protection scope of the present invention. In addition, the elements therein can be updated as technology develops.
Claims
1. A distributed computing resource scheduling system based on load balancing, characterized in that: It includes request management module, status monitoring module, balanced scheduling module and task management module; The request management module is used to receive and manage user request information, the status monitoring module is used to monitor the operating status of each distributed node, the balanced scheduling module performs scheduling analysis on resources based on the monitoring information, and the task management module is used to manage data during task execution; The request management module includes a request receiving unit, a request caching unit and a request parsing unit, wherein the request receiving unit is used to receive task request information, the request caching unit is used to cache the request information, and the request parsing unit is used to parse the request information to obtain a specific task; The state monitoring module includes a resource monitoring unit, a state storage unit and a health detection unit. The resource monitoring unit is used to monitor the resource utilization data of each node, the state storage unit is used to centrally store the state data of the node, and the health detection unit is used to check the health status of the node; The balanced scheduling module includes a balanced analysis unit, a scheduling control unit and a node management unit, wherein the balanced analysis unit is used to analyze the balanced state of the node, the scheduling control unit is used to control the scheduling process of the task, and the node management unit is used to manage the task assignment information of the node; The task management module includes a task decomposition unit, an execution control unit and a data aggregation unit. The task decomposition unit is used to decompose the user task into subtasks, the execution control unit manages the execution process and data exchange of the subtasks, and the data aggregation unit is used to summarize the execution results of the task and feed them back to the user; The balancing analysis unit includes a load evaluation processor, a gear division processor and a node selection processor, wherein the load evaluation processor is used to evaluate the load value, the gear division processor is used to perform gear statistics on the load value within the reference period, and the node selection processor selects the node for task sub-allocation based on the statistical result; The load evaluation processor calculates the load value Ld according to the following formula: ; Among them, u(CPU) is the CPU usage, u(RAM) is the memory usage, is the CPU weight, is the memory weight; The load evaluation processor outputs two load functions Ld(T) and Ld'(T) by calculating the load value, where T is the reference time period, Ld(T) is the load value change function of the node within the reference time period, and Ld'(T) is the simulated load value change function after the node adds a subtask within the reference time period.
2. A distributed computing resource scheduling system based on load balancing as claimed in claim 1, characterized in that: The gear division processor divides the load value according to the following formula: ; Among them, a and b are the dividing boundary points, and Lv is the gear value; The gear division processor processes Ld(T) and Ld'(T) respectively to obtain statistical data , , , , and ,in, Indicates the duration of time when the gear value of Ld(T) is 1. Indicates the duration when the Ld(T) mid-level value is 2. Indicates the duration of the Ld(T) mid-level value being 3. Indicates the duration of the time when the gear value of Ld'(T) is 1. Indicates the duration when the gear value of Ld'(T) is 2. Indicates the duration when the gear value of Ld'(T) is 3.
3. A distributed computing resource scheduling system based on load balancing as claimed in claim 1, characterized in that: The node selection processor calculates the resource index P according to the following formula: ; Among them, T1 represents the duration when the gear value is 1, T2 represents the duration when the gear value is 2, and T3 represents the duration when the gear value is 3; The node selection processor substitutes the statistical data of Ld(T) and Ld'(T) into the processing to obtain the original resource index P1 and the simulated resource index P2; The node selection processor calculates the priority index Q of the node according to the following formula: ; The node selection processor selects a node with the smallest priority index as a node to which a subtask is assigned.
Citation Information
Patent Citations
Methods and apparatus for resource scheduling in distributed computing systems
CN112148471B
Distributed learning resource management system
CN118484314A
Cited By
Distributed hierarchical scheduling method and device based on complex scene
CN120540861A
A distributed hierarchical scheduling method and device based on a complex scene
CN120540861B