CN115309561B - Method and system for performing task cooperative processing based on task cooperative processing chip - Google Patents

Method and system for performing task cooperative processing based on task cooperative processing chip Download PDF

Info

Publication number
CN115309561B
CN115309561B CN202211240079.6A CN202211240079A CN115309561B CN 115309561 B CN115309561 B CN 115309561B CN 202211240079 A CN202211240079 A CN 202211240079A CN 115309561 B CN115309561 B CN 115309561B
Authority
CN
China
Prior art keywords
task
time
edge node
time interval
periodic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211240079.6A
Other languages
Chinese (zh)
Other versions
CN115309561A (en
Inventor
王嘉诚
张少仲
张栩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongcheng Hualong Computer Technology Co Ltd
Original Assignee
Zhongcheng Hualong Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongcheng Hualong Computer Technology Co Ltd filed Critical Zhongcheng Hualong Computer Technology Co Ltd
Priority to CN202211240079.6A priority Critical patent/CN115309561B/en
Publication of CN115309561A publication Critical patent/CN115309561A/en
Application granted granted Critical
Publication of CN115309561B publication Critical patent/CN115309561B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

The invention discloses a method and a system for performing task cooperative processing based on a task cooperative processing chip, which relate to the technical field of chip application, wherein the method comprises the following steps: when the load rate of the first edge node at the current recording time is detected to be greater than or equal to the first load threshold value, and the second average load rate is determined to be greater than the second load threshold value, the selected periodic task is used as a cooperative processing task; selecting a plurality of auxiliary edge nodes for each cooperative processing task by the task cooperative processing chip according to the attribute information; dividing the cooperative processing task into a plurality of subtasks and distributing the subtasks to the selected plurality of auxiliary edge nodes; and assisting the selected auxiliary edge nodes to respectively execute at least one respective subtask in the virtual local area network constructed by the first edge node and the selected auxiliary edge nodes, and generating an execution result after all subtasks are executed. The technical scheme of the invention can reduce the processing delay of the periodic task and improve the user experience.

Description

Method and system for performing task cooperative processing based on task cooperative processing chip
Technical Field
The present invention relates to the field of chip application technologies, and in particular, to a method and a system for performing task co-processing based on a task co-processing chip.
Background
Currently, in the field of edge computing, when a load abnormality occurs in an operation state of a specific edge node, for example, when the load suddenly rises and the load is not reduced within a reasonable area for a period of time, a task performed by the specific edge node may be affected. For example, the requester waits for a predetermined time for a certain edge node to execute the execution result of a certain periodic task (e.g., a task executed in each execution cycle), but the periodic task is executed too long due to a high load of the certain edge node, so that the requester may need to wait more time and affect the next action or operation of the requester. Furthermore, periodic tasks may be highly important tasks, and thus the execution delay of periodic tasks may degrade the user experience of edge computing.
For this reason, a technique for performing task cooperative processing using another edge node when the load of a specific edge node is high or the delay of executing a task is large is required.
Disclosure of Invention
In order to solve the problems in the prior art, when the load rate of the edge node is greater than the corresponding threshold, the method selects the cooperative processing task from a plurality of periodic tasks which never run, and selects the respective auxiliary edge node for each cooperative processing task. And then, dividing the task into a plurality of subtasks by utilizing the task controller to cooperatively process the task and distributing the subtasks to the auxiliary edge nodes, constructing a virtual local area network, and prompting the plurality of auxiliary edge nodes selected by the task controller to respectively execute at least one respective distributed subtask in the virtual local area network.
According to an aspect of the present invention, a method for performing task co-processing based on a task co-processing chip is provided, where the method includes:
when a task co-processing chip of a first edge node detects that the load rate of the first edge node at the current recording time is greater than or equal to a first load threshold, determining a first average load rate of the first edge node in a first time interval taking the current recording time as a first time interval end point;
determining a second time interval based on the first average load rate, acquiring the load rate of the first edge node at each recording moment in the second time interval when the second time interval expires, and calculating the second average load rate in the second time interval based on the load rate at each recording moment in the second time interval;
when the second average load rate is greater than a second load threshold, the task co-processing chip determines the number of the periodic tasks which do not start to run in the first edge node, selects the periodic tasks based on the number of the periodic tasks which do not start to run, and takes the selected periodic tasks as the co-processing tasks;
for each cooperative processing task, performing:
creating a related task controller in a first edge node for each cooperative processing task by a task cooperative processing chip, wherein the related task controller acquires attribute information of the cooperative processing task, and the attribute information comprises: the method comprises the steps that a task identifier, a set starting time, a preset execution time length and a task weight are used, and a plurality of auxiliary edge nodes are selected for a cooperative processing task from an auxiliary node set of a first edge node based on attribute information;
the task controller builds a virtual local area network based on the first edge node and the selected multiple auxiliary edge nodes, divides the cooperative processing task into multiple subtasks, and distributes the multiple subtasks to the selected multiple auxiliary edge nodes, wherein at least one subtask is distributed to each auxiliary edge node; and
in the virtual local area network, a task controller assists the selected multiple auxiliary edge nodes to respectively execute at least one respective subtask, and after all subtasks are executed, the task controller generates an execution result of the cooperative processing task.
Preferably, the method further comprises the steps of obtaining the load rate of the first edge node at each recording moment by the operation monitoring chip of the first edge node, and storing the load rate at each recording moment;
wherein the load ratio is: processor usage, memory usage, or system resource usage.
Preferably, the periodic task is a task executed in the first edge node every operation cycle;
generating a periodic task record for each periodic task of a first edge node by an operation monitoring chip of the first edge node, wherein the periodic task record comprises: the method comprises the steps of task identification, a running period sequence number, task starting time, task ending time and task weight, and forming periodic task information by task records of a plurality of periodic tasks; the task identifier is used for uniquely identifying the periodic task, the operating cycle sequence number is used for indicating the sequence number of the operating cycle in which the task is located, the task starting time is the starting time of the periodic task in the operating cycle indicated by the operating cycle sequence number, the task ending time is the ending time of the periodic task in the operating cycle indicated by the operating cycle sequence number, and the task weight is greater than 0 and less than 1;
the first load threshold is greater than a second load threshold.
Preferably, the method also comprises the following steps of,
determining the current load ratio of the load rate of the first edge node at the current recording moment to the first load threshold value as
Figure 834896DEST_PATH_IMAGE001
(ii) a Wherein Lc is the load rate of the first edge node at the current recording time, and Lth _1 is a first load threshold;
obtaining a preset basic time length, and determining the first time length as
Figure 345512DEST_PATH_IMAGE002
(ii) a Wherein Tpr is a preset base time duration;
determining a first time interval starting point at a past time based on the first time length and a first time interval end point; and
and taking the time interval between the starting point of the first time interval and the end point of the first time interval as the first time interval.
Preferably, the determining a first average load rate of the first edge node in a first time interval with a current recording time as a time interval end point includes:
determining the load rate of the first edge node at each recording time in a first time interval taking the current recording time as a time interval end point;
taking the average value of the load rates of each recording moment in the first time interval as a first average load rate;
wherein the first time interval starting point is a recording time and the first time interval end point is a recording time;
the first time interval comprises the recording time of the starting point of the first time interval and the recording time of the ending point of the first time interval.
Preferably, wherein the determining a second time interval based on the first average load rate comprises:
acquiring a preset basic time length;
when the first average load factor is smallWhen the first load threshold value is larger than or equal to the second load threshold value, determining the second time length as
Figure 328512DEST_PATH_IMAGE003
(ii) a Wherein Tpr is a preset basic time length, lavg _1 is a first average load rate, lth _1 is a first load threshold, and Lth _2 is a second load threshold;
when the first average load rate is smaller than the second load threshold value, determining the second time length as
Figure 317196DEST_PATH_IMAGE004
Taking Kp-th recording time after the time for determining the second time length as the starting point of the second time interval, wherein Kp is a natural number, and Kp is
Figure 397148DEST_PATH_IMAGE005
Where Npnu is a preset natural number and is greater than 50,
Figure 688452DEST_PATH_IMAGE006
greater than 1;
a time interval starting from the start of the second time interval and lasting for a second time length is taken as the second time interval.
Preferably, the obtaining, when the second time interval expires, a load rate of the first edge node at each recording time in the second time interval includes:
determining a second time interval end of the second time interval based on the second time interval start and the second time length;
determining that the second time interval expires when the current time reaches the end point of the second time interval;
acquiring the load rate of the first edge node at each recording moment in a second time interval; wherein the load rate at each recording moment comprises: the load factor at the start of the second time interval, the load factor at the end of the second time interval, and the load factor at each recording time between the start of the second time interval and the end of the second time interval.
Preferably, wherein calculating a second average load rate in a second time interval based on the load rate at each recording time in the second time interval comprises
Determining the load rate of the first edge node at each recording moment in a second time interval starting from a second time interval;
taking the average value of the load rates of each recording moment in the second time interval as a second average load rate;
wherein the second time interval starting point is a recording time and the second time interval ending point is a recording time;
the second time interval comprises a recording time of a starting point of the second time interval, a recording time of an end point of the second time interval and each recording time between the starting point of the second time interval and the end point of the second time interval.
Preferably, the determining, by the task co-processing chip, the number of periodic tasks that do not start to run in the first edge node includes:
the task co-processing chip determines the number of periodic tasks which do not start to run when a second time interval expires in the first edge node;
alternatively, the first and second electrodes may be,
and the task co-processing chip determines the number of the periodic tasks which do not start to run at a first preset time after the second time interval expires in the first edge node.
Preferably, the selecting the periodic task based on the number of the periodic tasks that have not started running includes:
when the number of the periodic tasks which do not start to run is larger than 0 and smaller than the threshold value of the number of the cooperative tasks, selecting each periodic task which does not start to run as a cooperative processing task;
alternatively, the first and second electrodes may be,
when the number of the periodic tasks which do not start to run is larger than or equal to the threshold value of the number of the cooperative tasks, acquiring the total number of the periodic tasks of the first edge node in the current running period;
determining the number of the periodic tasks needing to be subjected to cooperative processing based on the total number of the periodic tasks and the number of the periodic tasks not starting to run; and
a plurality of periodic tasks which do not start to run are selected based on the number of periodic tasks which need to be subjected to cooperative processing, and each of the selected periodic tasks is taken as a cooperative processing task.
Preferably, the determining the number of the periodic tasks needing to be subjected to the cooperative processing based on the total number of the periodic tasks and the number of the periodic tasks not started to run includes:
the number of periodic tasks that need to be co-processed is calculated based on the following formula:
Figure 548960DEST_PATH_IMAGE007
the method includes the steps of obtaining a first edge node, obtaining Ntho, nthco, nmain and Ntotal, wherein Nco is the number of periodic tasks needing to be subjected to cooperative processing, nthco is a cooperative task number threshold, ntotal is the total number of the periodic tasks of the first edge node in a current operation period, nremain is the number of the periodic tasks of the first edge node which do not start to operate in the current operation period, and Ntotal is larger than Nthco.
Preferably, the selecting, based on the number of the periodic tasks that need to be co-processed, a plurality of the periodic tasks that do not start to run includes:
acquiring attribute information of each periodic task which does not start to run;
determining a set start time of each periodic task which does not start to run based on the attribute information of each periodic task which does not start to run;
sequencing a plurality of periodic tasks which do not start to run based on the time sequence of the set starting time, wherein the periodic task which does not start to run and has the earliest set starting time is ranked at the first position, and the periodic task which does not start to run and has the latest set starting time is ranked at the last position;
according to the chronological order, starting from the periodic task which is not started to run and has the earliest set starting time, sequentially selecting Nco periodic tasks which are not started to run.
Preferably, the selecting, based on the number of the periodic tasks that need to be co-processed, a plurality of the periodic tasks that do not start to run includes:
acquiring attribute information of each periodic task which does not start to run;
determining a preset execution time length of each periodic task which does not start to run based on the attribute information of each periodic task which does not start to run;
sequencing a plurality of periodic tasks which do not start to run based on a sequence from large to small of preset execution time lengths, wherein the periodic task which does not start to run and has the largest preset execution time length is arranged at the first position, and the periodic task which does not start to run and has the smallest preset execution time length is arranged at the last position;
according to the sequence from large to small of the preset execution time length, sequentially selecting Nco periodic tasks which do not start to run from the periodic task which does not start to run and has the largest preset execution time length.
Preferably, the selecting, based on the number of the periodic tasks that need to be co-processed, a plurality of the periodic tasks that do not start to run includes:
from all the periodic tasks that have not started to run, nco periodic tasks that have not started to run are randomly selected.
Preferably, after the task co-processing chip creates an associated task controller in the first edge node for each co-processing task, the method further includes:
and determining a task identifier of the cooperative processing task, and using the task identifier as an identifier of the associated task controller.
Preferably, wherein the acquiring of the attribute information of the co-processing task by the associated task controller includes:
the associated task controller determines a periodic task corresponding to the co-processing task;
and acquiring attribute information of the periodic task corresponding to the cooperative processing task, and taking the attribute information of the periodic task corresponding to the cooperative processing task as the attribute information of the cooperative processing task.
Preferably, wherein selecting a plurality of auxiliary edge nodes for the co-processing task from the auxiliary node set of the first edge node based on the attribute information comprises:
determining task weight of the cooperative processing task based on the attribute information of the cooperative processing task;
a plurality of auxiliary edge nodes are selected for the co-processing task from the set of auxiliary nodes of the first edge node according to the task weight of the co-processing task.
Preferably, wherein selecting a plurality of auxiliary edge nodes for the co-processing task from the auxiliary node set of the first edge node according to the task weight of the co-processing task includes:
determining the number of auxiliary edge nodes in an auxiliary node set of the first edge node;
when the task weight is greater than or equal to the weight threshold value, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure 951123DEST_PATH_IMAGE008
(ii) a Wherein Nnode is the number of auxiliary edge nodes in the auxiliary node set of the first edge node and Nnode is a natural number greater than 5;
when the task weight is less than the weight threshold, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure 213477DEST_PATH_IMAGE009
Ns auxiliary edge nodes are randomly selected for the co-processing task from the auxiliary node set of the first edge node.
Preferably, the selecting a plurality of auxiliary edge nodes for the cooperative processing task from the auxiliary node set of the first edge node according to the task weight of the cooperative processing task includes:
determining the number of auxiliary edge nodes in an auxiliary node set of the first edge node;
when the task weight is greater than or equal to the weight threshold value, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task to be
Figure 472420DEST_PATH_IMAGE008
(ii) a Wherein Nnode is the number of auxiliary edge nodes in the auxiliary node set of the first edge node and Nnode is a natural number greater than 5;
when the task weight is less than the weight threshold, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure 695591DEST_PATH_IMAGE009
(ii) a Determining the number of periodic tasks which are not started to run by each auxiliary edge node in the auxiliary node set of the first edge node at a second preset time after the second time interval expires;
sorting the auxiliary edge nodes in the auxiliary node set based on the increasing sequence of the number of the periodic tasks which do not start to run at a second preset time after the second time interval expires, so as to generate a sorted list;
in the ordered list, ns auxiliary edge nodes are selected starting from the auxiliary edge node having the largest number of periodic tasks that have not started running.
Preferably, the task controller constructs a virtual local area network based on the first edge node and the selected plurality of auxiliary edge nodes, and includes:
the task controller constructs a virtual local area network based on the first edge node and the plurality of auxiliary edge nodes selected for the co-processing task, so that the first edge node and the selected plurality of auxiliary edge nodes can perform secure communication in the virtual local area network.
Preferably, the dividing the cooperative processing task into a plurality of subtasks includes:
the task controller determines a plurality of functional modules of the cooperative processing task, and determines each functional module as a subtask, thereby obtaining a plurality of subtasks of the cooperative processing task.
Preferably, wherein assigning the plurality of subtasks to the selected plurality of secondary edge nodes comprises:
and according to a random distribution mode or a polling distribution mode, distributing the plurality of subtasks to a plurality of auxiliary edge nodes selected by the task controller for the cooperative processing tasks of the plurality of subtasks, so that at least one subtask is distributed to each auxiliary edge node.
Preferably, the task controller assists the selected plurality of auxiliary edge nodes to respectively execute at least one respective subtask, including:
when a specific auxiliary edge node in the plurality of auxiliary edge nodes executes the allocated at least one subtask, if the executing subtask needs to call a subtask in another auxiliary edge node, sending a call request to another auxiliary edge node via the task controller, and sending a call response for the call request received from another auxiliary edge node to the specific auxiliary edge node by the task controller.
Preferably, after all the subtasks are executed, the task controller generates an execution result of the co-processing task, including:
the task controller determines at least one subtask of all subtasks used for generating result data;
after all subtasks are executed, the task controller collects result data from at least one subtask used to generate result data;
and generating an execution result of the cooperative processing task based on the result data.
According to another aspect of the present invention, there is provided a system for performing task co-processing based on a task co-processing chip, the system including:
the determining device is used for determining a first average load rate of the first edge node in a first time interval taking the current recording time as a first time interval end point when the task co-processing chip of the first edge node detects that the load rate of the first edge node at the current recording time is greater than or equal to a first load threshold;
the obtaining device is used for determining a second time interval based on the first average load rate, obtaining the load rate of each recording moment of the first edge node in the second time interval when the second time interval expires, and calculating the second average load rate in the second time interval based on the load rate of each recording moment in the second time interval;
the task co-processing chip is used for determining the number of the periodic tasks which do not start to run in the first edge node when the second average load rate is greater than a second load threshold value, selecting the periodic tasks based on the number of the periodic tasks which do not start to run, and taking the selected periodic tasks as the co-processing tasks;
processing means for performing, for each co-processing task:
a task co-processing chip creates a related task controller in a first edge node for each co-processing task, and the related task controller acquires attribute information of the co-processing task, wherein the attribute information comprises: the method comprises the steps that a task identifier, a set starting time, a preset execution time length and a task weight are used, and a plurality of auxiliary edge nodes are selected for a cooperative processing task from an auxiliary node set of a first edge node based on task attribute information;
the task controller builds a virtual local area network based on the first edge node and the selected multiple auxiliary edge nodes, divides the cooperative processing task into multiple subtasks, and distributes the multiple subtasks to the selected multiple auxiliary edge nodes, wherein at least one subtask is distributed to each auxiliary edge node; and
in the virtual local area network, the task controller assists the selected multiple auxiliary edge nodes to respectively execute at least one respective subtask, and after all subtasks are executed, the task controller generates an execution result of the cooperative processing task.
Based on another aspect of the embodiments of the present invention, a system for performing task co-processing based on a task co-processing chip is provided, which includes:
a processor;
a memory for storing the processor-executable instructions;
the processor is configured to read the executable instructions from the memory and execute the instructions to implement the method according to any of the embodiments.
According to a further aspect of the embodiments of the present invention, there is provided a computer-readable storage medium storing a computer program for executing the method according to any one of the above embodiments.
Based on still another aspect of the embodiments of the present invention, there is provided an electronic device, including: a processor and a memory; wherein, the first and the second end of the pipe are connected with each other,
the memory to store the processor-executable instructions;
the processor is configured to read the executable instructions from the memory and execute the instructions to implement the method according to any of the above embodiments.
According to a further aspect of the embodiments of the present invention, there is provided a computer program product including computer readable code, which when run on a device, a processor in the device executes a method for implementing any of the embodiments described above.
According to the method and the system for performing task co-processing based on the task co-processing chip, the computer readable storage medium, the electronic device and the computer program product of the embodiment of the invention, when the current load rate of the first edge node exceeds the first load threshold, the first average load rate in the first time interval is determined, and the second time interval is determined based on the first average load rate. And further, calculating a second average load rate in a second time interval, and when the second average load rate is greater than a second load threshold, selecting the periodic tasks by the task co-processing chip based on the number of the periodic tasks which do not start to run, and taking the selected periodic tasks as the co-processing tasks. And then, the task co-processing chip creates a related task controller for each co-processing task, acquires attribute information of the co-processing task, and selects a plurality of auxiliary edge nodes for the co-processing task from the auxiliary node set of the first edge node based on the attribute information. The task controller divides the cooperative processing task into a plurality of subtasks and distributes the plurality of subtasks to the selected plurality of auxiliary edge nodes; and in a virtual local area network constructed by the first edge node and the plurality of auxiliary edge nodes, the task controller assists the selected plurality of auxiliary edge nodes to respectively execute at least one respective subtask. In the case where the load of an edge node such as a first edge node is high, which may cause the execution time of a periodic task to be too long or the result to be delayed, according to the embodiment of the present invention, the task is cooperatively processed by selecting a plurality of auxiliary edge nodes, so that the periodic task is executed over a predetermined time or in a short time and thus the result can be returned in time. In this way, the requester can obtain the execution result of the task around a predetermined time (because of random situations in the task execution process, there may be situations where the execution time lengths of the same task in different execution periods are different, however, the difference in the execution time lengths is usually small), without considering the load condition of the first edge node, and therefore, the next action or operation of the requester is not affected. Since the periodic task may be a task with a high degree of importance, the embodiments of the present invention ensure that the user experience of the edge calculation remains good by ensuring that there is no significant delay in the execution of the periodic task.
Drawings
A more complete understanding of exemplary embodiments of the present invention may be had by reference to the following drawings in which:
FIG. 1 is a flowchart of a method for performing task co-processing based on a task co-processing chip according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of an edge computing system with a set of secondary nodes, according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of selecting a plurality of secondary edge nodes for each co-processing task according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of assigning subtasks to secondary edge nodes according to an embodiment of the present invention;
FIG. 5 is a flow diagram of a method of selecting a plurality of secondary edge nodes for each co-processing task, according to an embodiment of the invention;
fig. 6 is a schematic structural diagram of a system for performing task co-processing based on a task co-processing chip according to an embodiment of the present invention.
Detailed Description
The exemplary embodiments of the present invention will now be described with reference to the accompanying drawings, however, the present invention may be embodied in many different forms and is not limited to the embodiments described herein, which are provided for complete and complete disclosure of the present invention and to fully convey the scope of the present invention to those skilled in the art. The terminology used in the exemplary embodiments illustrated in the accompanying drawings is not intended to be limiting of the invention. In the drawings, the same unit/element is denoted by the same reference numeral.
Unless otherwise defined, terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. In addition, it will be understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their context in the context of the relevant art and will not be interpreted in an idealized or overly formal sense.
It should be understood that the periodic task is executed in each operation period of the edge node, and the non-periodic task is an irregular task which occurs randomly or in a burst in the operation period. The running time of the edge node or the whole edge computing system is divided into a plurality of running periods, the running periods are adjacent in time in sequence, and the time length of each running period is the same. Periodic tasks are generally tasks that are of high importance, need to be performed repeatedly (within each operating cycle), or are regular. Aperiodic tasks are generally tasks that occur randomly, are irregular, or do not require repeated execution (within each operating cycle).
In this application, the secondary node set and the secondary edge nodes are logical partitions or settings. Each edge node in the data domain of the edge calculation has a plurality of auxiliary edge nodes, and the plurality of auxiliary edge nodes form an auxiliary node set. Thus, for any edge node (including the first edge node), the edge nodes in the data domain are logically divided into: an edge node (itself), a plurality of auxiliary edge nodes of an edge node. For example, the plurality of auxiliary edge nodes of the first edge node are a plurality of edge nodes that establish a logical association relationship with the first edge node and are used to perform task cooperation processing, serve as a task migration destination, assist task scheduling (as a destination of task transmission), or serve as a destination of task movement when the first edge node needs to perform task cooperation processing, task migration, task scheduling, or task movement. The plurality of secondary edge nodes of the first edge node are formed into a set of secondary nodes associated with the first edge node or a set of secondary nodes of the first edge node.
Fig. 1 is a flowchart of a method for performing task co-processing based on a task co-processing chip according to an embodiment of the present invention. As shown in fig. 1, method 100 begins at step 101.
Step 101, when the task co-processing chip of the first edge node detects that the load rate of the first edge node at the current recording time is greater than or equal to a first load threshold, determining a first average load rate of the first edge node in a first time interval taking the current recording time as an end point of the first time interval.
According to one embodiment, the method further comprises the steps of obtaining the load rate of the first edge node at each recording time by the operation monitoring chip of the first edge node, and storing the load rate at each recording time. Alternatively, the load rate may be: processor usage, memory usage, and/or system resource usage. Each recording moment is, for example, any reasonable value every 1 second, 2 seconds, 5 seconds, etc.
According to one embodiment, each edge node has a plurality of processors, internal memory (internal memory), external memory, operation monitoring chip, task co-processing chip, power control chip, scheduling chip, and the like. The operation monitoring chip of the first edge node generates a periodic task record for each periodic task of the first edge node, wherein the periodic task record comprises: the task information comprises a task identifier, a running period sequence number, a task starting time, a task ending time and a task weight, and a plurality of periodic task records form periodic task information. According to one embodiment, the periodic task is a task that is executed in the first edge node for each run cycle. For example, the periodic task may start to be executed at a fixed time in each operating cycle, and determine the ending execution time in different cycles according to the actual execution situation. In addition, the periodic task can be executed at different times in each running period, and the execution time of finishing in different periods is determined according to the actual execution situation. The task identifier is used for uniquely identifying the periodic task, the running period sequence number is used for indicating the sequence number of the running period in which the periodic task is located, the task starting time is the starting time of the periodic task in the running period indicated by the running period sequence number, the task ending time is the ending time of the periodic task in the running period indicated by the running period sequence number, and the task weight is greater than 0 and less than 1.
Two periodic tasks with the same task identifier are the same periodic task, but may run in different running periods, so the running period sequence numbers of the two periodic tasks with the same task identifier are different.
According to one embodiment, the operation monitoring chip generates an aperiodic task record for each aperiodic task in the first edge node, the aperiodic task record comprising: and recording a plurality of non-periodic tasks to form non-periodic task information. The operation cycle is, for example, any reasonable time length such as 1 natural day, 2 natural numbers, 3 natural days, 5 natural days, and the like.
According to a specific example, two adjacent operation periods are the first operation period: 0 minutes 0 seconds at 8 months, 7 days, 2021 to 59 minutes 59 seconds at 23 months, 7 days, 2021, and a second operating cycle: 0 minutes 0 seconds at 8 months and 8 days 0 at 2021 to 59 minutes 59 seconds at 8 months and 8 days 23 at 2021.
According to one embodiment, an aperiodic task is a task that is not executed in an edge node, such as a first edge node, every run period, e.g., a task that occurs randomly in any run period, or is designated to occur in any run period.
According to one embodiment, the operation monitoring chip also constructs load statistics from load records of edge nodes, such as the first edge node, in each time unit of the operation cycle. The real-time processor usage per time unit refers to the processor usage per acquisition time, acquisition interval, or acquisition granularity per time unit, and the average of the processor usage at all acquisition times per time unit is taken as the average processor usage per time unit. The real-time memory idle rate in each time unit refers to the memory idle rate of each acquisition point in each time unit, and the average value of the memory idle rates of all acquisition points in each time unit is taken as the average memory idle rate in each time unit. For example, the time of acquisition, the interval of acquisition, or the granularity of acquisition is 1 second, 2 seconds, 5 seconds, 10 seconds, etc. The load records include, for example, real-time processor usage, average processor usage, real-time memory idle, and average memory idle.
According to one embodiment, the operation monitoring chip forms the node operation information of the operation period by the periodic task information, the aperiodic task information and the load statistical information in the operation period. Wherein the node operation information is stored in a storage area preset in a memory of an edge node such as the first edge node, and the load record includes real-time processor usage per time unit and average processor usage per time unit.
According to one embodiment, it further comprises determining a current load ratio of the load rate Lc of the first edge node at the current recording time to the first load threshold Lth _1 as
Figure 760499DEST_PATH_IMAGE010
The current recording time is, for example, 25 minutes 21 seconds at 18, 8, 2021 (one recording time per second). Obtaining a preset basic time length based on the current load ratio
Figure 752726DEST_PATH_IMAGE010
And a base time length Tpr for determining the first time length as
Figure 448149DEST_PATH_IMAGE011
. Where the base length of time may be preset or default by the edge computing system, e.g., 800 seconds, 1600 seconds, etc. An edge computing system may typically include multiple data fields, each including multiple edge nodes. Based on the first time length and the first time interval end point, a first time interval start point at a past time is determined. For example, if the current recording time 2021 is the first time interval end point at 18 hours, 25 minutes and 21 seconds of 8 months and 8 days of 2021, then 25 minutes and 21 seconds are earlier than 18 hours, 8 months and 8 days of 2021
Figure 283250DEST_PATH_IMAGE012
Is the start of the first time interval. The time interval between the start of the first time interval and the end of the first time interval is taken as the first time interval.
Figure 761636DEST_PATH_IMAGE013
Is/are as follows
Figure 998582DEST_PATH_IMAGE014
The result of a value of is rounded up, typically in seconds.
According to one embodiment, determining a first average load rate of the first edge node in a first time interval with a current recording time as a time interval end comprises: and determining the load rate of the first edge node at each recording time in a first time interval taking the current recording time as the end point of the time interval. For example, a load rate per second, where the load rate may be a processor usage rate (in the case of multiple processors, an average usage rate of the multiple processors, or a ratio of a total usage of the multiple processors to a total processing capacity). The average value of the load rates at each recording time in the first time interval is taken as the first average load rate Lavg _1. Wherein the first time interval starting point is a recording time and the first time interval ending point is a recording time. In the present application, both the first time interval starting point and the first time interval ending point are set or determined as the recording time. In a specific case, the first time interval starting point or the first time interval ending point may be a non-recording time. The first time interval includes a recording time at a start point of the first time interval and a recording time at an end point of the first time interval. I.e. all recording moments of the first time interval comprise the recording moments of both end points.
And 102, determining a second time interval based on the first average load rate, acquiring the load rate of the first edge node at each recording time in the second time interval when the second time interval expires, and calculating the second average load rate in the second time interval based on the load rate of each recording time in the second time interval.
In one embodiment, determining the second time interval based on the first average load rate comprises: a preset basic time length Tpr is acquired. When the first average load rate Lavg _1 is smaller than the first load threshold value Lth _1 and larger than or equal to the second load threshold value Lth _2, it is determined that the second length of time is
Figure 599328DEST_PATH_IMAGE015
(ii) a When the first average load rate Lavg _1 is smaller than the second load threshold value Lth _2, determining the second time length as
Figure 797091DEST_PATH_IMAGE016
. After the second time length under different conditions is determined, taking the Kp-th recording time after the time for determining the second time length as the starting point of the second time interval, wherein Kp is a natural number, and Kp is
Figure 472310DEST_PATH_IMAGE017
Where Npnu is a preset natural number and is greater than 50,
Figure 173550DEST_PATH_IMAGE018
is greater than 1. In the present application, in order to avoid a situation that the load rate of the first edge node is jittered (for example, the load rate is suddenly increased for a short time, and then the load rate returns to normal), which results in unnecessary cooperative processing, when the second average load rate is determined, the start point of the second time interval is delayed to avoid the jittering situation. Through the processing, unnecessary cooperative processing brought by the load rate jitter can be effectively avoided, processing resources are saved, and the efficiency is improved. At this time, npnu may be any reasonable value, e.g., 200, 500, 800, etc. When the recording time is 1 second, npnu is, for example, 200 seconds, 500 seconds, 800 seconds, or the like. A time interval starting from the start of the second time interval and continuing for a second time length is taken as the second time interval.
In one embodiment, acquiring the load rate of the first edge node at each recording time in the second time interval when the second time interval expires includes: determining a second time interval end of the second time interval based on the second time interval start and the second time length; when the current time reaches the end point of the second time interval, determining that the second time interval is expired; after the second time interval expires, acquiring the load rate of the first edge node at each recording moment in the second time interval; wherein the load rate at each recording moment comprises: the load factor at the start of the second time interval, the load factor at the end of the second time interval, and the load factor at each recording time between the start of the second time interval and the end of the second time interval. That is, the load rate at each recording time in the second time interval includes the load rates at the recording times at the start point and the end point of the second time interval.
In one embodiment, calculating a second average load rate in the second time interval based on the load rate at each recording time in the second time interval comprises: determining the load rate of the first edge node at each recording moment in a second time interval starting from the second time interval; taking the average value of the load rate at each recording moment in the second time interval as a second average load rate Lavg _2; wherein the second time interval starting point is a recording time and the second time interval ending point is a recording time. That is, the second time interval includes: a recording time of the second time interval starting point, a recording time of the second time interval end point, and each recording time between the second time interval starting point and the second time interval end point.
Step 103, when the second average load rate is greater than the second load threshold, the task co-processing chip determines the number of the periodic tasks that do not start to run in the first edge node (for example, when the second time interval expires or when a period of time elapses after the second time interval expires), selects the periodic tasks based on the number of the periodic tasks that do not start to run, and takes the selected periodic tasks as the co-processing tasks. Preferably, the first load threshold is greater than the second load threshold.
In one embodiment, the task co-processing chip determines the number of periodic tasks that do not start to run in the first edge node, including: the task co-processing chip determines the number of periodic tasks in the first edge node that do not start running when the second time interval expires. In this case, the task co-processing chip causes the periodic task that does not start running at the expiration of the second time interval to be set to a suspended or suspended running state to wait for subsequent processing. Or the task co-processing chip determines the number of the periodic tasks which do not start to run at the first preset time after the second time interval expires in the first edge node. The first predetermined time is, for example, any reasonable first predetermined time after 100 seconds, after 200 seconds, after 500 seconds, after 800 seconds, or the like. I.e., determining the number of periodic tasks that have not begun running after a period of time (e.g., 100 seconds, 200 seconds, 500 seconds, 800 seconds elapsed) has elapsed after the expiration of the second time interval. In this way, it is possible to avoid a situation in which the running or execution of the periodic task has just started or is just about to run or execute at the expiration of the second time interval, and cannot take part in the processing.
FIG. 2 is a block diagram of an edge computing system with a set of auxiliary nodes according to an embodiment of the present invention. The edge computing system includes a plurality of data fields and each data field includes a plurality of edge nodes. For ease of illustration, only the first edge node and the set of secondary nodes for the first edge node within the current data domain are shown in FIG. 2. The auxiliary node set comprises a plurality of auxiliary edge nodes, and each auxiliary edge node can be used for assisting the first edge node in task cooperative processing. And the first edge node is provided with a plurality of periodic tasks which are executed in each operation period and non-periodic tasks which are requested and executed irregularly or randomly.
In one embodiment, selecting the periodic task based on the number of periodic tasks that have not begun running includes: when the number Nremain of the periodic tasks that do not start to run is greater than 0 and less than the cooperative task number threshold, each of the periodic tasks that do not start to run is selected as a cooperative processing task. The threshold value of the number of cooperative tasks is any reasonable value such as 3, 5, 6 or 8. Or when the number Ndomain of the periodic tasks which do not start to run is greater than or equal to the threshold value of the number of the cooperative tasks, acquiring the total number Ntotal of the periodic tasks of the first edge node in the current running period. Subsequently, the number of periodic tasks that need to be subjected to the cooperative processing is determined based on the total number Ntotal of the periodic tasks and the number Nremain of the periodic tasks that do not start to run. The embodiment of the invention can select a plurality of periodic tasks which do not start to run based on the number of the periodic tasks which need to be subjected to the cooperative processing, and takes each selected periodic task as the cooperative processing task. The cooperative processing task is a task requiring cooperative processing by an auxiliary edge node in the auxiliary node set.
In one embodiment, determining the number of periodic tasks that need to be subjected to cooperative processing based on the total number of periodic tasks Ntotal and the number of periodic tasks Nremain that do not start to run includes: the number Nco of periodic tasks that need to be subjected to cooperative processing is calculated based on the following formula:
Figure 538672DEST_PATH_IMAGE019
the method includes that Nthco is a threshold value of the number of cooperative tasks, ntotal is the total number of periodic tasks of a first edge node in a current operation period, and Nremain is the number of periodic tasks of the first edge node which do not start to operate in the current operation period, wherein Ntotal is greater than Nthco. The load rate typically does not trigger the co-processing process when an edge node, such as the first edge node, has not run a periodic task.
In one embodiment, selecting a plurality of periodic tasks that do not start to run based on the number of periodic tasks that need to be co-processed includes: acquiring attribute information of each periodic task which does not start to run; determining a set start time of each periodic task which does not start to run based on the attribute information of each periodic task which does not start to run; and sequencing the plurality of periodic tasks which do not start to run based on the time sequence of the set starting time, wherein the periodic task which does not start to run and has the earliest set starting time is ranked at the first position, and the periodic task which does not start to run and has the latest set starting time is ranked at the last position. According to the chronological order, starting from the periodic task which is not started to run and has the earliest set starting time, sequentially selecting Nco periodic tasks which are not started to run. That is, nco periodic tasks whose start times are set to be the earliest are selected as the cooperative processing tasks without starting to run. Generally, the periodic task has a set start time, and in actual operation, the actual task start time of the periodic task is later than, earlier than or equal to the set start time due to network delay, network transmission and the state of the edge node.
In one embodiment, alternatively, selecting a plurality of periodic tasks that do not start to run based on the number of periodic tasks that need to be co-processed includes: acquiring attribute information of each periodic task which does not start to run; determining a preset execution time length of each periodic task which does not start to run based on the attribute information of each periodic task which does not start to run; sequencing a plurality of periodic tasks which do not start to run based on a sequence of preset execution time lengths from large to small, wherein the periodic task which has the largest preset execution time length and does not start to run is arranged at the first position, and the periodic task which has the smallest preset execution time length and does not start to run is arranged at the last position; according to the sequence from large to small of the preset execution time length, sequentially selecting Nco periodic tasks which do not start to run from the periodic task which does not start to run and has the largest preset execution time length. That is, nco periodic tasks that do not start to run and have the largest preset execution time length or average execution time length of a plurality of run cycles are selected as the cooperative processing tasks.
In one embodiment, alternatively, selecting a plurality of periodic tasks that do not start to run based on the number of periodic tasks that need to be subjected to cooperative processing includes: from all the periodic tasks that have never started running, nco periodic tasks that have not started running are randomly selected.
Step 104, aiming at each cooperative processing task, performing: a task co-processing chip creates a related task controller in a first edge node for each co-processing task, the related task controller obtains attribute information of the co-processing task, and the attribute information includes: the method comprises the steps of task identification, set starting time, preset execution time length and task weight, and selecting a plurality of auxiliary edge nodes for a cooperative processing task from an auxiliary node set of a first edge node based on attribute information. In an embodiment of the present invention, steps 104-106 are performed separately for each co-processing task.
In one embodiment, each task manager is aware of the number of periodic tasks remaining in the selected secondary edge node. The auxiliary edge node is selected based on the number of the remaining periodic tasks, so that the situation that a plurality of task controllers select the same auxiliary edge node to cause excessive sub-tasks of the cooperative processing executed by the auxiliary edge node is avoided.
In one embodiment, after creating, by the task co-processing chip, an associated task controller in the first edge node for each co-processing task, further comprising: and determining the task identification of the cooperative processing task, and using the task identification as the identifier of the associated task controller. To this end, the co-processing task to which the task controller relates or is associated may be determined by an identifier of the task controller.
In one embodiment, the associated task controller obtains attribute information of the co-processing task, including: the associated task controller determines a periodic task corresponding to the co-processing task. Since the cooperative processing task itself belongs to the periodic task and is obtained by selection from a plurality of periodic tasks, the cooperative processing task has a corresponding periodic task. And acquiring the attribute information of the periodic task corresponding to the cooperative processing task, and taking the attribute information of the periodic task corresponding to the cooperative processing task as the attribute information of the cooperative processing task.
In one embodiment, selecting a plurality of secondary edge nodes for the co-processing task from a set of secondary nodes of the first edge node based on the attribute information includes: determining the task weight of the cooperative processing task based on the attribute information of the cooperative processing task; a plurality of auxiliary edge nodes are selected for the co-processing task from the set of auxiliary nodes of the first edge node according to the task weight of the co-processing task. In order to ensure the execution efficiency of the cooperative processing task and avoid the increase of the load rate of the auxiliary edge nodes, a plurality of auxiliary edge nodes are selected for each cooperative processing task.
In one embodiment, specifically, selecting a plurality of auxiliary edge nodes for the co-processing task from the auxiliary node set of the first edge node according to the task weight of the co-processing task includes: determining the number Nnode of auxiliary edge nodes in an auxiliary node set of the first edge node; when the task weight is greater than or equal to the weight threshold value, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task to be
Figure 754890DEST_PATH_IMAGE008
(ii) a When the task weight is less than the weight threshold, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure 106237DEST_PATH_IMAGE009
(ii) a Wherein Nnode is greater than5, a natural number; and randomly selecting Ns auxiliary edge nodes for the cooperative processing task from the auxiliary node set of the first edge node.
FIG. 5 is a flowchart of a method for selecting a plurality of secondary edge nodes for each co-processing task, according to an embodiment of the invention. As shown in fig. 5, a method 500 for selecting a plurality of auxiliary edge nodes for a co-processing task from an auxiliary node set of a first edge node according to a task weight of the co-processing task includes:
step 501, determining the number Nnode of auxiliary edge nodes in an auxiliary node set of a first edge node;
step 502, determining the number of auxiliary edge nodes selected for the cooperative processing task, specifically including: when the task weight is greater than or equal to the weight threshold value, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task to be
Figure 786617DEST_PATH_IMAGE008
(ii) a When the task weight is less than the weight threshold, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure 198007DEST_PATH_IMAGE009
(ii) a Wherein Nnode is a natural number greater than 5;
step 503, determining the number of the periodic tasks that each auxiliary edge node in the auxiliary node set of the first edge node does not start to run at a second predetermined time after the second time interval expires;
step 504, sorting the auxiliary edge nodes in the auxiliary node set based on the increasing sequence of the number of the periodic tasks which do not start to run at the second preset time after the second time interval expires, so as to generate a sorted list;
and 505, selecting Ns auxiliary edge nodes from the auxiliary edge node with the largest number of the periodic tasks which do not start to run in the sorted list.
And 105, the task controller constructs a virtual local area network based on the first edge node and the selected multiple auxiliary edge nodes, divides the cooperative processing task into multiple subtasks, and distributes the multiple subtasks to the selected multiple auxiliary edge nodes, wherein at least one subtask is distributed to each auxiliary edge node. Since the cooperative processing task (also a periodic task) is usually a task with a higher importance level, the purpose of constructing the virtual local area network is to ensure that the cooperative processing task is processed in a safe environment, and data transmission in the task execution process and data transmission of the task execution result are both data transmission with higher safety.
Each task controller constructs a virtual local area network based on the first edge node and the selected plurality of auxiliary edge nodes. FIG. 3 is a diagram illustrating the selection of a plurality of secondary edge nodes for each co-processing task, according to an embodiment of the invention. As shown in fig. 3, for example, three coprocessing tasks in the first edge node: the co-processing tasks 1, 2 and 3 each have a respective task controller, such as task controllers 1, 2 and 3. The task controller 1 of the co-processing task 1 constructs a virtual local area network based on the first edge node and the auxiliary edge nodes a, B, C and D selected for the co-processing task 1. The task controller 2 of the co-processing task 2 constructs a virtual local area network based on the first edge node and the auxiliary edge nodes D, F, G, H, I and J selected for the co-processing task 2. The task controller 3 of the cooperative processing task 3 constructs a virtual local area network based on the first edge node and the auxiliary edge nodes H, J, and L selected for the cooperative processing task 3. It can be seen that there may be identical or overlapping secondary edge nodes, e.g., secondary edge nodes D, H, and J, between the plurality of secondary edge nodes selected for each of co-processing tasks 1, 2, and 3.
In one embodiment, the task controller constructs a virtual local area network based on the first edge node and the selected plurality of secondary edge nodes, including: the task controller constructs a virtual local area network based on the first edge node and the plurality of auxiliary edge nodes selected for the cooperative processing task, so that the first edge node and the selected plurality of auxiliary edge nodes can perform secure communication in the virtual local area network.
In one embodiment, dividing the co-processing task into a plurality of sub-tasks includes: the task controller determines a plurality of functional modules of the cooperative processing task, and determines each functional module as a subtask, thereby obtaining a plurality of subtasks of the cooperative processing task. Assigning a plurality of subtasks to the selected plurality of secondary edge nodes, comprising: and according to a random distribution mode or a polling distribution mode, distributing the plurality of subtasks to a plurality of auxiliary edge nodes selected by the task controller for the cooperative processing tasks of the plurality of subtasks, so that at least one subtask is distributed to each auxiliary edge node.
FIG. 4 is a diagram illustrating assignment of subtasks to secondary edge nodes according to an embodiment of the present invention. As shown in fig. 4, the cooperative processing task in the first edge node is divided into four subtasks according to the plurality of functional modules of the cooperative processing task. Subsequently, subtask 1 is assigned to secondary edge node A, which is one of the plurality of secondary edge nodes selected for the co-processing task, subtask 2 is assigned to secondary edge node C, subtask 3 is assigned to secondary edge node B, and subtask 4 is assigned to secondary edge node D.
And 106, in the virtual local area network, the task controller assists the selected multiple auxiliary edge nodes to respectively execute at least one respective subtask, and after all subtasks are executed, the task controller generates an execution result of the cooperative processing task.
In one embodiment, the task controller assists the selected plurality of auxiliary edge nodes to respectively perform respective at least one subtask, including: when a specific auxiliary edge node in the plurality of auxiliary edge nodes executes the allocated at least one subtask, if the executing subtask needs to call a subtask in another auxiliary edge node, sending a call request to another auxiliary edge node via the task controller, and sending a call response for the call request, received from another auxiliary edge node, to the specific auxiliary edge node by the task controller.
In one embodiment, after all the subtasks are executed, the task controller generates an execution result of the co-processing task, including: the task controller determines at least one subtask used for generating result data in all subtasks; after all subtasks are executed, the task controller collects result data from at least one subtask used to generate result data; and generating an execution result of the cooperative processing task based on the result data.
In one embodiment, since the present application needs to perform cooperative processing of a task by using an auxiliary edge node in an auxiliary node set of a first edge node or process a task (e.g., a periodic task) according to a cooperative processing manner, it is necessary to ensure that the auxiliary edge node in the auxiliary node set and the first edge node have complementarity when running the task. For example, based on operational statistics over multiple operational cycles, any secondary edge node in the set of secondary nodes is preferably at a lower load rate level when the first edge node is at a higher load rate level. In this way, the auxiliary edge node of the first edge node can assist or cooperatively process the periodic task which cannot be processed in the first edge node in a state of a low load rate when the load rate of the first edge node is high. For this purpose, the operation monitoring chip needs to determine whether to select a new auxiliary edge node according to the operation state of the first edge node, so as to update the auxiliary node set of the first edge node. For this purpose, in each operating cycle, the operation monitoring chip performs: generating a periodic task record for each periodic task of an edge node, such as a first edge node, the periodic task record including: the task information comprises a task identifier, a running period sequence number, a task starting time, a task ending time and a task weight, and a plurality of periodic task records form periodic task information. Generating an aperiodic task record for each aperiodic task in an edge node, such as a first edge node, the aperiodic task record comprising: and recording a plurality of non-periodic tasks to form non-periodic task information. The load record of an edge node, such as the first edge node, in each time unit of the operation cycle is formed into load statistics. And forming the node operation information of the operation period by using the periodic task information, the aperiodic task information and the load statistical information in the operation period. Node operation information is stored in a storage area preset in a memory of an edge node such as the first edge node, and the load record includes real-time processor usage per time unit and average processor usage per time unit.
In one embodiment, when the current operation cycle ends, the operation monitoring chip of the first edge node determines, based on the node operation information of the current operation cycle and the node operation information of the previous operation cycle, an operation deviation degree of the first edge node between the current operation cycle and the previous operation cycle, which specifically includes: the method comprises the steps that an operation monitoring chip of a first edge node obtains periodic task information, aperiodic task information and load statistical information of a current operation period from node operation information of the current operation period; the operation monitoring chip acquires node operation information of a previous operation period, and acquires periodic task information, aperiodic task information and load statistical information of the previous operation period from the node operation information of the previous operation period; determining a first deviation degree based on the periodic task information of the previous operation period and the periodic task information of the current operation period; determining a second deviation degree based on the aperiodic task information of the previous operation period and the aperiodic task information of the current operation period; determining a third deviation degree based on the load statistical information of the previous operation period and the load statistical information of the current operation period; and determining the operation deviation degree of the first edge node between the current operation period and the last operation period based on the first deviation degree, the second deviation degree and the third deviation degree.
Preferably, the determining the first deviation degree based on the periodic task information of the previous operation cycle and the periodic task information of the current operation cycle includes: acquiring a plurality of periodic task records of the previous operating period from the periodic task information of the previous operating period; acquiring a plurality of periodic task records of the current operation period from the periodic task information of the current operation period; forming a periodic task record pair by two periodic task records with the same task identifier in the previous operating period and the current operating period based on the operating period sequence number; determining a periodic time difference value ratio between the last operation period and the current operation period of the same periodic task with the same task identification based on each periodic task record pair; a first degree of deviation is determined based on the periodic time difference ratio and the task weight.
Preferably, determining a ratio of periodic time difference values between the last operation cycle and the current operation cycle of the same periodic task with the same task identification based on each periodic task record pair comprises: extracting the PBT (task start time) of the same periodic task in the last operating period from each periodic task record pair i And task end time PET i And a task start time CBT within the current run period i And task end time CET i (ii) a Determining a periodic time difference value ratio between a last operation period and a current operation period of the same periodic task with the same task identification based on the following formula:
Figure 901521DEST_PATH_IMAGE020
wherein the content of the first and second substances,
Figure 915613DEST_PATH_IMAGE021
for the periodic time difference ratio between the last operating cycle and the current operating cycle for the ith periodic task, PBT i The task starting time of the ith periodic task in the last operating period is set; PET i The task ending time of the ith periodic task in the last operating cycle is set; CBT i The task starting time of the ith periodic task in the current operation period is set; CET (CET) i The task ending time of the ith periodic task in the current operation period is set;
Figure 591445DEST_PATH_IMAGE022
i and np are natural numbers and np is the number of periodic tasks. In this example, PBT i 、PET i 、CBT i AndCET i has a value such that
Figure 298370DEST_PATH_IMAGE023
Preferably, determining the first degree of deviation based on the ratio of the periodic time difference values and the task weight comprises: determining a task weight of each periodic task based on a plurality of periodic task records of a current operation period; calculating a first degree of deviation based on the following formula:
Figure 489180DEST_PATH_IMAGE024
wherein the content of the first and second substances,
Figure 182329DEST_PATH_IMAGE025
in order to be the first degree of deviation,
Figure 571722DEST_PATH_IMAGE026
the task weight for the ith periodic task,
Figure 324915DEST_PATH_IMAGE021
a periodic time difference ratio between a last operation period and a current operation period for the ith periodic task. In an embodiment, the number of periodic tasks of the previous running period and the current running period is the same, and the task identification of each periodic task of the previous running period and the current running period is the same. That is, the same periodic task is executed in the previous operating cycle and the current operating cycle. In the current operation period, the current time period,
Figure 330917DEST_PATH_IMAGE027
=1, i.e. the sum of the task weights of all periodic tasks in the current run cycle (likewise, the last run cycle) is 1.
Preferably, the determining the second deviation degree based on the aperiodic task information of the previous operation period and the aperiodic task information of the current operation period includes: and acquiring a plurality of aperiodic task records of the previous operating period from the aperiodic task information of the previous operating period, and determining the number of aperiodic tasks in the previous operating period and a first aperiodic task with the longest task processing time based on the plurality of aperiodic task records of the previous operating period. Acquiring a plurality of aperiodic task records of the current operation period from the aperiodic task information of the current operation period, and determining the number of aperiodic tasks in the current operation period and a second aperiodic task with the longest task processing time based on the plurality of aperiodic task records of the current operation period; determining a quantity threshold value based on the quantity of the non-periodic tasks and the first non-periodic tasks in the last operation period and the quantity of the non-periodic tasks and the second non-periodic tasks in the current operation period; determining at least one high concurrent operation time interval of the previous operation cycle based on the plurality of aperiodic task records and the quantity threshold of the previous operation cycle, and determining at least one high concurrent operation time interval of the current operation cycle based on the plurality of aperiodic task records and the quantity threshold of the current operation cycle; determining a second degree of deviation based on the at least one high concurrent runtime interval of the last operating cycle and the at least one high concurrent runtime interval of the current operating cycle.
Preferably, the determining the number of non-periodic tasks in the last operating cycle and the first non-periodic task with the longest task processing time based on the plurality of non-periodic task records of the last operating cycle includes: determining the quantity of the non-periodic task records in the previous operating period as the quantity of the non-periodic tasks in the previous operating period; determining the task processing time of each non-periodic task based on the previous operating cycle based on the absolute value of the difference value between the task starting time and the task ending time in each non-periodic task record of the previous operating cycle; and determining the aperiodic task with the longest task processing time in the last operating period as the first aperiodic task.
Preferably, the determining the number of the aperiodic tasks in the current operating cycle and the second aperiodic task with the longest task processing time based on a plurality of aperiodic task records of the current operating cycle includes: determining the quantity of the aperiodic task records of the current operation period as the quantity of the aperiodic tasks in the current operation period; determining the task processing time of each non-periodic task based on the current operation period based on the absolute value of the difference value between the task starting time and the task ending time in each non-periodic task record of the current operation period; and determining the aperiodic task with the longest task processing time in the current operation period as a second aperiodic task.
Preferably, determining the number threshold based on the number of non-periodic tasks and the first non-periodic task in the last operating cycle and the number of non-periodic tasks and the second non-periodic task in the current operating cycle comprises: acquiring a task processing time Tt1 of a first aperiodic task and acquiring a task processing time Tt2 of a second aperiodic task; acquiring the time length Tq1 of the previous operation period and acquiring the time length Tq2 of the current operation period; the quantity threshold is determined based on the following formula:
Figure 624495DEST_PATH_IMAGE028
wherein TH is a number threshold, tt1 is a task processing time of the first aperiodic task, tt2 is a task processing time of the second aperiodic task, tq1 is a time length of a previous operation period, tq2 is a time length of a current operation period, tn1 is a number of aperiodic tasks in the previous operation period, tn2 is a number of aperiodic tasks in the current operation period,
Figure 274919DEST_PATH_IMAGE029
the factor is adjusted for the first time in a manner,
Figure 58067DEST_PATH_IMAGE030
the factor is adjusted for a second time.
Preferably, determining at least one high concurrency runtime interval for a previous run cycle based on the plurality of aperiodic task records and the quantity threshold for the previous run cycle comprises: generating a task concurrent running graph of a plurality of non-periodic tasks of the previous running period based on the task starting time and the task ending time in the plurality of non-periodic task records of the previous running period; in the task concurrent operation graph of the last operation period, at least one high concurrent operation time interval in which the number of the non-periodic tasks which are concurrently operated is greater than or equal to the number threshold is determined, and the starting time and the ending time of each high concurrent operation time interval are determined.
Preferably, determining at least one high concurrency runtime interval for the current run cycle based on the plurality of aperiodic task records and the quantity threshold for the current run cycle comprises: generating a task concurrent running graph of a plurality of aperiodic tasks of the current running period based on the task starting time and the task ending time in a plurality of aperiodic task records of the current running period; in the task concurrent operation graph of the current operation cycle, at least one high concurrent operation time interval with the quantity of the non-periodic tasks which are operated concurrently being larger than or equal to a quantity threshold value is determined, and the starting time and the ending time of each high concurrent operation time interval are determined.
Preferably, the determining the second deviation degree based on the at least one high concurrent operation time interval of the last operation cycle and the at least one high concurrent operation time interval of the current operation cycle includes: selecting a high concurrent operation time interval with the maximum time length of the previous operation period from at least one high concurrent operation time interval of the previous operation period as a first operation interval, and determining the starting time FB1 and the ending time FE1 of the first operation interval; selecting a high concurrent operation time interval with the maximum time length of the current operation time period from at least one high concurrent operation time interval of the current operation period as a second operation interval, and determining the start time FB2 and the end time FE2 of the second operation interval; the second deviation degree when there is no overlapping time between the first operation interval and the second operation interval
Figure 161152DEST_PATH_IMAGE031
Is 1; when the first operation interval and the second operation interval have the overlapping time, determining the length TO of the overlapping time between the first operation interval and the second operation interval;
at that time
Figure 147887DEST_PATH_IMAGE032
Second degree of deviation
Figure 918397DEST_PATH_IMAGE031
Is 0.5;
when in use
Figure 544550DEST_PATH_IMAGE033
Second degree of deviation
Figure 525144DEST_PATH_IMAGE034
Preferably, the determining the third deviation degree based on the load statistical information of the previous operation cycle and the load statistical information of the current operation cycle includes: determining a load record in each time unit of the previous operation period according to the load statistical information of the previous operation period, determining an average processor utilization rate in each time unit according to the previous operation period according to the load record in each time unit of the previous operation period, and determining the first time unit number Nt1 of the time units of which the average processor utilization rate is greater than a utilization rate threshold value on the basis of the average processor utilization rate in each time unit of the previous operation period; determining a load record in each time unit of the current operation period according to the load statistical information of the current operation period, determining an average processor utilization rate of each time unit according to the current operation period according to the load record in each time unit of the current operation period, and determining a second time unit number Nt2 of the time units of which the average processor utilization rate is greater than a utilization rate threshold value based on the average processor utilization rate of each time unit of the current operation period; determining the number N1 of time units of the previous operation period and the number N2 of time units of the current operation period; and determining a third degree of deviation based on the first number of time units Nt1, the number of time units N1 of the previous operation cycle, the second number of time units Nt2 and the number of time units N2 of the current operation cycle.
Preferably, the first time unit number Nt1,Determining a third deviation degree by the number of time units N1 of the previous operation period, the number of second time units Nt2 and the number of time units N2 of the current operation period, wherein the third deviation degree comprises the following steps: determining a third degree of deviation based on the following equation
Figure 98208DEST_PATH_IMAGE035
Figure 582279DEST_PATH_IMAGE036
Wherein Nt1 is the number of the first time units, N1 is the number of the time units of the previous operation cycle, nt2 is the number of the second time units, N2 is the number of the time units of the current operation cycle,
Figure 644913DEST_PATH_IMAGE037
To get
Figure 722591DEST_PATH_IMAGE038
And
Figure 223979DEST_PATH_IMAGE039
the minimum value of (d); wherein
Figure 703502DEST_PATH_IMAGE040
Figure 937037DEST_PATH_IMAGE041
Preferably, determining the operation deviation degree of the first edge node between the current operation period and the last operation period based on the first deviation degree, the second deviation degree and the third deviation degree comprises:
calculating the degree of running deviation based on the following formula
Figure 626644DEST_PATH_IMAGE042
Figure 541511DEST_PATH_IMAGE043
Wherein the content of the first and second substances,
Figure 174DEST_PATH_IMAGE044
in order to be the first degree of deviation,
Figure 404611DEST_PATH_IMAGE031
in order to be the second degree of deviation,
Figure 456880DEST_PATH_IMAGE035
in order to be the third degree of deviation,
Figure 34492DEST_PATH_IMAGE045
in order to be the first adjustment factor,
Figure 488607DEST_PATH_IMAGE046
in order to be the second adjustment factor,
Figure 63945DEST_PATH_IMAGE047
is the third adjustment factor.
In one embodiment, when the running deviation degree is greater than the deviation degree threshold, determining a first task matching degree of the first edge node and each auxiliary edge node in the auxiliary node set associated with the first edge node specifically includes: acquiring load statistical information of a current operation cycle from node operation information of the current operation cycle of a first edge node, acquiring a load record in each time unit of the current operation cycle of the first edge node according to the load statistical information of the current operation cycle, acquiring load statistical information of the current operation cycle of each auxiliary edge node in an auxiliary node set, and acquiring the load record in each time unit of the current operation cycle of each auxiliary edge node based on the load statistical information of the current operation cycle of each auxiliary edge node; and determining a first task matching degree of the first edge node and each auxiliary edge node based on the load record in each time unit of the current operation period of the first edge node and the load record in each time unit of the current operation period of each auxiliary edge node.
Preferably, a groupDetermining a first task matching degree of the first edge node and each auxiliary edge node according to the load record in each time unit of the current operation period of the first edge node and the load record in each time unit of the current operation period of each auxiliary edge node, including: determining an average processor utilization rate in each time unit of a current operating cycle of the first edge node based on the load record in each time unit of the current operating cycle of the first edge node; determining an average processor utilization rate in each time unit of the current operating cycle of each secondary edge node based on the load record in each time unit of the current operating cycle of each secondary edge node; for a first edge node, determining a number NCU of time units for which an average processor usage by the first edge node is greater than a first usage threshold over a current run period; for each secondary edge node, determining a number NCS of time units for which the average processor usage by each secondary edge node during the current run period is less than a second usage threshold j (ii) a Wherein the second usage threshold is less than the first usage threshold; when the jth auxiliary edge node satisfies
Figure 462565DEST_PATH_IMAGE048
Then, the jth auxiliary edge node is matched with the first task matching degree Ma of the first edge node j Is set to 1; when the jth auxiliary edge node satisfies
Figure 984813DEST_PATH_IMAGE049
Then, a first task matching degree Ma of the jth auxiliary edge node and the first edge node is calculated based on the following formula j
Figure 90173DEST_PATH_IMAGE050
When the jth auxiliary edge node satisfies
Figure 167238DEST_PATH_IMAGE051
Then, the jth auxiliary edge node and the jth auxiliary edge node are calculated based on the following formulasA first task matching degree Ma of an edge node j
Figure 928520DEST_PATH_IMAGE052
Wherein, the first and the second end of the pipe are connected with each other,
Figure 113514DEST_PATH_IMAGE053
j and Nnode are natural numbers, and Nnode is the number of auxiliary edge nodes in the auxiliary node set.
In one embodiment, selecting, as the candidate edge node, an edge node that is not an auxiliary edge node from all edge nodes except the first edge node belonging to the same data domain as the first edge node includes: and selecting edge nodes which are not auxiliary edge nodes in the auxiliary node set from all the edge nodes except the first edge node belonging to the same data domain as the first edge node as candidate edge nodes of the first edge node. Preferably, the method further comprises determining an associated set of secondary nodes for the first edge node in the same data domain in advance, each edge node in the associated set of secondary nodes being a secondary edge node of the first edge node.
In one embodiment, a dynamic matching degree threshold is determined based on the first task matching degree of the first edge node and each auxiliary edge node, and auxiliary edge nodes with the first task matching degree smaller than the dynamic matching degree threshold are removed from the auxiliary node set. Wherein determining a dynamic match metric threshold based on the first task match metric for the first edge node and each secondary edge node comprises: determining an average Ma of a plurality of first task matching degrees based on the first task matching degrees of the first edge node and each auxiliary edge node avg And a minimum value Min of the first task matching degrees;
calculating a dynamic matching degree threshold Mh based on the following formula:
Figure 276642DEST_PATH_IMAGE054
in one embodiment, a second task matching degree of each candidate edge node with the first edge node is calculated, at least one auxiliary edge node is selected from the plurality of candidate edge nodes based on the second task matching degree, and the selected at least one auxiliary edge node is added to the set of auxiliary nodes of the first edge node. Calculating a second task matching degree of each candidate edge node and the first edge node, wherein the calculating comprises the following steps: acquiring load statistical information of a current operation period from node operation information of the current operation period of a first edge node, acquiring a load record in each time unit of the current operation period of the first edge node according to the load statistical information of the current operation period, acquiring load statistical information of the current operation period of each candidate edge node, and acquiring a load record in each time unit of the current operation period of each candidate edge node based on the load statistical information of the current operation period of each candidate edge node; and determining a second task matching degree of the first edge node and each candidate edge node based on the load record in each time unit of the current operation period of the first edge node and the load record in each time unit of the current operation period of each candidate edge node.
Preferably, determining the second task matching degree of the first edge node and each candidate edge node based on the load record in each time unit of the current operation cycle of the first edge node and the load record in each time unit of the current operation cycle of each candidate edge node comprises: determining an average processor utilization rate in each time unit of a current operating cycle of the first edge node based on the load record in each time unit of the current operating cycle of the first edge node; determining an average processor utilization rate in each time unit of the current operating cycle of each candidate edge node based on the load record in each time unit of the current operating cycle of each candidate edge node; for a first edge node, determining a number NDU of time units for which an average processor utilization of the first edge node is greater than a first utilization threshold in a current run period; for each of the candidate edge nodes,determining the number NDS of time units for which the average processor usage of each candidate edge node during the current run period is less than a second usage threshold j (ii) a Wherein the second usage threshold is less than the first usage threshold; when the jth candidate edge node satisfies
Figure 193782DEST_PATH_IMAGE055
Then, the second task matching degree Md of the jth candidate edge node and the first edge node is set j Is set to 1; when the jth candidate edge node satisfies
Figure 832574DEST_PATH_IMAGE056
Then, a second task matching degree Md of the jth candidate edge node and the first edge node is calculated based on the following formula j
Figure 431046DEST_PATH_IMAGE057
When the jth candidate edge node satisfies
Figure 573314DEST_PATH_IMAGE058
Then, a second task matching degree Md of the jth candidate edge node and the first edge node is calculated based on the following formula j
Figure 130197DEST_PATH_IMAGE059
Wherein the content of the first and second substances,
Figure 662810DEST_PATH_IMAGE060
j and Nnode are natural numbers, and Nnode is the number of auxiliary edge nodes in the auxiliary node set.
Preferably, selecting at least one auxiliary edge node from the plurality of candidate edge nodes based on the second task matching degree comprises: and selecting the candidate edge node with the second task matching degree larger than the static matching degree threshold value as the auxiliary edge node.
Fig. 6 is a schematic structural diagram of a system for performing task co-processing based on a task co-processing chip according to an embodiment of the present invention. The system 600 includes:
a determining device 601, configured to determine, when a task co-processing chip of a first edge node detects that a load rate of the first edge node at a current recording time is greater than or equal to a first load threshold, a first average load rate of the first edge node in a first time interval that takes the current recording time as an end point of the first time interval;
an obtaining device 602, configured to determine a second time interval based on the first average load rate, obtain, when the second time interval expires, a load rate of the first edge node at each recording time in the second time interval, and calculate a second average load rate in the second time interval based on the load rate of each recording time in the second time interval;
a selecting device 603, configured to, when the second average load rate is greater than the second load threshold, the task co-processing chip determines the number of the periodic tasks that do not start to run in the first edge node, and selects the periodic tasks based on the number of the periodic tasks that do not start to run, and takes the selected periodic tasks as the co-processing tasks;
a processing device 604, configured to perform, for each cooperative processing task:
a task co-processing chip creates a related task controller in a first edge node for each co-processing task, the related task controller obtains attribute information of the co-processing task, and the attribute information includes: the method comprises the steps that a task identifier, a set starting time, a preset execution time length and a task weight are used, and a plurality of auxiliary edge nodes are selected for a cooperative processing task from an auxiliary node set of a first edge node based on attribute information;
the task controller constructs a virtual local area network based on the first edge node and the selected multiple auxiliary edge nodes, divides the cooperative processing task into multiple subtasks, and distributes the multiple subtasks to the selected multiple auxiliary edge nodes, wherein at least one subtask is distributed to each auxiliary edge node; and
in the virtual local area network, the task controller assists the selected multiple auxiliary edge nodes to respectively execute at least one respective subtask, and after all subtasks are executed, the task controller generates an execution result of the cooperative processing task.
The system further comprises a recording device (not shown in the figure) for prompting the operation monitoring chip of the first edge node to acquire the load rate of the first edge node at each recording moment and storing the load rate at each recording moment; wherein the load ratio is: processor usage, memory usage, or system resource usage. The periodic task is a task which is executed in the first edge node in each running period; generating a periodic task record for each periodic task of the first edge node by an operation monitoring chip of the first edge node, wherein the periodic task record comprises: the method comprises the steps of identifying a task, running cycle sequence numbers, task starting time, task ending time and task weight, and forming task records of a plurality of periodic tasks into periodic task information; the task identifier is used for uniquely identifying the periodic task, the running period sequence number is used for indicating the sequence number of the running period in which the periodic task is located, the task starting time is the starting time of the periodic task in the running period indicated by the running period sequence number, the task ending time is the ending time of the periodic task in the running period indicated by the running period sequence number, and the task weight is greater than 0 and less than 1; the first load threshold is greater than the second load threshold.
The determining means 601 is further configured to determine a current load ratio of the load rate Lc of the first edge node at the current recording time to the first load threshold Lth _1 as
Figure 189606DEST_PATH_IMAGE061
(ii) a Obtaining a preset basic time length based on the current load ratio
Figure 61747DEST_PATH_IMAGE062
And a base time length Tpr for determining the first time length as
Figure 586269DEST_PATH_IMAGE063
(ii) a Based on a first time lengthAnd a first time interval end point, determining a first time interval start point at a past time; and taking a time interval between the start of the first time interval and the end of the first time interval as the first time interval.
The determining device 601 is further configured to determine a load rate of the first edge node at each recording time in the first time interval with the current recording time as the end of the time interval; taking the average value of the load rate of each recording moment in the first time interval as a first average load rate Lavg _1; wherein the first time interval starting point is a recording time and the first time interval ending point is a recording time; the first time interval includes a recording time at a start of the first time interval and a recording time at an end of the first time interval.
The obtaining device 602 is specifically configured to obtain a preset basic time length Tpr; when the first average load rate Lavg _1 is less than the first load threshold value Lth _1 and greater than or equal to the second load threshold value Lth _2, determining the second time length as
Figure 934074DEST_PATH_IMAGE064
(ii) a When the first average load rate Lavg _1 is smaller than the second load threshold value Lth _2, determining that the second time length is
Figure 139928DEST_PATH_IMAGE065
(ii) a Taking Kp-th recording time after the time for determining the second time length as the starting point of the second time interval, wherein Kp is a natural number, and Kp is
Figure 991209DEST_PATH_IMAGE066
Where Npnu is a preset natural number and is greater than 50,
Figure 686633DEST_PATH_IMAGE067
greater than 1; a time interval starting from the start of the second time interval and continuing for a second time length is taken as the second time interval.
The obtaining means 602 is further configured to determine a second time interval end point of the second time interval based on the second time interval start point and the second time length; determining that the second time interval expires when the current time reaches the end point of the second time interval; acquiring the load rate of the first edge node at each recording moment in a second time interval; wherein the load rate at each recording moment comprises: the load rate at the start of the second time interval, the load rate at the end of the second time interval, and the load rate at each recording time between the start of the second time interval and the end of the second time interval.
The obtaining means 602 is further configured to determine a load rate of the first edge node at each recording time in a second time interval starting with the second time interval; taking the average value of the load rate at each recording moment in the second time interval as a second average load rate Lavg _2; wherein the second time interval starting point is a recording time and the second time interval ending point is a recording time; the second time interval includes a recording time of a start point of the second time interval, a recording time of an end point of the second time interval, and each recording time between the start point of the second time interval and the end point of the second time interval.
The task co-processing chip determines the number of the periodic tasks which do not start to run in the first edge node, and the method comprises the following steps: the task co-processing chip determines the number of periodic tasks which do not start to run when a second time interval expires in the first edge node; or the task co-processing chip determines the number of the periodic tasks which do not start to run at the first preset time after the second time interval expires in the first edge node.
The selecting device 603 is specifically configured to select each periodic task that does not start to run as a cooperative processing task when the number Nremain of the periodic tasks that do not start to run is greater than 0 and smaller than the cooperative task number threshold; or when the number Ndomain of the periodic tasks which do not start to run is greater than or equal to the threshold value of the number of the cooperative tasks, acquiring the total number Ntotal of the periodic tasks of the first edge node in the current running period; determining the number of the periodic tasks needing to be subjected to cooperative processing based on the total number Ntotal of the periodic tasks and the number Ndomain of the periodic tasks not starting to run; and selecting a plurality of periodic tasks which do not start to run based on the number of the periodic tasks which need to be subjected to the cooperative processing, and taking each selected periodic task as a cooperative processing task.
The selection device 603 is specifically configured to calculate the number Nco of periodic tasks that need to be cooperatively processed based on the following formula:
Figure 131520DEST_PATH_IMAGE068
the method includes the steps that Nthco is a collaborative task number threshold, ntotal is the total number of periodic tasks of a first edge node in a current operation period, and Nremain is the number of periodic tasks of the first edge node which do not start to operate in the current operation period, wherein Ntotal is larger than Nthco.
The selecting device 603 is specifically configured to obtain attribute information of each periodic task that does not start to run;
determining a set start time of each periodic task which does not start to run based on the attribute information of each periodic task which does not start to run; sequencing a plurality of periodic tasks which do not start to run based on the time sequence of the set start time, wherein the periodic task which does not start to run and has the earliest set start time is ranked at the first position, and the periodic task which does not start to run and has the latest set start time is ranked at the last position; according to the time sequence, starting from the periodic task which is set to have the earliest starting time and does not start to run, sequentially selecting the Nco periodic tasks which do not start to run.
The selecting device 603 is specifically configured to obtain attribute information of each periodic task that does not start to run; determining a preset execution time length of each periodic task which does not start to run based on the attribute information of each periodic task which does not start to run; sequencing a plurality of periodic tasks which do not start to run based on a sequence of preset execution time lengths from large to small, wherein the periodic task which has the largest preset execution time length and does not start to run is arranged at the first position, and the periodic task which has the smallest preset execution time length and does not start to run is arranged at the last position; according to the sequence from large to small of the preset execution time length, starting from the periodic task which is not started to run and has the largest preset execution time length, and sequentially selecting the Nco periodic tasks which are not started to run.
The selecting device 603 is specifically configured to randomly select Nco periodic tasks that are not started to run from all the periodic tasks that are not started to run.
The processing means 604 is further arranged to determine a task identity of the co-processing task as an identifier of the associated task controller.
The processing device 604 is further configured to cause the associated task controller to determine a periodic task corresponding to the co-processing task; and acquiring the attribute information of the periodic task corresponding to the cooperative processing task, and taking the attribute information of the periodic task corresponding to the cooperative processing task as the attribute information of the cooperative processing task.
The processing device 604 is further configured to determine a task weight of the co-processing task based on the attribute information of the co-processing task; a plurality of auxiliary edge nodes are selected for the co-processing task from the set of auxiliary nodes of the first edge node according to the task weight of the co-processing task.
The processing means 604 is further configured to determine a number, nnode, of secondary edge nodes in the set of secondary nodes for the first edge node; when the task weight is greater than or equal to the weight threshold value, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure 119DEST_PATH_IMAGE008
(ii) a When the task weight is less than the weight threshold, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure 112432DEST_PATH_IMAGE009
(ii) a Wherein the Nnode is a natural number greater than 5; ns auxiliary edge nodes are randomly selected for the co-processing task from the auxiliary node set of the first edge node.
The processing means 604 is further configured to determine a number, nnode, of secondary edge nodes in the set of secondary nodes for the first edge node; when the task weight is greater than or equal to the weight threshold,determining the number of secondary edge nodes selected for the co-processing task Ns of
Figure 713177DEST_PATH_IMAGE008
(ii) a When the task weight is less than the weight threshold, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure 38504DEST_PATH_IMAGE009
(ii) a Wherein the Nnode is a natural number greater than 5; determining the number of periodic tasks which are not started to run by each auxiliary edge node in the auxiliary node set of the first edge node at a second preset time after the second time interval expires; sorting the auxiliary edge nodes in the auxiliary node set based on the increasing sequence of the number of the periodic tasks which do not start to run at a second preset time after the second time interval expires, so as to generate a sorted list; in the ordered list, ns auxiliary edge nodes are selected starting from the auxiliary edge node having the largest number of periodic tasks that have not started running.
The processing device 604 is further configured to cause the task controller to construct a virtual local area network based on the first edge node and the selected plurality of secondary edge nodes for the co-processing task, such that the first edge node and the selected plurality of secondary edge nodes are capable of secure communication in the virtual local area network.
The processing device 604 is further configured to cause the task controller to determine a plurality of functional modules of the co-processing task, each functional module being determined as a sub-task, thereby resulting in a plurality of sub-tasks of the co-processing task.
The processing device 604 is further configured to allocate the plurality of sub-tasks to a plurality of secondary edge nodes selected by the task controller for the cooperative processing task of the plurality of sub-tasks according to a random allocation manner or according to a polling allocation manner, so that at least one sub-task is allocated to each secondary edge node.
The processing device 604 is further configured to, when a specific assistant edge node of the plurality of assistant edge nodes is executing the allocated at least one sub-task, send a call request to another assistant edge node via the task controller if the executing sub-task needs to call a sub-task of another assistant edge node, and send a call response for the call request received from another assistant edge node to the specific assistant edge node by the task controller.
The processing means 604 is further configured to determine at least one of all the subtasks for generating result data by the task controller; after all subtasks are executed, the task controller collects result data from at least one subtask used to generate result data; and generating an execution result of the cooperative processing task based on the result data.
The invention has been described with reference to a few embodiments. However, other embodiments of the invention than the one disclosed above are equally possible within the scope of the invention, as would be apparent to a person skilled in the art from the appended patent claims.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a// the [ device, component, etc ]" are to be interpreted openly as at least one instance of a device, component, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.

Claims (25)

1. A method for performing task cooperative processing based on a task cooperative processing chip comprises the following steps:
when a task cooperative processing chip of a first edge node detects that the load rate of the first edge node at the current recording time is greater than or equal to a first load threshold, determining a first average load rate of the first edge node in a first time interval taking the current recording time as a first time interval end point;
determining a second time interval based on the first average load rate, acquiring the load rate of the first edge node at each recording moment in the second time interval when the second time interval expires, and calculating the second average load rate in the second time interval based on the load rate at each recording moment in the second time interval;
when the second average load rate is greater than a second load threshold value, the task cooperative processing chip determines the number of the periodic tasks which do not start to run in the first edge node, selects the periodic tasks based on the number of the periodic tasks which do not start to run, and takes the selected periodic tasks as cooperative processing tasks;
for each co-processing task, performing:
creating a related task controller in a first edge node for each cooperative processing task by a task cooperative processing chip, wherein the related task controller acquires attribute information of the cooperative processing task, and the attribute information comprises: the method comprises the steps that a task identifier, a set starting time, a preset execution time length and a task weight are set, and a plurality of auxiliary edge nodes are selected for each cooperative processing task from an auxiliary node set of a first edge node by an associated task controller based on attribute information;
the associated task controller constructs a virtual local area network based on the first edge node and the selected multiple auxiliary edge nodes, divides each cooperative processing task into multiple subtasks, and distributes the multiple subtasks to the selected multiple auxiliary edge nodes, wherein at least one subtask is distributed to each auxiliary edge node; and
in the virtual local area network, the associated task controller assists the selected multiple auxiliary edge nodes to respectively execute at least one respective subtask, and after all subtasks are executed, the associated task controller generates an execution result of the cooperative processing task;
also comprises the following steps of (1) preparing,
determining the current load ratio of the load rate of the first edge node at the current recording moment to the first load threshold value as
Figure DEST_PATH_IMAGE001
(ii) a Wherein Lc is the load rate of the first edge node at the current recording moment, and Lth _1 is a first load threshold;
obtaining presetA basic time length, based on the current load ratio and the basic time length, determining the first time length as
Figure 502545DEST_PATH_IMAGE002
(ii) a Wherein Tpr is a preset base time duration;
determining a first time interval starting point located at a past time based on the first time length and a first time interval end point; and
and taking the time interval between the starting point of the first time interval and the end point of the first time interval as the first time interval.
2. The method according to claim 1, further comprising obtaining, by the operation monitoring chip of the first edge node, a load rate of the first edge node at each recording time, and storing the load rate at each recording time;
wherein the load ratio is: processor usage, memory usage, or system resource usage.
3. The method of claim 1, the periodic task being a task that is executed in a first edge node per run cycle;
generating, by an operation monitoring chip of a first edge node, a periodic task record for each periodic task of the first edge node, the periodic task record including: the method comprises the steps of identifying a task, running cycle sequence numbers, task starting time, task ending time and task weight, and forming task records of a plurality of periodic tasks into periodic task information; the task identifier is used for uniquely identifying the periodic task, the operating cycle sequence number is used for indicating the sequence number of the operating cycle in which the task is located, the task starting time is the starting time of the periodic task in the operating cycle indicated by the operating cycle sequence number, the task ending time is the ending time of the periodic task in the operating cycle indicated by the operating cycle sequence number, and the task weight is greater than 0 and less than 1;
the first load threshold is greater than a second load threshold.
4. The method of claim 1, wherein determining a first average load rate of the first edge node over a first time interval having a current recording time as a time interval end comprises:
determining the load rate of the first edge node at each recording time in a first time interval taking the current recording time as a time interval end point;
taking the average value of the load rate of each recording moment in the first time interval as a first average load rate;
wherein the first time interval starting point is a recording time and the first time interval ending point is a recording time;
the first time interval includes a recording time at a start point of the first time interval and a recording time at an end point of the first time interval.
5. The method of claim 4, wherein the determining a second time interval based on the first average load rate comprises:
acquiring a preset basic time length;
when the first average load rate is less than the first load threshold and greater than or equal to the second load threshold, determining the second time length as
Figure DEST_PATH_IMAGE003
(ii) a Wherein Tpr is a preset basic time length, lavg _1 is a first average load rate, lth _1 is a first load threshold, and Lth _2 is a second load threshold;
when the first average load rate is smaller than the second load threshold value, determining the second time length as
Figure 113655DEST_PATH_IMAGE004
Taking Kp-th recording time after the time for determining the second time length as the starting point of the second time interval, wherein Kp is natural number and Kp is
Figure DEST_PATH_IMAGE005
Where Npnu is a preset natural number and is greater than 50,
Figure 749166DEST_PATH_IMAGE006
greater than 1;
a time interval starting from the start of the second time interval and continuing for a second time length is taken as the second time interval.
6. The method of claim 5, wherein obtaining the load rate of the first edge node at each recording moment in the second time interval upon expiration of the second time interval comprises:
determining a second time interval end of the second time interval based on the second time interval start and the second time length;
determining that the second time interval expires when the current time reaches the end point of the second time interval;
acquiring the load rate of the first edge node at each recording moment in a second time interval; wherein the load factor at each recording time comprises: the load rate at the start of the second time interval, the load rate at the end of the second time interval, and the load rate at each recording time between the start of the second time interval and the end of the second time interval.
7. The method of claim 5 or 6, wherein calculating a second average load rate over a second time interval based on the load rate at each recording moment in the second time interval comprises
Determining the load rate of the first edge node at each recording moment in a second time interval starting from a second time interval;
taking the average value of the load rates of each recording moment in the second time interval as a second average load rate;
wherein the second time interval starting point is a recording time and the second time interval end point is a recording time;
the second time interval comprises a recording time of a starting point of the second time interval, a recording time of an end point of the second time interval and each recording time between the starting point of the second time interval and the end point of the second time interval.
8. The method of claim 1, wherein the task co-processing chip determining the number of periodic tasks in the first edge node that have not begun running comprises:
the task cooperative processing chip determines the number of the periodic tasks which do not start to run when a second time interval expires in the first edge node;
alternatively, the first and second electrodes may be,
and the task cooperative processing chip determines the number of the periodic tasks which do not start to run at a first preset time after the second time interval expires in the first edge node.
9. The method of claim 3, the selecting periodic tasks based on a number of periodic tasks not started running, comprising:
when the number of the periodic tasks which do not start to run is larger than 0 and smaller than the threshold value of the number of the cooperative tasks, selecting each periodic task which does not start to run as a cooperative processing task;
alternatively, the first and second electrodes may be,
when the number of the periodic tasks which do not start to run is larger than or equal to the threshold value of the number of the cooperative tasks, acquiring the total number of the periodic tasks of the first edge node in the current running period;
determining the number of the periodic tasks needing to be subjected to cooperative processing based on the total number of the periodic tasks and the number of the periodic tasks not starting to run; and
a plurality of periodic tasks which do not start to run are selected based on the number of periodic tasks which need to be subjected to cooperative processing, and each of the selected periodic tasks is taken as a cooperative processing task.
10. The method of claim 9, wherein determining the number of periodic tasks that require co-processing based on the total number of periodic tasks and the number of periodic tasks that have not begun running comprises:
the number of periodic tasks that need to be co-processed is calculated based on the following formula:
Figure DEST_PATH_IMAGE007
the method includes the steps that Nco is the number of periodic tasks needing to be subjected to cooperative processing, nth is a cooperative task number threshold, ntotal is the total number of the periodic tasks of a first edge node in a current operation period, and Nremain is the number of the periodic tasks of the first edge node which do not start to operate in the current operation period, wherein Ntotal is greater than nth.
11. The method of claim 9, wherein selecting a number of periodic tasks that have not begun to run based on a number of periodic tasks that require co-processing comprises:
acquiring attribute information of each periodic task which does not start to run;
determining a set start time of each periodic task which does not start to run based on the attribute information of each periodic task which does not start to run;
sequencing a plurality of periodic tasks which do not start to run based on the time sequence of the set start time, wherein the periodic task which does not start to run and has the earliest set start time is ranked at the first position, and the periodic task which does not start to run and has the latest set start time is ranked at the last position;
according to the chronological order, starting from the periodic task which is not started to run and has the earliest set starting time, sequentially selecting Nco periodic tasks which are not started to run.
12. The method of claim 9, wherein selecting a number of periodic tasks that have not begun to run based on a number of periodic tasks that require co-processing comprises:
acquiring attribute information of each periodic task which does not start to run;
determining a preset execution time length of each periodic task which does not start to run based on the attribute information of each periodic task which does not start to run;
sequencing a plurality of periodic tasks which do not start to run based on a sequence of preset execution time lengths from large to small, wherein the periodic task which has the largest preset execution time length and does not start to run is arranged at the first position, and the periodic task which has the smallest preset execution time length and does not start to run is arranged at the last position;
according to the sequence from large to small of the preset execution time length, starting from the periodic task which is not started to run and has the largest preset execution time length, and sequentially selecting the Nco periodic tasks which are not started to run.
13. The method of claim 9, wherein selecting a number of periodic tasks that have not begun to run based on a number of periodic tasks that require co-processing comprises:
from all the periodic tasks that have never started running, nco periodic tasks that have not started running are randomly selected.
14. The method according to claim 1, further comprising, after creating, by the task co-processing chip, for each co-processing task, an associated task controller in the first edge node:
and determining a task identifier of the cooperative processing task, and using the task identifier as an identifier of the associated task controller.
15. The method of claim 3, wherein the associated task controller obtaining attribute information of the co-processing task comprises:
the associated task controller determines a periodic task corresponding to the co-processing task;
and acquiring attribute information of the periodic task corresponding to the cooperative processing task, and taking the attribute information of the periodic task corresponding to the cooperative processing task as the attribute information of the cooperative processing task.
16. The method of claim 15, wherein the associated task controller selects a plurality of secondary edge nodes for each co-processing task from the set of secondary nodes of the first edge node based on the attribute information, comprising:
the associated task controller determines the task weight of the cooperative processing task based on the attribute information of the cooperative processing task;
the associated task controller selects a plurality of secondary edge nodes for each co-processing task from the set of secondary nodes of the first edge node according to the task weight of the co-processing task.
17. The method of claim 16, wherein the associated task controller selects a plurality of secondary edge nodes for each co-processing task from the set of secondary nodes of the first edge node according to the task weight of the co-processing task, comprising:
the associated task controller determines the number of auxiliary edge nodes in the set of auxiliary nodes of the first edge node;
when the task weight is greater than or equal to the weight threshold value, determining the number Ns of the auxiliary edge nodes selected for each cooperative processing task as
Figure 78517DEST_PATH_IMAGE008
(ii) a Wherein Nnode is the number of auxiliary edge nodes in the auxiliary node set of the first edge node and Nnode is a natural number greater than 5;
when the task weight is less than the weight threshold, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task as
Figure DEST_PATH_IMAGE009
The associated task controller randomly selects Ns secondary edge nodes for each co-processing task from the set of secondary nodes of the first edge node.
18. A method as defined in claim 16, wherein the associated task controller selects a plurality of secondary edge nodes from the set of secondary nodes of the first edge node for each co-processing task in accordance with the task weight of the co-processing task, comprising:
the associated task controller determines the number of auxiliary edge nodes in the set of auxiliary nodes of the first edge node;
when the task weight is greater than or equal to the weight threshold value, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task to be
Figure 185406DEST_PATH_IMAGE008
(ii) a Wherein Nnode is the number of auxiliary edge nodes in the auxiliary node set of the first edge node and Nnode is a natural number greater than 5;
when the task weight is less than the weight threshold, determining the number Ns of the auxiliary edge nodes selected for each cooperative processing task as
Figure 323126DEST_PATH_IMAGE009
(ii) a Determining the number of periodic tasks which are not started to run by each auxiliary edge node in the auxiliary node set of the first edge node at a second preset time after the second time interval expires;
the associated task controller sorts the auxiliary edge nodes in the auxiliary node set based on the increasing sequence of the number of the periodic tasks which do not start to run at a second preset time after the second time interval expires, so as to generate a sorted list;
in the ordered list, the associated task controller selects Ns auxiliary edge nodes starting from the auxiliary edge node with the largest number of periodic tasks that never start running.
19. The method of claim 1, wherein the associated task controller building a virtual local area network based on the first edge node and the selected plurality of secondary edge nodes comprises:
the associated task controller constructs a virtual local area network based on the first edge node and the selected plurality of auxiliary edge nodes for the co-processing task, such that the first edge node and the selected plurality of auxiliary edge nodes are capable of secure communication in the virtual local area network.
20. The method of claim 1, wherein dividing each co-processing task into a plurality of sub-tasks comprises:
the associated task controller determines a plurality of functional modules of each co-processing task, and determines each functional module as a sub-task, thereby obtaining a plurality of sub-tasks of each co-processing task.
21. The method of claim 1, wherein assigning a plurality of subtasks to the selected plurality of secondary edge nodes comprises:
and according to a random distribution mode or a polling distribution mode, distributing the plurality of subtasks to a plurality of auxiliary edge nodes selected by the associated task controller for the cooperative processing tasks of the plurality of subtasks, so that at least one subtask is distributed to each auxiliary edge node.
22. The method of claim 1, the selected plurality of secondary edge nodes being assisted by an associated task controller to respectively perform respective at least one subtask, comprising:
when a specific auxiliary edge node in the plurality of auxiliary edge nodes executes the allocated at least one subtask, if the executing subtask needs to call a subtask in another auxiliary edge node, sending a call request to another auxiliary edge node via the associated task controller, and sending a call response for the call request received from another auxiliary edge node to the specific auxiliary edge node by the associated task controller.
23. The method of claim 1, generating, by the associated task controller, execution results of the co-processing task after execution of all the subtasks is complete, comprising:
the associated task controller determines at least one of all subtasks for generating result data;
after all subtasks are performed, the associated task controller collects result data from at least one subtask used to generate result data;
and generating an execution result of the cooperative processing task based on the result data.
24. A system for performing task co-processing based on a task co-processing chip, the system comprising:
the determining device is used for determining a first average load rate of the first edge node in a first time interval taking the current recording time as a first time interval end point when the task cooperative processing chip of the first edge node detects that the load rate of the first edge node at the current recording time is greater than or equal to a first load threshold;
the acquisition device is used for determining a second time interval based on the first average load rate, acquiring the load rate of each recording moment of the first edge node in the second time interval when the second time interval expires, and calculating the second average load rate in the second time interval based on the load rate of each recording moment in the second time interval;
the task cooperative processing chip is used for determining the number of the periodic tasks which do not start to run in the first edge node when the second average load rate is larger than a second load threshold value, selecting the periodic tasks based on the number of the periodic tasks which do not start to run, and taking the selected periodic tasks as cooperative processing tasks;
processing means for performing, for each co-processing task:
a task co-processing chip creates a related task controller in a first edge node for each co-processing task, and the related task controller acquires attribute information of the co-processing task, wherein the attribute information comprises: the method comprises the steps that a task identifier, a set starting time, a preset execution time length and a task weight are set, and a plurality of auxiliary edge nodes are selected for each cooperative processing task from an auxiliary node set of a first edge node by an associated task controller based on task attribute information;
the associated task controller builds a virtual local area network based on the first edge node and the selected multiple auxiliary edge nodes, divides each cooperative processing task into multiple subtasks, and distributes the multiple subtasks to the selected multiple auxiliary edge nodes, wherein at least one subtask is distributed to each auxiliary edge node; and
in the virtual local area network, the associated task controller assists the selected multiple auxiliary edge nodes to respectively execute at least one respective subtask, and after all subtasks are executed, the associated task controller generates an execution result of the cooperative processing task;
the determining device is further used for determining the current load ratio of the load rate Lc of the first edge node at the current recording time to the first load threshold Lth _1 as
Figure 660698DEST_PATH_IMAGE010
(ii) a Obtaining a preset basic time length based on the current load ratio
Figure DEST_PATH_IMAGE011
And a base time duration Tpr for determining the first time duration as
Figure 211765DEST_PATH_IMAGE012
(ii) a Determining a first time interval starting point at a past time based on the first time length and the first time interval end point; and taking a time interval between the start of the first time interval and the end of the first time interval as the first time interval.
25. A system for performing task cooperative processing based on a task cooperative processing chip comprises:
a processor;
a memory for storing the processor-executable instructions;
the processor to read the executable instructions from the memory and execute the instructions to implement the method of any of claims 1-23.
CN202211240079.6A 2022-10-11 2022-10-11 Method and system for performing task cooperative processing based on task cooperative processing chip Active CN115309561B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211240079.6A CN115309561B (en) 2022-10-11 2022-10-11 Method and system for performing task cooperative processing based on task cooperative processing chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211240079.6A CN115309561B (en) 2022-10-11 2022-10-11 Method and system for performing task cooperative processing based on task cooperative processing chip

Publications (2)

Publication Number Publication Date
CN115309561A CN115309561A (en) 2022-11-08
CN115309561B true CN115309561B (en) 2022-12-27

Family

ID=83868446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211240079.6A Active CN115309561B (en) 2022-10-11 2022-10-11 Method and system for performing task cooperative processing based on task cooperative processing chip

Country Status (1)

Country Link
CN (1) CN115309561B (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178542B1 (en) * 1997-02-24 2001-01-23 Lucent Technologies Inc. Hardware-software co-synthesis of embedded system architectures using quality of architecture metrics
CN111629046B (en) * 2020-05-22 2022-04-08 中国联合网络通信集团有限公司 Edge computing cooperation method, edge computing equipment and terminal
CN114157666B (en) * 2021-10-25 2024-06-14 北京千方科技股份有限公司 Load balancing system, method, medium and device based on intelligent cloud platform
CN114077497A (en) * 2021-11-09 2022-02-22 深圳供电局有限公司 Cloud edge collaborative edge application deployment method
CN114726862B (en) * 2022-05-17 2022-08-23 中诚华隆计算机技术有限公司 Method and system for determining operation state of computing node based on state monitoring chip

Also Published As

Publication number Publication date
CN115309561A (en) 2022-11-08

Similar Documents

Publication Publication Date Title
Di et al. Characterization and comparison of cloud versus grid workloads
US7302450B2 (en) Workload scheduler with resource optimization factoring
CN112162865B (en) Scheduling method and device of server and server
US8510741B2 (en) Computing the processor desires of jobs in an adaptively parallel scheduling environment
TWI426393B (en) Cloud-computating resource scheduling method and system applying the same
US7467291B1 (en) System and method for calibrating headroom margin
CN111625331B (en) Task scheduling method, device, platform, server and storage medium
CN110474852B (en) Bandwidth scheduling method and device
US9870274B2 (en) Method of executing a job in a computer system, a resource manager and a high performance computer system
CN103365708A (en) Method and device for scheduling tasks
JP2010231694A (en) System, method and program for supporting job schedule change
CN101576831A (en) Distributed calculating system and realization method
CN113391911B (en) Dynamic scheduling method, device and equipment for big data resources
Di et al. Characterization and comparison of Google cloud load versus grids
US7698705B1 (en) Method and system for managing CPU time consumption
CN115309561B (en) Method and system for performing task cooperative processing based on task cooperative processing chip
Wang et al. In stechah: An autoscaling scheme for hadoop in the private cloud
CN116962532A (en) Cluster task scheduling method and device, computer equipment and storage medium
CN116360922A (en) Cluster resource scheduling method, device, computer equipment and storage medium
Lili et al. A Markov chain based resource prediction in computational grid
Boutammine et al. An adaptive scheduling method for grid computing
WO2002003192A2 (en) Device and method for allocating jobs in a network
Hellerstein Configuring resource managers using model fuzzing: A case study of the. NET thread pool
CN117290114B (en) Load balancing method and system based on CPU integration
CN113254177B (en) Task submitting method based on cluster, computer program product and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant