CN115309561A - 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
CN115309561A
CN115309561A CN202211240079.6A CN202211240079A CN115309561A CN 115309561 A CN115309561 A CN 115309561A CN 202211240079 A CN202211240079 A CN 202211240079A CN 115309561 A CN115309561 A CN 115309561A
Authority
CN
China
Prior art keywords
task
time
edge node
periodic
time interval
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.)
Granted
Application number
CN202211240079.6A
Other languages
Chinese (zh)
Other versions
CN115309561B (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 plurality of 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 plurality of 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 specific edge node to execute the execution result of a certain periodic task (e.g., a task executed in each execution cycle), but the execution time of the periodic task is too long due to the high load of the specific 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 cooperative processing task is selected from a plurality of periodic tasks which are never started to run, and a respective auxiliary edge node is selected 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 co-processing task, performing:
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 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.
Preferably, the method further comprises the steps that the operation monitoring chip of the first edge node obtains the load rate of the first edge node at each recording moment and stores 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, 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 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 a second load threshold.
Preferably, the method further comprises the step 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 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.
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 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 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 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 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 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 continuing 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 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.
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 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.
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;
or,
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;
or,
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 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.
Preferably, the selecting, based on the number of the periodic tasks that need to be subjected to the cooperative processing, 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 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.
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 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.
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 never started running, nco periodic tasks that have not started running 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 an 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 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.
Preferably, wherein selecting a plurality of auxiliary edge nodes for the co-processing task from the set of auxiliary nodes of the first edge node based on the attribute information comprises:
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.
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 to be
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, 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 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 at least one assigned 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 cooperative processing task, including:
the task controller determines at least one subtask among 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 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 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 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.
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 of 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 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 embodiments.
According to a further aspect of the embodiments of the present invention, there is provided a computer program product including computer readable code, when the computer readable code runs on a device, a processor in the device executes a method for implementing any one of the embodiments.
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 the 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 subtasks to the selected plurality of auxiliary edge nodes; and in the 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 an excessively long execution time of a periodic task or a delay of a result, the task is cooperatively processed by selecting a plurality of auxiliary edge nodes, so that the periodic task is executed within a predetermined time or a short time and thus the result can be returned in time. In this way, the requesting party does not need to consider the load condition of the first edge node, can obtain the execution result of the task in the vicinity of the predetermined time (because of the random condition in the task execution process, there may be a case that the execution time lengths of the same task in different execution periods are different, however, the difference of the execution time lengths is usually small), and therefore, the next action or operation of the requesting party 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
Exemplary embodiments of the invention may be more completely understood in consideration of the following drawings:
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 block diagram of an edge computing system with a set of auxiliary 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 diagram illustrating assignment of 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
Example embodiments of the present invention will now be described with reference to the accompanying drawings, however, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, which are provided for a complete and complete disclosure of the invention and to fully convey the scope of the invention to those skilled in the art. The terms used in the exemplary embodiments shown in the drawings are not intended to limit the present invention. In the drawings, the same units/elements are denoted by the same reference numerals.
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. Non-periodic tasks are generally tasks that occur randomly, are irregular, or do not need to be performed repeatedly (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 the 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 is provided with a plurality of processors, internal memories (internal memories), external memories, operation monitoring chips, task coprocessing chips, power control chips, scheduling chips 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 running period, and the end execution time in different periods is determined according to the actual execution situation. In addition, the periodic task can be executed at different time in each running period, and the execution ending time in different periods is determined according to the actual execution condition. 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 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 including: and recording a plurality of non-periodic tasks to form non-periodic task information. The operation cycle is, for example, 1 natural day, 2 natural numbers, 3 natural days, 5 natural days, or any reasonable time length.
According to a specific example, two adjacent operating cycles are the first operating cycle: 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 vacancy rate in each time unit refers to the memory vacancy rate of each acquisition point in each time unit, and the average value of the memory vacancy rates of all acquisition points in each time unit is used as the average memory vacancy 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, the method 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 at 8 months, 8 days, 18 hours, 25 minutes and 21 seconds before 18 hours, 25 minutes and 21 seconds at 8 months, 8 days, 18 hours, 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
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 point 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 factors at each recording time in the first time interval is taken as the first average load factor 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 start point and the first time interval end 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 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 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
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 leads to 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. By the processing, unnecessary cooperative processing brought by load rate jitter can be effectively avoided, processing resources are saved, and 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; determining that the second time interval expires when the current time reaches the end point of the second time interval; 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 two endpoints, i.e., the start point and the end point of the second time interval.
In one embodiment, 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 the second time interval; taking the average value of the load rate of 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 have not started 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 a 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 Ntotal of the periodic tasks and the number Nremain of the periodic tasks 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 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 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. That is, nco periodic tasks whose start time is set to be the earliest are selected as the cooperative processing tasks. 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 not started to run, nco periodic tasks that have not started to run 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 acquires 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 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, in particular, the auxiliary node from the first edge node is based on task weights of the co-processing tasksSelecting a plurality of auxiliary edge nodes for the co-processing task in the set, including: determining the number Nnode of auxiliary edge nodes in the 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 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 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.
FIG. 5 is a flowchart of a method for selecting multiple 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 task weights 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 order of the number of the periodic tasks which do not start to run at the second predetermined 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 co-processing task (also a periodic task) is usually a task with a higher importance degree, the purpose of constructing the virtual local area network is to ensure that the co-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 co-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 co-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 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.
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, including: 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 cooperative 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 operation monitoring chip of the first edge node acquires periodic task information, aperiodic task information and load statistical information of the current operation period from the 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 last 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 last 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 operating period and the current operating 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,
Figure 915613DEST_PATH_IMAGE021
for the i-th periodic task, the periodicity between the last operating period and the current operating periodRatio of time difference, 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 period is defined; 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 And CET 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,
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 the periodic tasks of the previous operating cycle and the current operating cycle is the same, and any one of each of the periodic tasks of the previous operating cycle and the current operating cycleThe service identities are the same. That is, the same periodic task was run in the previous run cycle and the current run 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 cycle and the aperiodic task information of the current operation cycle 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 the 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 operating period from the aperiodic task information of the current operating period, and determining the number of aperiodic tasks in the current operating period and a second aperiodic task with the longest task processing time based on the plurality of aperiodic task records of the current operating 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-concurrency operation time interval of the last operation cycle based on the plurality of aperiodic task records and the number threshold of the last operation cycle, and determining at least one high-concurrency operation time interval of the current operation cycle based on the plurality of aperiodic task records and the number 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 aperiodic tasks in the current operating period and the second aperiodic task with the longest task processing time based on a plurality of aperiodic task records of the current operating period 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 aperiodic task based on the current operating cycle based on the absolute value of the difference between the task starting time and the task ending time in each aperiodic task record of the current operating cycle; 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 aperiodic tasks and the first aperiodic task in the last operating cycle and the number of aperiodic tasks and the second aperiodic tasks 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 equation:
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
in order to adjust the factor for the first time,
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 a number of aperiodic task records and a number 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 for the current run cycle and the quantity threshold 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 a task concurrent operation graph of a current operation period, at least one high concurrent operation time interval in which the number of non-periodic tasks which are concurrently operated is larger than or equal to a number threshold value is determined, and the start time and the end 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 comprises: 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; from the current operating weekSelecting 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 period as a second operation interval, and determining the starting time FB2 and the ending 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 the temperature is higher than the set temperature
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 comprises: 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 deviation degree based on the first time unit number Nt1, the number N1 of the time units of the last operation period, the second time unit number Nt2 and the number N2 of the time units of the current operation period.
Preferably, the determining the third deviation degree based on the first time unit number Nt1, the number N1 of time units of the previous operation cycle, the second time unit number Nt2 and the number N2 of time units of the current operation cycle includes: determining a third degree of deviation based on the following formula
Figure 98208DEST_PATH_IMAGE035
Figure 582279DEST_PATH_IMAGE036
Wherein Nt1 is the number of first time units, N1 is the number of time units of the last operation cycle, nt2 is the number of second time units, N2 is the number of 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,
Figure 174DEST_PATH_IMAGE044
is a first degree of deviation of the first degree of deviation,
Figure 404611DEST_PATH_IMAGE031
in order to provide the second degree of deviation,
Figure 456880DEST_PATH_IMAGE035
in order to be the third degree of deviation,
Figure 34492DEST_PATH_IMAGE045
is a first adjustment factor for the first frequency of the frequency band,
Figure 488607DEST_PATH_IMAGE046
is a second adjustment factor to be used for 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 a 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, determining the 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 cycle of the first edge node and the load record in each time unit of the current operation cycle of each auxiliary 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 a current operation period of each auxiliary edge node based on a load record in each time unit of the current operation period of each auxiliary 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 in a current run period is greater than a first usage threshold; 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, 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 928520DEST_PATH_IMAGE052
Wherein,
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 the auxiliary edge nodes with the first task matching degree smaller than the dynamic matching degree threshold are moved from the auxiliary node setAnd (4) removing. 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 candidate edge node, determining a number NDS of time units for which an average processor usage of each candidate edge node during a 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,
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 nodes with the second task matching degree larger than the static matching degree threshold value as auxiliary edge nodes.
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:
the determining device 601 is configured to determine, 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, 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;
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;
processing means 604 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, the related task controller acquires 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 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 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 duration Tpr for determining the first time duration as
Figure 586269DEST_PATH_IMAGE063
(ii) a Determining a first time interval starting point located 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.
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 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 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 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.
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 of 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 a first preset time after the second time interval expires in the first edge node.
The selecting device 603 is specifically configured to select each non-started running periodic task as a cooperative processing task when the number Nremain of the non-started running periodic tasks is greater than 0 and smaller than the threshold value of the number of cooperative tasks; 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 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 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, 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.
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 device 604 is further configured to determine a task identity of the co-processing task, and to use the task identity 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 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.
The processing means 604 is further configured to determine a number Nnode of secondary edge nodes in the set of secondary 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 119DEST_PATH_IMAGE008
(ii) a When the task weight is less than the weight threshold,determining the number of auxiliary edge nodes selected for the co-processing task Ns of
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 value, determining the number Ns of the auxiliary edge nodes selected for the cooperative processing task to be
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 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 with 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 co-processing task of the plurality of sub-tasks in a random allocation manner or in a round robin 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 for the task controller to determine at least one of all the subtasks for generating the result data; after all subtasks are executed, the task controller collects result data from at least one subtask used for generating 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 (26)

1. A method for performing task co-processing based on a task co-processing chip comprises the following steps:
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 co-processing task, performing:
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 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.
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 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 a second load threshold.
4. The method of claim 1, further comprising,
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 125238DEST_PATH_IMAGE001
(ii) a Where 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 based on the current load ratio and the basic time lengthDegree, determining a first time length of
Figure 92057DEST_PATH_IMAGE002
(ii) a Wherein Tpr is a preset basic time length;
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 ending point of the first time interval as a first time interval.
5. The method of claim 4, 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 moment in a first time interval taking the current recording moment as a time interval terminal;
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 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.
6. The method of claim 5, 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 863704DEST_PATH_IMAGE003
(ii) a Where Tpr is a preset base time duration and Lavg _1 is a first averageThe 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 673397DEST_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 759164DEST_PATH_IMAGE005
Where Npnu is a preset natural number and is greater than 50,
Figure 705124DEST_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.
7. The method of claim 6, 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 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.
8. The method of claim 6 or 7, 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.
9. 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 to run comprises:
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,
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.
10. The method of claim 3, the selecting periodic tasks based on a number of periodic tasks that have not begun 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;
or,
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.
11. The method of claim 10, 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 913251DEST_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.
12. The method of claim 10, wherein selecting a number of periodic tasks not to begin running based on a number of periodic tasks requiring coordinated 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 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.
13. The method of claim 10, 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.
14. The method of claim 10, 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 not started to run, nco periodic tasks that have not started to run are randomly selected.
15. The method of claim 1, further comprising, after creating, by the task co-processing chip, an associated task controller in the first edge node for each co-processing task:
and determining a task identifier of the cooperative processing task, and using the task identifier as an identifier of an associated task controller.
16. 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 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.
17. The method of claim 16, wherein 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 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.
18. The method of claim 17, wherein selecting a plurality of secondary edge nodes for the co-processing task from the set of secondary nodes of the first edge node based on the task weight of the co-processing task comprises:
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 820027DEST_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 837049DEST_PATH_IMAGE009
Ns auxiliary edge nodes are randomly selected for the co-processing task from the auxiliary node set of the first edge node.
19. The method of claim 17, wherein selecting a plurality of secondary edge nodes for the co-processing task from the set of secondary nodes of the first edge node based on the task weight of the co-processing task comprises:
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 512881DEST_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 954227DEST_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.
20. The method of claim 1, wherein a task controller constructs a virtual local area network based on the first edge node and the selected plurality of secondary edge nodes, comprising:
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.
21. The method of claim 1, wherein dividing the co-processing task into a plurality of sub-tasks comprises:
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.
22. 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 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.
23. The method of claim 1, the plurality of secondary edge nodes selected to be assisted by the 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 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.
24. The method of claim 1, generating, by the task controller, execution results of the co-processing task after all the subtasks are executed, comprising:
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.
25. 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 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 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 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 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.
26. A system for performing task co-processing based on a task co-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 one of claims 1-24.
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 true CN115309561A (en) 2022-11-08
CN115309561B 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)

Citations (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
CN111629046A (en) * 2020-05-22 2020-09-04 中国联合网络通信集团有限公司 Edge computing cooperation method, edge computing equipment and terminal
CN114077497A (en) * 2021-11-09 2022-02-22 深圳供电局有限公司 Cloud edge collaborative edge application deployment method
CN114157666A (en) * 2021-10-25 2022-03-08 北京千方科技股份有限公司 Load balancing system, method, medium and device based on intelligent cloud platform
CN114726862A (en) * 2022-05-17 2022-07-08 中诚华隆计算机技术有限公司 Method and system for determining operation state of computing node based on state monitoring chip

Patent Citations (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
CN111629046A (en) * 2020-05-22 2020-09-04 中国联合网络通信集团有限公司 Edge computing cooperation method, edge computing equipment and terminal
CN114157666A (en) * 2021-10-25 2022-03-08 北京千方科技股份有限公司 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
CN114726862A (en) * 2022-05-17 2022-07-08 中诚华隆计算机技术有限公司 Method and system for determining operation state of computing node based on state monitoring chip

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
乐光学等: "边缘计算可信协同服务策略建模", 《计算机研究与发展》 *
张伟: "边缘计算的任务迁移机制研究", 《软件导刊》 *

Also Published As

Publication number Publication date
CN115309561B (en) 2022-12-27

Similar Documents

Publication Publication Date Title
Di et al. Characterization and comparison of cloud versus grid workloads
Jyothi et al. Morpheus: Towards automated {SLOs} for enterprise clusters
CN112162865B (en) Scheduling method and device of server and server
US7761875B2 (en) Weighted proportional-share scheduler that maintains fairness in allocating shares of a resource to competing consumers when weights assigned to the consumers change
US7302450B2 (en) Workload scheduler with resource optimization factoring
TWI426393B (en) Cloud-computating resource scheduling method and system applying the same
Ghosh et al. Quantifying resiliency of IaaS cloud
US7467291B1 (en) System and method for calibrating headroom margin
WO2008118290A1 (en) Computing the processor desires of jobs in an adaptively parallel scheduling environment
CN111813523A (en) Duration pre-estimation model generation method, system resource scheduling method, device, electronic equipment and storage medium
CN115617497B (en) Thread processing method, scheduling component, monitoring component, server and storage medium
JP3828112B2 (en) Scheduling method and system for controlling execution of processing
Di et al. Characterization and comparison of Google cloud load versus grids
CN113391911B (en) Dynamic scheduling method, device and equipment for big data resources
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
Lin et al. Two-tier project and job scheduling for SaaS cloud service providers
WO2020178207A1 (en) Virtual machines scheduling
CN116360922A (en) Cluster resource scheduling method, device, computer equipment and storage medium
CN111143063A (en) Task resource reservation method and device
Beltrán et al. How to balance the load on heterogeneous clusters
Lili et al. A Markov chain based resource prediction in computational grid
WO2022171262A1 (en) Scheduling tasks for execution by a computer based on a reinforcement learning model
Hellerstein Configuring resource managers using model fuzzing: A case study of the. NET thread pool
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