A node task scheduling method in computing power network
By building an edge computing network model and applying task scheduling and service scaling algorithms, the problems of multi-node load imbalance and task request volatility in the computing power network are solved, and the load balancing distribution of tasks and dynamic allocation of resources are realized, reducing the task completion delay.
Patent Information
- Application Number
- CN202210514304.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-11
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2042-05-11
AI Technical Summary
In computing power network, when edge node multi-Internet of Things devices access concurrent tasks, there are problems of multi-node load imbalance and task request volatility, and traditional solutions cannot effectively deal with the concurrent execution of multi-tasks.
By obtaining the node's computing resources and network resource monitoring information in real time, an edge computing network model based on graph structure is built, and based on task scheduling algorithms and service scaling algorithms, the scheduling decisions of tasks and the scaling decisions of container services are calculated to realize dynamic allocation of resources and load balancing distribution of tasks.
This reduces the average completion delay of tasks, improves the overall utilization rate of computing resources across the entire network, and realizes payload balancing and task scheduling for multi-node clusters.
Smart Images

Figure CN115103404B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technologies, and in particular to a method for scheduling node tasks in a computing network. Background Art
[0002] According to IDC's forecast, by 2025, the number of IoT devices worldwide will reach 41.6 billion, and the total amount of data will reach 180 zettabytes, of which more than 70% will be processed at the edge of the network. In order to cope with the challenges brought by the massive access of edge devices and the efficient processing of edge data, edge computing technology has emerged. By deploying small servers at the edge of the network, IoT devices are provided with nearby computing power, which shortens the response time and alleviates network congestion. At the same time, in order to achieve unified management and efficient allocation of distributed heterogeneous resources in edge environments, concepts related to computing power networks have been proposed and received widespread attention. The patent application with application number CN202010977315.7 discloses a task scheduling method, device and electronic device, which relates to the field of background task scheduling technology, including: determining multiple tasks to be executed according to an execution instruction, then executing each task, and determining the execution status of each task, and finally notifying the client of the execution progress of the execution instruction according to the execution status of each task, wherein the execution instruction is triggered by the user in the client's web application to determine the execution progress of the execution instruction according to the execution status of each task, and notify the client of the execution progress.
[0003] In the computing network, resources are abstracted, integrated, quantified, and orchestrated in the form of virtualization technology, realizing the ability of on-demand resource allocation and elastic scaling. At present, the research on computing network related technologies is still in the development stage, and the implementation schemes for different application scenarios have not yet formed a unified paradigm. In the scenario where multiple IoT devices are connected to edge nodes and concurrent tasks are executed, there are problems of unbalanced loads on multiple nodes and volatility of task requests. In traditional solutions, task requests are scheduled to the node that is closest or has the most resources. However, the above ideas cannot cope with the situation of concurrent execution of multiple tasks; or a single node or virtual machine is used as the execution unit of the task, lacking the flexibility of resource allocation. Summary of the invention
[0004] In order to overcome the above technical problems, the present invention provides a method for scheduling node tasks in a computing network, the method comprising the following steps:
[0005] Step 1: Obtain the computing resource monitoring information and network resource monitoring information of the node in real time, build an edge computing network model and publish data externally:
[0006] Step 1.1, obtain the computing resource monitoring information and network resource monitoring information on each node. The computing resource monitoring information includes the CPU and memory usage of the node, and the network resource monitoring information includes the link bandwidth between nodes;
[0007] Step 1.2: construct an edge computing network model based on the computing resource monitoring information and network resource monitoring information obtained in step 1.1, and construct the edge computing network model based on the graph structure, including nodes representing computing resources and topological connections representing network resources;
[0008] Step 1.3: Publish the generated edge computing network model information to the outside world. The computing network model adopts a centralized distribution publishing mode. The specific steps include:
[0009] Step 1.3.1, publish the generated edge computing network model information through the topic (title) of the message queue, and repeat steps 1.1 and 1.2 at set intervals;
[0010] Step 1.3.2: The edge node obtains the latest network computing model information by subscribing to the topic. If there is no cached data locally, the cache operation is performed; if there is cached data locally, the cache is updated according to the latest network computing model information obtained;
[0011] Step 2: Each node generates tasks based on the data collection of the access device. Each task includes four types of information: task id, task type, task initiation node, and task data. Each node can initiate various types of tasks. The task id is the unique identifier of the task in the distributed cluster. It is globally unique and increases over time:
[0012] Step 2.1, device data collection and screening, the node regularly collects data from connected devices and judges the validity of the collected device data, screening out redundant and invalid data. In the device data screening process, different data screening mechanisms are adopted according to the different types of device data to be screened. For video frame data, data is screened based on active object detection algorithms;
[0013] Step 2.2: Generate a task ID for the device data obtained in step 2.1 to identify the data and task processing flow. Generate the task ID based on the Snowflake algorithm. Each ID consists of 64 bits and includes a flag bit, a 41-bit timestamp, a 5-bit node ID, a 5-bit task ID, and a 12-bit serial number ID to achieve global uniqueness and time-trend increment of the task ID.
[0014] Step 2.3, according to the task ID obtained in step 2.2, the task type information, task initiation node information, and task data information are encapsulated into a task structure;
[0015] Step 3: Set a fixed time frame size, count the task initiation status on all nodes within the time frame, and add them to the queue to be scheduled. The time frame represents a set time interval, and the tasks arriving within the time frame arrive at the same time.
[0016] Step 4: Based on step 3, when the time frame of a frame interval ends, the locally cached computing network model information is requested and combined with the task information in the scheduling queue, the task scheduling decision and the service scaling decision result are calculated based on the task scheduling algorithm and the service scaling algorithm. The optimization goal of the above algorithm is to minimize the average completion delay of the task, as shown in the following formula (1):
[0017] P1:
[0018] Among them, t cal j represents the computational delay of task j, t trans j represents the data transmission delay of the task, a represents the task scheduling variable, σ represents the service scaling decision variable, K represents the number of tasks to be scheduled, and the optimization objective has the following constraints:
[0019] 1. Each task can only be scheduled to one edge node for task execution;
[0020] 2. A container can only execute one task at a time;
[0021] 3. The number of containers deployed on each node is limited;
[0022] 4. The total resources required by the container service cannot exceed the resource limit of the nodes in the edge computing network model;
[0023] The optimization goal under the above constraints specifically includes the following steps:
[0024] Step 4.1, set the population size num, randomly generate num task scheduling schemes, each task scheduling scheme contains K scheduling decision variables;
[0025] Step 4.2: Set the fitness function as shown in the following formula (2):
[0026]
[0027] t cal j The specific calculation formula is:
[0028] t cal j =t wait j +texe j ……(3),
[0029] Among them, t wait j represents the waiting delay of task j, which includes the queuing waiting delay and the container opening waiting delay. exe j Indicates the execution delay of the task in the container, t trans j The specific calculation formula is:
[0030]
[0031] Among them, D trans j represents the size of data transmitted during the scheduling of task j, and r represents the data transmission rate between the task initiating node and the task scheduling node;
[0032] Step 4.3: Set the number of iterations to count, execute count iterations, and update the task scheduling variables and service scaling variables:
[0033] Step 4.3.1: Calculate the fitness value of each scheduling scheme according to the fitness function in step 4.2. Consider the service scaling of each node in the fitness value calculation process. The specific steps include:
[0034] Step 4.3.1.1, evenly distribute tasks according to the enabled services and service queues, and calculate the average completion delay of tasks;
[0035] Step 4.3.1.2: According to the remaining resources of each node in the computing network model, enumerate all scaling service solutions, traverse the enumerated solutions, select the solution that reduces the average completion delay the most each time, and update the service status and task allocation;
[0036] Step 4.3.1.3: Repeat steps 4.3.1.1 and 4.3.1.2. When there is no solution that reduces the average completion delay, terminate the iteration;
[0037] Step 4.3.2, performing a selection operation on the set scheduling scheme according to the fitness value calculated in step 4.3.1, and saving the scheduling scheme with a larger fitness value;
[0038] Step 4.3.3, perform a crossover operation on the scheduling schemes saved in step 4.3.2, randomly select two scheduling schemes and exchange some fragments thereof to generate a new scheduling scheme;
[0039] Step 4.3.4: Perform a mutation operation on the scheduling plan generated in step 4.3.3 to randomly change the values of the scheduling decision variables in the scheduling plan;
[0040] Step 4.3.5: Repeat steps 4.3.1 to 4.3.4 until the round reaches count, and the iteration ends;
[0041] Step 4.4: Return the optimal task scheduling solution and the corresponding service scaling result obtained in step 4.3;
[0042] Step 5: Obtain the task scheduling decision result and container scaling decision result obtained in step 4, forward the task to the corresponding node according to the task scheduling decision result, and perform an opening or closing operation on the container service replica according to the container scaling decision result. For each type of container, when the scaling decision result is greater than 0, request the container engine on the node to perform a replica opening operation, otherwise, perform a container replica closing operation;
[0043] Step 6: The node caches the received tasks and queues them in different queues according to the time sequence and type information, then polls the queues, matches the tasks with the container service replicas one by one and finally processes them in the container:
[0044] Step 6.1, cache task requests and queue them in different queues according to time sequence and type information, and obtain the running status information of the container service replica, including ready and running states, where the ready state indicates that there is no task execution in the container, and the running state indicates that there is a task execution in the container. Build the ready container queue and the running container queue according to the container replica type and container identifier;
[0045] Step 6.2: For each type of task, take out a task from the task queue in a loop, and check whether the ready container queue is empty. If the ready container queue is empty, wait. Otherwise, take out the first container in the queue and send the task to the container for execution, and wait for the execution result. At the same time, change the container status to running and put the container into the running container queue.
[0046] Step 6.3. When the task execution result is received, take the container from the running container queue, change the container state to ready, and put the container into the ready container queue.
[0047] The method of the present invention has the following beneficial effects:
[0048] 1. For edge multi-node cluster scenarios, the method described in the present invention provides a node task scheduling method in a computing network. By performing computing power perception monitoring and computing power integration on distributed edge nodes in the edge cluster, an edge computing network model based on a graph structure is constructed, providing globally consistent resource information of the edge cluster;
[0049] 2. The method of the present invention performs task scheduling decisions and container service scaling decisions on tasks arriving within the same time frame based on real-time computing network model information, wherein the parallel tasks are forwarded to appropriate nodes for queue distribution and execution based on the scheduling decision algorithm, and the average completion delay of the tasks is reduced; based on the service scaling decision algorithm, the container service copies on the nodes are adaptively opened and closed with the goal of reducing the average completion delay of the tasks, thereby improving the overall utilization rate of the computing power resources of the entire network;
[0050] 3. The method of the present invention divides the status of the container replicas for executing tasks into two types: ready and running. By dynamically switching the container status, the tasks waiting in queue on the node are forwarded to each container for processing in a load-balanced manner;
[0051] 4. The method of the present invention provides a method for joint service scaling and task scheduling based on a computing power network, which reduces the average completion delay of tasks. At the same time, the process of task initiation, task scheduling, task distribution, etc. is described in detail, which has good operability and practical value;
[0052] 5. The method of the present invention provides a globally consistent view of infrastructure resources through computing power awareness monitoring and computing power integration, and allocates tasks to appropriate computing power nodes through a concurrent task scheduling decision algorithm, thereby reducing the average completion delay of tasks; and realizes dynamic allocation of resources through a container service scaling decision algorithm. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] Figure 1 It is a schematic diagram of the overall process of the method of the present invention;
[0054] Figure 2 A schematic diagram of the graphical structure of the network calculation model of the method of the present invention;
[0055] Figure 3 This is a flow chart of executing the service scaling decision algorithm in step 4 of the method of the present invention;
[0056] Figure 4 This is a flowchart of the task scheduling decision algorithm execution in step 4 of the method described in the present invention. DETAILED DESCRIPTION
[0057] The technical solution of the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0058] like Figure 1 , 3 As shown in , 4, the method of the present invention comprises the following steps:
[0059] Step 1: Obtain the computing resource monitoring information and network resource monitoring information of the node in real time, build an edge computing network model and publish data externally:
[0060] Step 1.1, obtain the computing resource monitoring information and network resource monitoring information on each node. The computing resource monitoring information includes the CPU and memory usage of the node, and the network resource monitoring information includes the link bandwidth between nodes;
[0061] Step 1.2: Based on the computing resource monitoring information and network resource monitoring information obtained in step 1.1, an edge computing network model is constructed. The edge computing network model is constructed based on a graph structure, including nodes representing computing resources and topological connections representing network resources, such as Figure 2 As shown in the figure, when all nodes in the edge cluster can access each other, the computing network model is in the form of a fully connected graph. The nodes in the connected graph represent the basic computing resources, and the edges of the connected graph represent the network topology status of the cluster nodes.
[0062] Step 1.3: Publish the generated edge computing network model information to the outside world. The computing network model adopts a centralized distribution publishing mode. The specific steps include:
[0063] Step 1.3.1, publish the generated edge computing network model information through the topic (title) of the message queue, and repeat steps 1.1 and 1.2 at set intervals;
[0064] Step 1.3.2: The edge node obtains the latest network computing model information by subscribing to the topic. If there is no cached data locally, the cache operation is performed; if there is cached data locally, the cache is updated according to the latest network computing model information obtained;
[0065] Step 2: Each node generates tasks based on the data collection of the access device. Each task includes four types of information: task id, task type, task initiation node, and task data. Each node can initiate various types of tasks. The task id is the unique identifier of the task in the distributed cluster. It is globally unique and increases over time:
[0066] Step 2.1, device data collection and screening, the node regularly collects data from connected devices and judges the validity of the collected device data, screening out redundant and invalid data. In the device data screening process, different data screening mechanisms are adopted according to the different types of device data to be screened. For video frame data, data is screened based on active object detection algorithms;
[0067] Step 2.2: Generate a task ID for the device data obtained in step 2.1 to identify the data and task processing flow. Generate the task ID based on the Snowflake algorithm. Each ID consists of 64 bits and includes a flag bit, a 41-bit timestamp, a 5-bit node ID, a 5-bit task ID, and a 12-bit serial number ID to achieve global uniqueness and time-trend increment of the task ID.
[0068] Step 2.3, according to the task ID obtained in step 2.2, the task type information, task initiation node information, and task data information are encapsulated into a task structure;
[0069] Step 3: Set a fixed time frame size, count the task initiation status on all nodes within the time frame, and add them to the queue to be scheduled. The time frame represents a set time interval, and the tasks arriving within the time frame arrive at the same time.
[0070] Step 4: Based on step 3, when the time frame of a frame interval ends, the locally cached computing network model information is requested and combined with the task information in the scheduling queue, the task scheduling decision and the service scaling decision result are calculated based on the task scheduling algorithm and the service scaling algorithm. The optimization goal of the above algorithm is to minimize the average completion delay of the task, as shown in the following formula (1):
[0071] P1:
[0072] Among them, t cal j represents the computational delay of task j, t trans j represents the data transmission delay of the task, a represents the task scheduling variable, σ represents the service scaling decision variable, K represents the number of tasks to be scheduled, and the optimization objective has the following constraints:
[0073] 1. Each task can only be scheduled to one edge node for task execution;
[0074] 2. A container can only execute one task at a time;
[0075] 3. The number of containers deployed on each node is limited;
[0076] 4. The total resources required by the container service cannot exceed the resource limit of the nodes in the edge computing network model;
[0077] The optimization goal under the above constraints specifically includes the following steps:
[0078] Step 4.1, set the population size num, randomly generate num task scheduling schemes, each task scheduling scheme contains K scheduling decision variables;
[0079] Step 4.2: Set the fitness function as shown in the following formula (2):
[0080]
[0081] t cal j The specific calculation formula is:
[0082] t cal j =t wait j +t exe j ……(3),
[0083] Among them, t wait j represents the waiting delay of task j, which includes the queuing waiting delay and the container opening waiting delay. exe j Indicates the execution delay of the task in the container, t trans j The specific calculation formula is:
[0084]
[0085] Among them, D trans j represents the size of data transmitted during the scheduling of task j, and r represents the data transmission rate between the task initiating node and the task scheduling node;
[0086] Step 4.3: Set the number of iterations to count, execute count iterations, and update the task scheduling variables and service scaling variables:
[0087] Step 4.3.1: Calculate the fitness value of each scheduling scheme according to the fitness function in step 4.2. Consider the service scaling of each node in the fitness value calculation process. The specific steps include:
[0088] Step 4.3.1.1, evenly distribute tasks according to the enabled services and service queues, and calculate the average completion delay of tasks;
[0089] Step 4.3.1.2: According to the remaining resources of each node in the computing network model, enumerate all scaling service solutions, traverse the enumerated solutions, select the solution that reduces the average completion delay the most each time, and update the service status and task allocation;
[0090] Step 4.3.1.3: Repeat steps 4.3.1.1 and 4.3.1.2. When there is no solution that reduces the average completion delay, terminate the iteration;
[0091] Step 4.3.2, performing a selection operation on the set scheduling scheme according to the fitness value calculated in step 4.3.1, and saving the scheduling scheme with a larger fitness value;
[0092] Step 4.3.3, perform a crossover operation on the scheduling schemes saved in step 4.3.2, randomly select two scheduling schemes and exchange some fragments thereof to generate a new scheduling scheme;
[0093] Step 4.3.4: Perform a mutation operation on the scheduling plan generated in step 4.3.3 to randomly change the values of the scheduling decision variables in the scheduling plan;
[0094] Step 4.3.5: Repeat steps 4.3.1 to 4.3.4 until the round reaches count, and the iteration ends;
[0095] Step 4.4: Return the optimal task scheduling solution and the corresponding service scaling result obtained in step 4.3;
[0096] Step 5: Obtain the task scheduling decision result and container scaling decision result obtained in step 4, forward the task to the corresponding node according to the task scheduling decision result, and perform an opening or closing operation on the container service replica according to the container scaling decision result. For each type of container, when the scaling decision result is greater than 0, request the container engine on the node to perform a replica opening operation, otherwise, perform a container replica closing operation;
[0097] Step 6: The node caches the received tasks and queues them in different queues according to the time sequence and type information, then polls the queues, matches the tasks with the container service replicas one by one and finally processes them in the container:
[0098] Step 6.1, cache task requests and queue them in different queues according to time sequence and type information, and obtain the running status information of the container service replica, including ready and running states, where the ready state indicates that there is no task execution in the container, and the running state indicates that there is a task execution in the container. Build the ready container queue and the running container queue according to the container replica type and container identifier;
[0099] Step 6.2: For each type of task, take out a task from the task queue in a loop, and check whether the ready container queue is empty. If the ready container queue is empty, wait. Otherwise, take out the first container in the queue and send the task to the container for execution, and wait for the execution result. At the same time, change the container status to running and put the container into the running container queue.
[0100] Step 6.3. When the task execution result is received, take the container from the running container queue, change the container state to ready, and put the container into the ready container queue.
[0101] The method of the present invention is applied to task scheduling in a multi-node edge cluster, wherein the multi-node edge cluster is composed of multiple edge intelligent gateways, and the edge intelligent gateway has a certain computing capability and can enable different types of container services to perform corresponding tasks. Each type of service has multiple container copies, each copy has the same task execution capability, and the number of copies of each type of container service on the node can be dynamically adjusted. The network between different gateways is connected, and data can be exchanged; each gateway has the ability to access multiple devices and is responsible for collecting device data and generating tasks of a set type. Each type of container service can only execute tasks of the corresponding type, and only one task is executed in the container at the same time.
[0102] The present invention is not limited to the above-mentioned embodiments. Without departing from the essential content of the present invention, any deformation, improvement and substitution that can be thought of by those skilled in the art shall fall into the protection scope of the present invention.
Claims
1. A method for scheduling node tasks in a computing network, characterized in that: The following steps are involved: Step 1: Obtain the computing resource monitoring information and network resource monitoring information of the node in real time, build an edge computing network model and publish data externally: Step 1.1, obtain the computing resource monitoring information and network resource monitoring information on each node. The computing resource monitoring information includes the CPU and memory usage of the node, and the network resource monitoring information includes the link bandwidth between nodes; Step 1.2: construct an edge computing network model based on the computing resource monitoring information and network resource monitoring information obtained in step 1.1, and construct the edge computing network model based on the graph structure, including nodes representing computing resources and topological connections representing network resources; Step 1.3: Publish the generated edge computing network model information to the outside world. The computing network model adopts a centralized distribution publishing mode. Step 2: Each node generates tasks based on the data collection of the access device. Each task includes four types of information: task id, task type, task initiation node, and task data. Each node can initiate various types of tasks. The task id is the unique identifier of the task in the distributed cluster. It is globally unique and increases over time: Step 2.1, device data collection and screening, the node regularly collects data from connected devices and judges the validity of the collected device data, screening out redundant and invalid data. In the device data screening process, different data screening mechanisms are adopted according to the different types of device data to be screened. For video frame data, data is screened based on active object detection algorithms; Step 2.2: Generate a task ID for the device data obtained in step 2.1 to identify the data and task processing flow. Generate the task ID based on the Snowflake algorithm. Each ID consists of 64 bits and includes a flag bit, a 41-bit timestamp, a 5-bit node ID, a 5-bit task ID, and a 12-bit serial number ID to achieve global uniqueness and time trend increment of the task ID. Step 2.3, according to the task ID obtained in step 2.2, the task type information, task initiation node information, and task data information are encapsulated into a task structure; Step 3: Set a fixed time frame size, count the task initiation status on all nodes within the time frame, and add them to the queue to be scheduled. The time frame represents a set time interval, and the tasks arriving within the time frame arrive at the same time. Step 4: Based on step 3, when the time frame of a frame interval ends, the locally cached computing network model information is requested and combined with the task information in the scheduling queue, the task scheduling decision and the service scaling decision result are calculated based on the task scheduling algorithm and the service scaling algorithm. The optimization goal of the above algorithm is to minimize the average completion delay of the task, as shown in the following formula (1): in, represents the computational delay of task j, represents the data transmission delay of the task, a represents the task scheduling variable, σ represents the service scaling decision variable, K represents the number of tasks to be scheduled, and the optimization objective has the following constraints:
1. Each task can only be scheduled to one edge node for task execution; 2. A container can only execute one task at a time; 3. The number of containers deployed on each node is limited; 4. The total resources required by the container service cannot exceed the resource limit of the nodes in the edge computing network model; Step 5: Obtain the task scheduling decision result and container scaling decision result obtained in step 4, forward the task to the corresponding node according to the task scheduling decision result, and perform an opening or closing operation on the container service replica according to the container scaling decision result. For each type of container, when the scaling decision result is greater than 0, request the container engine on the node to perform a replica opening operation, otherwise, perform a container replica closing operation; Step 6: The node caches the received tasks and queues them in different queues according to the time sequence and type information, then polls the queues, matches the tasks with the container service replicas one by one and finally processes them in the container.
2. A method for scheduling node tasks in a computing network according to claim 1, characterized in that: The step 1.
3. comprises the following steps: Step 1.3.1: Publish the generated edge computing network model information through the topic of the message queue, and repeat steps 1.1 and 1.2 at set intervals; Step 1.3.2: The edge node obtains the latest network computing model information by subscribing to the topic. When there is no cached data locally, the cache operation is performed; when there is cached data locally, the cache is updated according to the latest network computing model information obtained.
3. A method for scheduling node tasks in a computing network according to claim 1, characterized in that: The step 4 comprises the following steps: Step 4.1, set the population size num, randomly generate num task scheduling schemes, each task scheduling scheme contains K scheduling decision variables; Step 4.2: Set the fitness function as shown in the following formula (2): The specific calculation formula is: in, It represents the waiting delay of task j, including the waiting delay of queuing and the waiting delay of container opening. Indicates the execution delay of the task in the container. The specific calculation formula is: in, represents the size of data transmitted during the scheduling of task j, and r represents the data transmission rate between the task initiating node and the task scheduling node; Step 4.3: Set the number of iterations to count, execute count iterations, and update the task scheduling variables and service scaling variables. Step 4.4: Return the optimal task scheduling solution and the corresponding service scaling result obtained in step 4.
3.
4. A method for scheduling node tasks in a computing network according to claim 1, characterized in that: The step 6 comprises the following steps: Step 6.1, cache task requests and queue them in different queues according to time sequence and type information. At the same time, obtain the running status information of the container service replica, including ready and running states. The ready state indicates that there is no task execution in the container, and the running state indicates that there is a task execution in the container. Build the ready container queue and the running container queue according to the container replica type and container identifier; Step 6.2: For each type of task, take out a task from the task queue in a loop, and check whether the ready container queue is empty. If the ready container queue is empty, wait. Otherwise, take out the first container in the queue and send the task to the container for execution, and wait for the execution result. At the same time, change the container status to running and put the container into the running container queue. Step 6.
3. When the task execution result is received, take the container from the running container queue, change the container state to ready, and put the container into the ready container queue.
5. A method for scheduling node tasks in a computing network according to claim 3, characterized in that: The step 4.3 comprises the following steps: Step 4.3.1: Calculate the fitness value of each scheduling scheme according to the fitness function in step 4.
2. Consider the service scaling of each node in the fitness value calculation process. The specific steps include: Step 4.3.1.1, evenly distribute tasks according to the enabled services and service queues, and calculate the average completion delay of tasks; Step 4.3.1.2: According to the remaining resources of each node in the computing network model, enumerate all scaling service solutions, traverse the enumerated solutions, select the solution that reduces the average completion delay the most each time, and update the service status and task allocation; Step 4.3.1.3: Repeat steps 4.3.1.1 and 4.3.1.
2. When there is no solution that reduces the average completion delay, terminate the iteration; Step 4.3.2, performing a selection operation on the set scheduling scheme according to the fitness value calculated in step 4.3.1, and saving the scheduling scheme with a larger fitness value; Step 4.3.3, perform a crossover operation on the scheduling schemes saved in step 4.3.2, randomly select two scheduling schemes and exchange some fragments thereof to generate a new scheduling scheme; Step 4.3.4: Perform a mutation operation on the scheduling plan generated in step 4.3.3 to randomly change the values of the scheduling decision variables in the scheduling plan; Step 4.3.5: Repeat steps 4.3.1 to 4.3.4 until the round reaches count and the iteration ends.
Citation Information
Patent Citations
Task scheduling method, device and electronic equipment
CN112948068B
Edge computing service instance cross-node scaling method and device
CN111338760A
SDN-based service customization network resource self-adaptive allocation technology
CN112491619A