CN114970834A - Task allocation method and device and electronic equipment - Google Patents

Task allocation method and device and electronic equipment Download PDF

Info

Publication number
CN114970834A
CN114970834A CN202210720196.6A CN202210720196A CN114970834A CN 114970834 A CN114970834 A CN 114970834A CN 202210720196 A CN202210720196 A CN 202210720196A CN 114970834 A CN114970834 A CN 114970834A
Authority
CN
China
Prior art keywords
task
edge nodes
computing
edge
calculation
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.)
Pending
Application number
CN202210720196.6A
Other languages
Chinese (zh)
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210720196.6A priority Critical patent/CN114970834A/en
Publication of CN114970834A publication Critical patent/CN114970834A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application discloses a task allocation method and device and electronic equipment. Wherein, the method comprises the following steps: acquiring a calculation task of a neural network initiated by terminal equipment; determining state information of a plurality of edge nodes in an edge server, wherein the state information at least comprises available computing resources of the edge nodes, and the edge nodes are used for computing tasks; determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task; and distributing the subtasks in the calculation tasks to a plurality of edge nodes according to the distribution strategy. The method and the device solve the technical problem that the existing edge calculation has large time delay when a complex neural network is processed, so that the user experience is poor.

Description

Task allocation method and device and electronic equipment
Technical Field
The present application relates to the field of edge computing, and in particular, to a task allocation method and apparatus, and an electronic device.
Background
The development of the deep neural network creates a new approach for the new generation of intelligent application. DNN is powerful and is becoming a trend for widespread use in communication networks. Edge and cloud computing have become the choice of computationally intensive DNN tasks for computer vision and video analysis. For example, in an autonomous vehicle, a camera continuously monitors surrounding scenes, transmits video to a server for video analysis, and feeds back control signals to pedals and a steering wheel.
One of the major challenges in realizing intelligent application is time delay caused by the amount of computation of a complex neural network, and according to existing research, although a cloud has strong computing power, the time delay is large, and edge computation has the advantage of small time delay, but due to the limitation of computing power and energy, cloud computation cannot be completely replaced.
In view of the above problems, no effective solution has been proposed.
Disclosure of Invention
The embodiment of the application provides a task allocation method and device and electronic equipment, and aims to at least solve the technical problem that the user experience is poor due to the fact that the time delay is long when the existing edge calculation is used for processing a complex neural network.
According to an aspect of an embodiment of the present application, there is provided a task allocation method, including: acquiring a calculation task of a neural network initiated by terminal equipment; determining state information of a plurality of edge nodes in an edge server, wherein the state information at least comprises available computing resources of the edge nodes, and the edge nodes are used for computing tasks; determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task; and distributing the subtasks in the calculation tasks to a plurality of edge nodes according to the distribution strategy.
Optionally, the obtaining of the calculation task of the neural network initiated by the terminal device includes: mapping the neural network into a form of a directed acyclic graph; dividing each layer of nodes in the directed acyclic graph to obtain a plurality of node groups; and determining a calculation task of the neural network according to the subtasks corresponding to each node group in the plurality of node groups.
Optionally, the status information further includes: a location of the plurality of edge nodes in the edge server, and an earliest time of availability corresponding to the plurality of edge nodes.
Optionally, determining an allocation policy of the computing task includes: acquiring network parameter information corresponding to an edge server and target computing resources required by executing a computing task, wherein the network parameter information comprises at least one of the following: bandwidth of the network and channel conditions of the network; and determining an allocation strategy of the computing task at least according to the network parameter information, the target computing resource and the state information of the plurality of edge nodes.
Optionally, allocating a subtask in the computation task to the plurality of edge nodes includes: segmenting the calculation task according to the distribution strategy to obtain a plurality of subtasks; and distributing the plurality of subtasks to a plurality of edge nodes in the edge server for calculation.
Optionally, after distributing the subtasks in the computation task to the plurality of edge nodes, the method further includes: acquiring an execution sequence of computing tasks; controlling a plurality of edge nodes to execute a plurality of subtasks according to an execution sequence; and receiving execution results returned by the plurality of edge nodes under the condition that the edge server downloads the calculation tasks of the neural network.
Optionally, after receiving the execution results returned by the plurality of edge nodes, the method further includes: and transmitting the execution result to the terminal equipment.
According to another aspect of the embodiments of the present application, there is also provided a task allocation apparatus, including: the acquisition module is used for acquiring a calculation task of a neural network initiated by the terminal equipment; the system comprises a first determining module, a second determining module and a first processing module, wherein the first determining module is used for determining the state information of a plurality of edge nodes in an edge server, the state information at least comprises available computing resources of the plurality of edge nodes, and the edge nodes are used for computing tasks; the second determining module is used for determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task; and the distribution module is used for distributing the subtasks in the calculation tasks to the edge nodes according to the distribution strategy.
According to another aspect of the embodiments of the present application, there is also provided an electronic device, including: a memory for storing program instructions; a processor coupled to the memory for executing program instructions that implement the functions of: acquiring a calculation task of a neural network initiated by terminal equipment; determining state information of a plurality of edge nodes in an edge server, wherein the state information at least comprises available computing resources of the edge nodes, and the edge nodes are used for computing tasks; determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task; and distributing the subtasks in the calculation tasks to a plurality of edge nodes according to the distribution strategy.
According to another aspect of the embodiments of the present application, a nonvolatile storage medium is further provided, where the nonvolatile storage medium includes a stored program, and when the program runs, a device where the nonvolatile storage medium is located is controlled to execute the task allocation method.
In the embodiment of the application, a calculation task of a neural network initiated by a terminal device is obtained; determining state information of a plurality of edge nodes in an edge server, wherein the state information at least comprises available computing resources of the edge nodes, and the edge nodes are used for computing tasks; determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task; according to the distribution strategy, subtasks in the calculation task are distributed to the edge nodes, the purpose of processing the calculation task by utilizing the edge nodes is achieved, the technical effects of reducing calculation time delay and improving calculation efficiency are achieved, and the technical problem that the user experience is poor due to the fact that the time delay is large when the complex neural network is processed by existing edge calculation is solved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a block diagram of a hardware structure of a computer terminal (or an electronic device) for implementing a task allocation method according to an embodiment of the present application;
FIG. 2 is a flow chart of a task assignment method according to an embodiment of the present application;
FIG. 3a is a flow chart of a computational task of determining a neural network according to an embodiment of the present application;
FIG. 3b is a directed acyclic graph corresponding to an alternative neural network according to embodiments of the present application;
FIG. 3c is a directed acyclic graph corresponding to another alternative neural network according to embodiments of the present application;
FIG. 4 is a flowchart of receiving execution results returned by a plurality of edge nodes according to an embodiment of the present application;
FIG. 5 is a block diagram of a task assigning apparatus according to an embodiment of the present application;
fig. 6 is a task assignment flow diagram according to an embodiment of the application.
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
In order to bring better experience to users, reduce time delay and improve service quality of users, a feasible method is provided by dividing a reasoning task of a DNN (deep neural network) in a cloud server and an edge server to jointly finish reasoning. The problem brought by the neural network segmentation is the reliability of reasoning, and due to the influence of factors such as equipment states and communication environments, the DNN collaborative reasoning may fail due to the problems of equipment offline and communication terminals, so how to maximize the reliability of DNN reasoning is a problem to be researched.
At present, although many scholars have proposed related algorithms related to DNN neural network inference acceleration, under the constraints of time delay and inference reliability in the cooperation of a cloud server and an edge server, how to reduce the overall energy consumption of the system still needs to be studied deeply.
The task allocation method provided by the embodiment of the application can be executed in a mobile terminal, a computer terminal or a similar operation device. Fig. 1 shows a hardware configuration block diagram of a computer terminal (or electronic device) for implementing a task assignment method. As shown in fig. 1, the computer terminal 10 (or electronic device 10) may include one or more processors (shown as 102a, 102b, … …, 102n in the figures) which may include, but are not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, a memory 104 for storing data, and a transmission module 106 for communication functions. Besides, the method can also comprise the following steps: a display, an input/output interface (I/O interface), a Universal Serial Bus (USB) port (which may be included as one of the ports of the I/O interface), a network interface, a power source, and/or a camera. It will be understood by those skilled in the art that the structure shown in fig. 1 is only an illustration and is not intended to limit the structure of the electronic device. For example, the computer terminal 10 may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
It should be noted that the one or more processors and/or other data processing circuitry described above may be referred to generally herein as "data processing circuitry". The data processing circuitry may be embodied in whole or in part in software, hardware, firmware, or any combination thereof. Further, the data processing circuit may be a single stand-alone processing module, or incorporated in whole or in part into any of the other elements in the computer terminal 10 (or electronic device). As referred to in the embodiments of the application, the data processing circuit acts as a processor control (e.g. selection of a variable resistance termination path connected to the interface).
The memory 104 can be used for storing software programs and modules of application software, such as program instructions/data storage devices corresponding to the task allocation method in the embodiment of the present application, and the processor executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, implementing the task allocation method described above. The memory 104 may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory located remotely from the processor, which may be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission module 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network adapter (NIC) that can be connected to other Network devices through a base station so as to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is used to communicate with the internet via wireless.
The display may be, for example, a touch screen type Liquid Crystal Display (LCD) that may enable a user to interact with a user interface of the computer terminal 10 (or electronic device).
It should be noted here that in some alternative embodiments, the computer device (or electronic device) shown in fig. 1 may include hardware elements (including circuitry), software elements (including computer code stored on a computer-readable medium), or a combination of both hardware and software elements. It should be noted that fig. 1 is only one example of a particular specific example and is intended to illustrate the types of components that may be present in the computer device (or electronic device) described above.
In the above operating environment, the embodiments of the present application provide an embodiment of a task assignment method, it should be noted that the steps shown in the flowchart of the drawings may be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in an order different from the order shown.
Fig. 2 is a flowchart of a task allocation method according to an embodiment of the present application, and as shown in fig. 2, the method includes the following steps:
step S202, acquiring a calculation task of a neural network initiated by terminal equipment;
step S204, determining the state information of a plurality of edge nodes in the edge server, wherein the state information at least comprises the available computing resources of the plurality of edge nodes, and the edge nodes are used for computing tasks;
step S206, determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task;
and step S208, distributing the subtasks in the calculation tasks to a plurality of edge nodes according to the distribution strategy.
In step S202 in the task allocation method, a calculation task of a neural network initiated by a terminal device is obtained, and as shown in a flowchart in fig. 3a, the method specifically includes the following steps:
step S302, mapping the neural network into a form of directed acyclic graph;
step S304, dividing each layer of nodes in the directed acyclic graph to obtain a plurality of node groups;
step S306, determining a calculation task of the neural network according to a subtask corresponding to each node group of the plurality of node groups.
In the above steps S302 to S306, as the neural network structure becomes more and more complex, from the chain structure to the non-chain network, a neural network is modeled as a directed acyclic graph, such as the directed acyclic graphs shown in fig. 3b and 3c, with layers as the minimum units that can be divided, for example, in fig. 3c, v is 2 To v 5 As nodes of the same layer, i.e. v 2 To v 5 Is a node group, and the same is true for v 6 To v 8 Is a node group, v 9 Is a group of nodes.
And calculating the equipment reliability of the edge nodes, wherein the equipment reliability and the communication reliability respectively obey Poisson distribution, an active replication scheme is used for executing the reliability of the edge nodes of the same node group in each neural network, and the reliability of the completion of the whole calculation task can be determined by determining the equipment reliability of each edge node. In task scheduling, strict scheduling is used, after all nodes in each layer are executed, nodes in the next layer are executed, and the total time required for executing the whole neural network can be obtained according to the execution time of each node in each layer.
In step S304 of the task allocation method, the state information further includes: a location of the plurality of edge nodes in the edge server, and an earliest time of availability corresponding to the plurality of edge nodes.
In the embodiment of the present application, deep reinforcement learning may be used to model the MDP process, which is a markov decision process, and may be defined as a decision sequence of an objective function obtained by known conditions and a certain policy in a time sequence:
and a state s: state information representing the edge node, the state information comprising: the method comprises the steps that computing resources available for an edge node, the position of the edge node in an edge server and the earliest available time of the edge node, wherein the earliest available time of the edge node can be determined according to the starting time and the computing time length of the last computing task executed by the edge node, and specifically, according to the starting time and the computing time length of the last computing task executed by the edge node, the ending time of the last computing task executed by the edge node can be obtained, and the ending time can be regarded as the earliest available time of the edge node.
And a: i denotes a node of the neural network, j denotes a computing node in the edge server or the cloud server, X (i, j) denotes a computing resource allocated by the node i in the neural network to execute on the computing node j, and when X (i, j) ═ 0, it denotes that the node i in the neural network does not perform computation on the computing node j.
Reward R: and establishing a reward function according to the QoS requirement of the user.
And then, a decision is obtained by using a DDPG algorithm, the DDPG is a common deep reinforcement learning algorithm and has excellent perception and decision capability, and a scheme suitable for segmentation downloading and calculation resource distribution can be obtained by using the DDPG algorithm.
In step S206 in the task allocation method, determining an allocation policy of a calculation task specifically includes the following steps: acquiring network parameter information corresponding to an edge server and target computing resources required by executing a computing task, wherein the network parameter information comprises at least one of the following: bandwidth of the network and channel conditions of the network; and determining an allocation strategy of the computing task at least according to the network parameter information, the target computing resource and the state information of the plurality of edge nodes.
In the embodiment of the application, the DDPG can be trained through a DDPG algorithm training module, the overall energy consumption of the system is minimized based on DNN inference delay requirements and reliability targets provided by terminal equipment in cloud-side cooperative computing, the DDPG is trained according to network parameter information, such as network bandwidth, channel conditions and the like, and information of DNN network structure, calculated amount and the like, state feature dimensions, action space and corresponding network parameter information of edge nodes are input into the DDPG, and an optimal strategy for performing DNN segmentation and calculating resource allocation on cloud-side cooperation is obtained.
In step S208 in the task allocation method, allocating subtasks in the computation task to a plurality of edge nodes specifically includes the following steps: segmenting the calculation task according to the distribution strategy to obtain a plurality of subtasks; and distributing the plurality of subtasks to a plurality of edge nodes in the edge server for calculation.
In the embodiment of the application, based on deep reinforcement learning, state information of edge nodes is input, subtasks and allocation strategies are output as actions, a DNN inference task of a terminal device is segmented according to an optimized strategy output by an algorithm module, and the segmented tasks are allocated to corresponding edge servers or cloud servers, wherein it needs to be stated that the inference task is a calculation task in the application.
After the sub-tasks in the computation task are allocated to the plurality of edge nodes in step S208 in the task allocation method, as shown in the flowchart of fig. 4, the method further includes the following steps:
step S402, acquiring the execution sequence of the calculation tasks;
step S404, controlling a plurality of edge nodes to execute a plurality of subtasks according to the execution sequence;
step S406, receiving execution results returned by the plurality of edge nodes when the edge server downloads the calculation task of the neural network.
In step S406, after receiving the execution results returned by the plurality of edge nodes, the method further includes: and transmitting the execution result to the terminal equipment.
In the above steps S402 to S406, the edge server and the cloud server in the 5G network perform calculation and data transmission in the order of DNN inference, perform calculation according to the allocated calculation resource, return the final processing result to the edge access server that downloads the neural network calculation task, and finally return to the terminal device.
The task allocation method provided by the embodiment of the application analyzes the neural network, estimates the calculated amount and the output data amount of each layer of the neural network, and analyzes the structure of the neural network, particularly the dependency relationship executed between deep neural network layers. And according to the state of the cloud edge, such as parameters of equipment reliability, link reliability, transmission rate, computing capacity and the like, the DNN reasoning delay condition is met, the reliability of successful reasoning is optimized, the overall energy consumption of the network is reduced, and a DNN segmentation reasoning acceleration model based on cloud edge cooperation in the 5G network is constructed.
According to the task allocation method provided by the embodiment of the application, the cloud server and the edge server are used for cooperative computing, so that the problem of computing-intensive DNN reasoning under the time delay constraint in a 5G edge network is solved; the reliability problem of the equipment is considered, the equipment possibly fails during calculation, a reliability model is established according to the reliability model, the divisibility of a DNN network structure and a task allocation strategy are fully considered, the allocation strategy of resources is calculated, the time delay of DNN reasoning is reduced, the reasoning reliability is improved, the overall energy consumption of the system is reduced, and the problem that the time delay sensitive task is difficult to complete due to limited calculation capacity is solved.
The task allocation method provided by the embodiment of the application has the advantages that according to the state of the communication link and the state of the equipment, the probability of the completion of the inference task is considered, the reliability of the network server and the reliability of the link are analyzed, a reliability model is established, a segmentation and allocation scheme is provided, the reliability of the inference completion is effectively improved, the inference time delay is reduced, and the method is suitable for tasks with high requirements on the reliability and sensitive time delay; the problem of resource limitation of the intelligent terminal is considered, a cloud side end collaborative reasoning acceleration method is provided, and the overall time delay of the system is reduced under the QoS requirements of user time delay, reliability and the like; the optimization problem is solved by using a DDPG reinforcement learning algorithm, a state space is set based on network parameter information, a return function is set based on an optimization target and a constraint condition, and a strategy based on deep reinforcement learning is adopted.
The task allocation method provided by the embodiment of the application can be applied to the following scenes:
scene 1: in an intelligent manufacturing scene, a deep neural network is applied to an industrial environment at present, such as control of a production line, a mechanical arm and the like, data generated by a terminal needs to be processed efficiently and reliably, the task allocation method provided by the embodiment of the application can cooperatively execute the tasks at a cloud side end, and reliability and real-time performance of data analysis are guaranteed.
Scene 2: in a 5G network, video images acquired on an intelligent terminal need DNN reasoning tasks and can be unloaded to an edge access server, and the real-time performance of video analysis is guaranteed by the aid of the edge server and a cloud terminal.
Scene 3: the unmanned aerial vehicle needs to perform collected video analysis and path analysis in the operation process, but the calculation-intensive DNN is difficult to operate on the terminal, and calculation can be segmented through the cooperation of cloud edges, so that the requirement of real-time analysis is met.
Fig. 5 is a block diagram of a task assigning apparatus according to an embodiment of the present application, as shown in fig. 5, the apparatus including:
an obtaining module 502, configured to obtain a calculation task of a neural network initiated by a terminal device;
a first determining module 504, configured to determine state information of a plurality of edge nodes in an edge server, where the state information at least includes computing resources available to the plurality of edge nodes, and the edge nodes are used for computing tasks;
a second determining module 506, configured to determine a distribution policy of the computation task according to the state information and the target time delay, where the target time delay is a maximum time required by the computation task;
an allocating module 508, configured to allocate the subtasks in the computation task to the plurality of edge nodes according to the allocation policy.
In an obtaining module in the task allocation device, obtaining a calculation task of a neural network initiated by a terminal device specifically includes the following processes: mapping the neural network into a form of a directed acyclic graph; dividing each layer of nodes in the directed acyclic graph to obtain a plurality of node groups; and determining a calculation task of the neural network according to the subtask corresponding to each node group in the plurality of node groups.
In the above task assigning apparatus, the state information further includes: a location of the plurality of edge nodes in the edge server, and an earliest time of availability corresponding to the plurality of edge nodes.
In the second determining module of the task allocation device, determining an allocation policy of a computing task specifically includes the following processes: acquiring network parameter information corresponding to an edge server and target computing resources required by executing a computing task, wherein the network parameter information comprises at least one of the following: bandwidth of the network and channel conditions of the network; and determining an allocation strategy of the computing task at least according to the network parameter information, the target computing resource and the state information of the plurality of edge nodes.
In an allocation module in the task allocation apparatus, allocating a subtask in the computation task to a plurality of edge nodes specifically includes: segmenting the calculation task according to the distribution strategy to obtain a plurality of subtasks; and distributing the plurality of subtasks to a plurality of edge nodes in the edge server for calculation.
In the distribution module in the task distribution device, after distributing the subtasks in the computation task to the plurality of edge nodes, the device further includes: acquiring an execution sequence of computing tasks; controlling a plurality of edge nodes to execute a plurality of subtasks according to an execution sequence; and receiving execution results returned by the plurality of edge nodes under the condition that the edge server downloads the calculation tasks of the neural network.
In the above process, after receiving the execution results returned by the plurality of edge nodes, the apparatus further includes: and transmitting the execution result to the terminal equipment.
It should be noted that the task allocation apparatus shown in fig. 5 is used for executing the task allocation method shown in fig. 2, and therefore the explanation in the task allocation method is also applicable to the task allocation apparatus, and is not described again here.
Fig. 6 is a task allocation flowchart according to an embodiment of the present application, as shown in fig. 6, in step 601, an edge server receives QoS requirements of DNN calculation tasks, target time delays, calculation reliability, and the like of a terminal device; step 602, obtaining network parameter information of an edge server, such as computing resource information; step 603, the edge server obtains a DNN segmentation and distribution strategy through a deep reinforcement learning algorithm according to the network parameter information, and performs segmentation on the cloud server and the edge server segment; step 604, the edge server and the cloud server respectively execute the split DNN model and perform data transmission; 605, the edge server returns the calculation result to the edge access server, which is the server for downloading the calculation task of the neural network; and step 606, the edge access server returns the calculation result to the terminal equipment.
The embodiment of the application also provides a nonvolatile storage medium, which includes a stored program, wherein when the program runs, the apparatus where the nonvolatile storage medium is located is controlled to execute the following task allocation method: acquiring a calculation task of a neural network initiated by terminal equipment; determining state information of a plurality of edge nodes in an edge server, wherein the state information at least comprises available computing resources of the edge nodes, and the edge nodes are used for computing tasks; determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task; and distributing the subtasks in the calculation tasks to a plurality of edge nodes according to the distribution strategy.
The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present application, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described apparatus embodiments are merely illustrative, and for example, the division of the units may be a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or may be integrated into another system, or some features may be omitted, or may not be executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present application and it should be noted that those skilled in the art can make several improvements and modifications without departing from the principle of the present application, and these improvements and modifications should also be considered as the protection scope of the present application.

Claims (10)

1. A task allocation method, comprising:
acquiring a calculation task of a neural network initiated by terminal equipment;
determining state information of a plurality of edge nodes in an edge server, wherein the state information at least comprises computing resources available to the plurality of edge nodes, and the edge nodes are used for computing the computing tasks;
determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task;
and distributing the subtasks in the computing tasks to the edge nodes according to the distribution strategy.
2. The method of claim 1, wherein obtaining a computational task of a neural network initiated by a terminal device comprises:
mapping the neural network into a form of a directed acyclic graph;
dividing each layer of nodes in the directed acyclic graph to obtain a plurality of node groups;
and determining a calculation task of the neural network according to the subtask corresponding to each node group in the plurality of node groups.
3. The method of claim 1, wherein the status information further comprises: a location of the plurality of edge nodes in the edge server, and an earliest time of availability corresponding to the plurality of edge nodes.
4. The method of claim 3, wherein determining an allocation policy for the computing task comprises:
acquiring network parameter information corresponding to the edge server and target computing resources required by executing the computing task, wherein the network parameter information comprises at least one of the following: bandwidth of the network and channel conditions of the network;
determining an allocation strategy of the computing task according to at least the network parameter information, the target computing resource and the state information of the plurality of edge nodes.
5. The method of claim 1, wherein distributing subtasks of the computing task to the plurality of edge nodes comprises:
segmenting the computing task according to the distribution strategy to obtain a plurality of subtasks;
and distributing the plurality of subtasks to a plurality of edge nodes in the edge server for calculation.
6. The method of claim 5, wherein after assigning subtasks of the computing task to the plurality of edge nodes, the method further comprises:
acquiring an execution sequence of the computing tasks;
controlling the plurality of edge nodes to execute the plurality of subtasks according to the execution sequence;
and receiving the execution result returned by the plurality of edge nodes under the condition that the edge server downloads the calculation task of the neural network.
7. The method of claim 6, wherein after receiving the execution results returned by the plurality of edge nodes, the method further comprises: and transmitting the execution result to the terminal equipment.
8. A task assigning apparatus, comprising:
the acquisition module is used for acquiring a calculation task of a neural network initiated by the terminal equipment;
a first determining module, configured to determine state information of a plurality of edge nodes in an edge server, where the state information includes at least computing resources available to the plurality of edge nodes, and the edge nodes are configured to compute the computing task;
the second determining module is used for determining the distribution strategy of the computing task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the computing task;
and the distribution module is used for distributing the subtasks in the calculation tasks to the edge nodes according to the distribution strategy.
9. An electronic device, comprising:
a memory for storing program instructions;
a processor coupled to the memory for executing program instructions that implement the functions of: acquiring a calculation task of a neural network initiated by terminal equipment; determining state information of a plurality of edge nodes in an edge server, wherein the state information at least comprises computing resources available to the plurality of edge nodes, and the edge nodes are used for computing the computing tasks; determining a distribution strategy of the calculation task according to the state information and the target time delay, wherein the target time delay is the maximum time required by the calculation task; and distributing the subtasks in the computing tasks to the edge nodes according to the distribution strategy.
10. A non-volatile storage medium, comprising a stored program, wherein when the program runs, a device in which the non-volatile storage medium is located is controlled to execute the task assigning method according to any one of claims 1 to 7.
CN202210720196.6A 2022-06-23 2022-06-23 Task allocation method and device and electronic equipment Pending CN114970834A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210720196.6A CN114970834A (en) 2022-06-23 2022-06-23 Task allocation method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210720196.6A CN114970834A (en) 2022-06-23 2022-06-23 Task allocation method and device and electronic equipment

Publications (1)

Publication Number Publication Date
CN114970834A true CN114970834A (en) 2022-08-30

Family

ID=82965793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210720196.6A Pending CN114970834A (en) 2022-06-23 2022-06-23 Task allocation method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN114970834A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115421930A (en) * 2022-11-07 2022-12-02 山东海量信息技术研究院 Task processing method, system, device, equipment and computer readable storage medium
CN115941258A (en) * 2022-10-26 2023-04-07 山东浪潮科学研究院有限公司 Edge calculation task distribution method, device, equipment and medium
CN115955685A (en) * 2023-03-10 2023-04-11 鹏城实验室 Multi-agent cooperative routing method, equipment and computer storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941258A (en) * 2022-10-26 2023-04-07 山东浪潮科学研究院有限公司 Edge calculation task distribution method, device, equipment and medium
CN115421930A (en) * 2022-11-07 2022-12-02 山东海量信息技术研究院 Task processing method, system, device, equipment and computer readable storage medium
CN115421930B (en) * 2022-11-07 2023-03-24 山东海量信息技术研究院 Task processing method, system, device, equipment and computer readable storage medium
WO2024098872A1 (en) * 2022-11-07 2024-05-16 山东海量信息技术研究院 Task processing method, system, apparatus and device, and computer-readable storage medium
CN115955685A (en) * 2023-03-10 2023-04-11 鹏城实验室 Multi-agent cooperative routing method, equipment and computer storage medium

Similar Documents

Publication Publication Date Title
CN114970834A (en) Task allocation method and device and electronic equipment
CN111278132B (en) Resource allocation method for low-delay high-reliability service in mobile edge calculation
CN111405568B (en) Computing unloading and resource allocation method and device based on Q learning
CN110662238B (en) Reinforced learning scheduling method and device for burst request under edge network
CN110413392A (en) The method of single task migration strategy is formulated under a kind of mobile edge calculations scene
CN110069341B (en) Method for scheduling tasks with dependency relationship configured according to needs by combining functions in edge computing
Kim et al. Multi-agent reinforcement learning-based resource management for end-to-end network slicing
CN110519370B (en) Edge computing resource allocation method based on facility site selection problem
CN113064671A (en) Multi-agent-based edge cloud extensible task unloading method
CN109819032B (en) Cloud robot task allocation method considering base station selection and computing migration in combined manner
CN111176820A (en) Deep neural network-based edge computing task allocation method and device
CN111711962B (en) Cooperative scheduling method for subtasks of mobile edge computing system
Heidari et al. A hybrid approach for latency and battery lifetime optimization in IoT devices through offloading and CNN learning
Jain et al. Qos-aware task offloading in fog environment using multi-agent deep reinforcement learning
CN114205353B (en) Calculation unloading method based on hybrid action space reinforcement learning algorithm
CN116541106B (en) Computing task unloading method, computing device and storage medium
Santos et al. Resource provisioning in fog computing through deep reinforcement learning
Zhang et al. Effect: Energy-efficient fog computing framework for real-time video processing
Huda et al. Deep reinforcement learning-based computation offloading in uav swarm-enabled edge computing for surveillance applications
Tang et al. Distributed slice selection-based computation offloading for intelligent vehicular networks
CN114339891A (en) Edge unloading resource allocation method and system based on Q learning
Henna et al. Distributed and collaborative high-speed inference deep learning for mobile edge with topological dependencies
CN111049900B (en) Internet of things flow calculation scheduling method and device and electronic equipment
CN115955685A (en) Multi-agent cooperative routing method, equipment and computer storage medium
Bensalem et al. Towards optimal serverless function scaling in edge computing network

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