Edge distributed scheduling method, device and equipment based on directed acyclic graph
Through the edge distributed scheduling method of directed acyclic graph, the problems of device heterogeneity, network dynamics and task dependencies in edge computing are solved, efficient and reliable task scheduling is achieved, computing costs are reduced, and user experience and economic benefits are improved.
Patent Information
- Application Number
- CN202510639351.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-19
- Publication Date
- 2025-08-01
AI Technical Summary
Traditional edge computing scheduling systems fail to effectively consider the heterogeneity, geographical distribution and node preferences of edge nodes, resulting in unbalanced task scheduling, poor network dynamics, poor scheduling robustness, improper handling of task dependencies, inefficient execution efficiency, equipment failure and uncertainty lead to scheduling reliability problems, and large-scale task scheduling computing overhead.
The edge distributed scheduling method of directed acyclic graph is adopted. By defining the initiator and participant, dynamically selecting devices, optimizing resource utilization, real-time monitoring of network status, accurately representing task dependencies, dynamically adjusting task offload paths, dividing tasks into multiple stages to execute in parallel, optimizing resource sharing and computing burden.
Significantly reduce end-to-end latency, improve resource utilization, enhance system adaptability and flexibility, optimize computing processes, reduce computing costs, and improve user experience and the economic benefits of service providers.
Smart Images

Figure CN120407121A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of edge computing, and particularly relates to an edge distributed scheduling method, device, equipment and medium based on a directed acyclic graph. Background Art
[0002] Edge computing is a distributed computing framework that transfers data processing from the data center or cloud to the edge of the network, that is, closer to the data source. This method can significantly reduce the data transmission time by processing data at or near the location where the data is generated, thereby reducing latency. This is particularly important for scenarios such as real-time applications with high latency requirements. In addition, processing data locally can reduce the number of times data is transmitted to remote servers and reduce the risk of data leakage. In addition, edge computing devices can implement local data processing and storage security policies to enhance data protection.
[0003] However, the edge node devices that execute tasks are usually highly heterogeneous and geographically dispersed. These devices come from not only some cloud providers that professionally provide edge computing services, but also individual users who contribute their idle devices to provide idle computing or storage resources for task execution. The hardware configurations of these individual devices are usually different, showing strong heterogeneity. The devices can range from small devices (such as Internet of Things devices, smartphones) to large servers. Therefore, there are differences in the computing power, storage capacity, network bandwidth, etc. of the node devices in the edge system. In addition, the edge nodes are distributed in different physical locations around the world and do not rely on a centralized cloud data center. This geographical dispersion makes task scheduling need to consider factors such as network latency and bandwidth limitations to ensure efficient resource allocation and task execution.
[0004] Traditional edge scheduling systems can uniformly manage these heterogeneous and geographically dispersed edge node devices and can schedule tasks to edge nodes with sufficient resources for execution on the premise of giving priority to meeting the task service quality requirements (Quality of Service, QoS) to ensure the smooth completion of tasks. However, some edge nodes may have preferences for specific types of task flows or users using edge computing services, which may be based on previous collaboration history, the data type of the task flow, or the scheduling strategy of the node administrator. Most traditional edge scheduling systems only consider the requirements on the task side and ignore the preference requirements of the nodes. Therefore, when scheduling tasks, the system needs to consider the preferences of the edge nodes on the basis of meeting the requirements such as task service quality and security to improve the matching degree and success rate of task allocation. Summary of the Invention
[0005] In view of the above problems, on the one hand, an embodiment of the present invention provides an edge distributed scheduling method based on a directed acyclic graph, including:
[0006] Define the edge network device as an initiator or a participant;
[0007] For the initiator or participant to select a program, the initiator selects a scheduler, and the participant selects a participation program;
[0008] Schedule the task data according to the initiator algorithm or the participant algorithm, and any device as the initiator distributes or deploys the task to other participant devices for execution.
[0009] Furthermore, the defining the edge network device as an initiator or a participant includes:
[0010] Obtain no less than two edge device nodes, read the task execution progress of the edge network device, and define the edge network device as an initiator or a participant according to the execution progress.
[0011] Furthermore, for the initiator or participant to select a program, the initiator selects a scheduler, including:
[0012] The initiator will start the scheduler to perform preprocessing of the database availability group for the application task and collect analysis information from each device in the network to optimize resource allocation.
[0013] Furthermore, the method further includes:
[0014] The participant joins the network and will notify the initiator whether the task to be offloaded has been analyzed; if the task to be offloaded does not need to be analyzed, it should be configured before it joins the offloading network.
[0015] Furthermore, the method further includes:
[0016] When the launcher decides to offload an application instance, convert the database availability group of the application and divide the execution into multiple stages, and all tasks within the same stage can be completed concurrently.
[0017] Furthermore, the scheduling the task data according to the initiator algorithm or the participant algorithm, and any device as the initiator distributes or deploys the task to other participant devices for execution, includes:
[0018] When the configuration information of each participant is available, the initiator will estimate the end-to-end delay of each task in the application based on the database availability group on each offloader in the offloading network;
[0019] The delay estimates for tasks executed on each participant will be sorted from low to high.
[0020] Further, the tasks executed on the participant are delayed by a minimum latency scheduling algorithm;
[0021] Among them, all available edge devices in the offloading network are delayed according to the delay time;
[0022] When the environment required for the task execution delay time is met, the download delay of all configuration files of the execution environment is performed, and the delay is determined based on the size of the configuration file and the download speed of the network.
[0023] Further, the task data is scheduled according to the initiator algorithm or the participant algorithm, and any device serves as an initiator to allocate or deploy the task to other participant devices for execution, including:
[0024] The participant monitors the communication speed between itself and the network and between itself and other participants,
[0025] Compensate the error over-allocation parameter according to the monitored communication speed.
[0026] Further, the task data is scheduled according to the initiator algorithm or the participant algorithm, and any device serves as an initiator to allocate or deploy the task to other participant devices for execution, including:
[0027] Obtain the input and output data sizes, and obtain the size information of the input and output data of each task from the participants in the network;
[0028] After receiving the input and output data sizes, the initiator can update the metadata and the task scheduling policy, considering the bandwidth and storage requirements for data transmission;
[0029] Divide the devices in the edge network into multiple non-overlapping small-scale offloading networks centered on different initiators using the Kmeans clustering algorithm.
[0030] Further, the method further includes:
[0031] When all the tasks that the network where the initiator is located should execute are completed and a new initiator accesses, the participant devices in the network will be reorganized into a new offloading network;
[0032] The participant device receives the task and the allocation plan from the initiator device, and receives the task input from other clients or the initiator device. When all the necessary input files are ready, the client starts to complete the given task.
[0033] Based on the same inventive concept, another aspect of the embodiments of the present disclosure further provides a directed acyclic graph edge distributed scheduling device, including:
[0034] A device definition unit for defining edge network devices as initiators or participants;
[0035] A program selection unit for selecting a program for an initiator or a participant, where the initiator selects a scheduler and the participant selects a participation program;
[0036] A task allocation unit for scheduling task data according to an initiator algorithm or a participant algorithm, and any device acting as an initiator allocates or deploys tasks to other participant devices for execution.
[0037] Based on the same inventive concept, another aspect of the embodiments of the present disclosure further provides an electronic device, including: a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory complete mutual communication through the communication bus;
[0038] The memory stores a computer program;
[0039] When the processor executes the program stored in the memory, it implements a method for edge distributed scheduling of a directed acyclic graph.
[0040] Based on the same inventive concept, another aspect of the embodiments of the present disclosure further provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, it implements a method for edge distributed scheduling of a directed acyclic graph.
[0041] Advantages of the present invention:
[0042] The present disclosure provides a method, device, equipment, and medium for edge distributed scheduling based on a directed acyclic graph. This framework has excellent performance and can significantly reduce the end-to-end delay of applications. This framework can effectively optimize the computing process by precisely managing task dependencies and resource allocation, thereby ensuring that tasks can be completed in the shortest time. In addition, the framework design fully considers the changing factors in a dynamic network environment, has high adaptability and flexibility, and can monitor the network status in real time and intelligently adjust the task scheduling strategy. This enables the system to still provide stable and reliable performance under different network conditions, meeting the user's requirements for real-time and high availability.
[0043] At the same time, the present invention also effectively reduces the user's computing cost by optimizing resource utilization and reducing unnecessary computing burdens. By reasonably allocating tasks to multiple edge devices or cloud servers, waste of resources is avoided, and efficient cost control is achieved. This not only improves the economic benefits of the service but also enables users to reduce overall operating expenses while enjoying high-quality computing services. In summary, the scheduling framework of the present invention improves the user experience while also bringing considerable economic benefits to service providers, and has broad application prospects and market potential.
[0044] Other features and advantages of the present invention will be set forth in the following description, and in part will be obvious from the description, or may be learned by practice of the present invention. The objectives and other advantages of the present invention may be realized and attained by the structure particularly pointed out in the specification and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or in the prior art, the following briefly introduces the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0046] Figure 1 FIG. shows a schematic flowchart of an edge distributed scheduling method for a directed acyclic graph;
[0047] Figure 2 FIG. shows a schematic diagram of an edge distributed scheduling architecture for a directed acyclic graph;
[0048] Figure 3 FIG. shows a schematic diagram of the data task allocation process by an edge server;
[0049] Figure 4 FIG. shows a schematic diagram of an edge distributed scheduling device for a directed acyclic graph;
[0050] Figure 5 FIG. shows a schematic diagram of the structure of an electronic device. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0051] In order to make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following clearly and completely describes the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts fall within the protection scope of the present invention.
[0052] It should be noted that the terms "first", "second", etc. in this application are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances for the embodiments of the present application described herein. In this application, the terms "upper", "lower", "left", "right", "front", "rear", "top", "bottom", "inner", "outer", "middle", "vertical", "horizontal", "lateral", "longitudinal", etc. indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings.
[0053] With the rapid development of edge computing, task scheduling has become increasingly complex in edge computing systems. Traditional edge computing scheduling systems usually focus on matching task requirements while ignoring issues such as the heterogeneity, geographical distribution, and node preferences of edge nodes. Specifically, the current system has the following key technical problems:
[0054] (1) The problem of unbalanced task scheduling caused by device heterogeneity.
[0055] In the edge computing environment, there are significant differences in hardware resources such as the computing power, storage capacity, and network bandwidth of devices. Existing scheduling methods usually assume that devices have similar computing capabilities, resulting in the inability to effectively utilize the resource differences between devices in actual scheduling, causing waste of resources or unbalanced task scheduling.
[0056] Technical problem to be solved: The present invention dynamically selects devices to execute tasks and combines the roles of devices (initiators and participants) to dynamically schedule tasks in the network, ensuring the optimization of resource utilization, avoiding waste of device resources, and improving the utilization rate of device performance.
[0057] (2) The problem of poor robustness of task scheduling caused by network dynamics.
[0058] Networks in the edge computing environment often face problems such as fluctuations, unstable bandwidth, and packet loss. Existing scheduling methods often assume that the network is stable, which makes the task scheduling effect of the system greatly affected when the network environment changes in actual applications, resulting in increased latency or task loss. The present invention can dynamically adjust according to the real-time monitored network status. When the network fluctuates or a device fails, it reselects appropriate devices and paths to execute tasks through the scheduling framework, ensuring that task scheduling can continue smoothly in an unstable network environment.
[0059] (3) The problem of low task execution efficiency caused by improper handling of task dependencies.
[0060] In many complex application scenarios, there are complex dependencies between tasks. Traditional scheduling methods may not fully consider the dependencies between tasks, resulting in an unreasonable task execution order, inability to parallelize, and thus affecting task execution efficiency. The present invention introduces a directed acyclic graph (database availability group) model to accurately represent the dependencies between tasks and realizes task scheduling optimization on this basis. The database availability group structure ensures the correct execution order of tasks and allows parallel execution, significantly improving task execution efficiency and system throughput.
[0061] (4) The problem of scheduling reliability caused by device failures and uncertainties.
[0062] Existing edge computing scheduling methods usually assume the stability and reliability of devices. However, in practical applications, devices may become unavailable due to failures, overloads, or other factors. The prior art lacks effective solutions to address this uncertainty. The present invention, through a dynamic task scheduling strategy, can monitor the availability of devices in real time in the face of device failures and uncertainties, and adjust the task offloading path according to the real-time status. When a device fails or is unable to continue executing a task, the system will automatically reschedule the task to other available devices to ensure the reliable execution of the task.
[0063] (5) The problem of computational overhead in large-scale task scheduling.
[0064] Task scheduling, especially large-scale task scheduling, usually requires a large amount of computing and resource management. When facing large-scale task scheduling, existing scheduling methods often face significant computational overhead. Especially in the absence of effective resource sharing and collaboration, the efficiency of the system will be significantly reduced. The present invention divides tasks into multiple stages and optimizes the scheduling process according to the dependencies of tasks, enabling parallel execution of tasks while ensuring the task order, thereby reducing the computational overhead in the task scheduling process. At the same time, the system can optimize resource sharing by intelligently selecting task offloading devices, reducing the overall computational burden of scheduling.
[0065] In view of the above problems, on the one hand, an embodiment of the present invention proposes a directed acyclic graph-based edge distributed scheduling method, see Figure 1 , including:
[0066] S101: Define edge network devices as initiators or participants;
[0067] S102: Select programs for the initiator or participant. The initiator selects a scheduling program, and the participant selects a participation program;
[0068] S103: Schedule task data according to the initiator algorithm or participant algorithm. Any device acting as an initiator distributes or deploys tasks to other participant devices for execution.
[0069] Specifically, see Figure 2 and Figure 3 , divide the devices in the edge network into initiators and participants. Each device in the network has two different functional programs, a scheduling program and a participation program. According to the user's usage intention, these devices will select appropriate programs to execute. If the user device joins the network as an initiator, it means that the user intends to offload certain tasks. Therefore, the initiator will start the scheduling program to perform database availability group preprocessing of application tasks and be responsible for collecting and analyzing information from each device in the network to optimize resource allocation. Let G = {V i , E j} represents the database availability group representation of the application.
[0070] If a user joins the network as a participant, it indicates that the user is willing to contribute the idle computing or storage resources of their device. It will notify the initiator whether the tasks to be offloaded have been analyzed. If not, it should be configured before joining the offloading network.
[0071] When the initiator decides to offload an application instance, it needs to transform the database availability group of the application and divide the execution into multiple stages, which can be represented by S = {S1,..., S N}, where S i ∈G. The benefit of decomposing the database availability group into stages is that task dependencies are integrated within the stages, and all tasks within the same stage can be completed concurrently.
[0072] In some specific embodiments, defining the edge network device as an initiator or a participant includes:
[0073] Obtain no less than two edge device nodes, read the task execution progress of the edge network device, and define the edge network device as an initiator or a participant according to the execution progress.
[0074] Further, for the initiator or participant selection process, the initiator selects a scheduler, including:
[0075] The initiator will start the scheduler to perform preprocessing of the database availability group of the application tasks and collect analysis information from each device in the network to optimize resource allocation.
[0076] Specifically, the initiator device is the starting point of the offloading process. When a device joins the network as an initiator, it quickly discovers the available participants already in the network around it and collects summary information about those devices for the tasks to be offloaded. If the initiator discovers that the configuration information of a participating device is unavailable, it can request the configuration data of similar devices in the network. If there are no similar devices, the current participating device will be removed from the offloading process and enter the configuration phase. It can only rejoin the offloading network after completing the configuration.
[0077] When the configuration information of each participant is available, the initiator will estimate the end-to-end delay of each task in the application based on the database availability group on each offloader p in the offloading network. The delay is defined as: And T = {T1, T2,..., T N} represents all task types in a given application, T i ∈T and at the same time T i ∈S j, indicating that this task is executed at a certain stage of the DAG. D p ∈D = {D1, D2,..., D N}, where D represents all available edge devices in the offloading network.
[0078] The latency estimate for executing task T i on each participant will be sorted from low to high, and the execution time of the task can be expressed as:
[0079]
[0080] where the environment required to execute task T i is represented by E(T i ), represents the download latency of all configuration files for the execution environment, and this latency is determined based on the size of the configuration file and the download speed of the network. Additionally, let T(i) d represent the input data of task T i , and L(T i ) d is the latency for transferring data from other devices to this edge device, and this latency is mainly determined by the size of the input file and the transmission speed between the source device and the destination device. If M(T i ) represents the storage space required to execute task T i , and M(D p ) represents the available storage space on device D p , then it is necessary to satisfy M(T i ) ≤ M(D p ), D p ∈D.
[0081] The above process can store the allocation of task T i through a priority queue, and this allocation method will sort the latencies from high to low in ascending order. For specific details, refer to the following algorithm:
[0082]
[0083] When partitioning an application through a database availability group, the nodes in the database availability group are usually divided into multiple stages, and the tasks within each stage can be executed concurrently at the same time. Therefore, the task execution latency of stage S i satisfies while the execution latency of the entire application satisfies
[0084] Considering the stability of individual access devices, participants may experience instability, leading to inability to successfully complete tasks. Therefore, to address the high probability of failure, the initiator needs to introduce a redundancy mechanism, duplicating tasks on less reliable participants. This means that if a participant fails to complete a task, other participants can complete it, improving overall system reliability. To this end, a predictive model for participant devices is designed to estimate the failure rate of each participant. This model can be represented by an exponential function:
[0085] P(D i )=1-e -λt
[0086] The failure rate λ is estimated based on the historical failure of the participant’s device. When a device fails, the task T executed on the device i Will also fail, use F(T i ) represents task T i The probability of execution failure.
[0087] Next, the initiator will estimate that in the previous stage, the task T i The failure probability of delaying the optimal allocation plan. When F(T i ) exceeds the preset threshold φ, and task T i The total number of copies T rep Fewer than the maximum number of replicas allowed The initiator will set a delay L(T i ), failure rate F(T i ), cost C(T i ) The defined parameters α, β, γ calculate a weight score WeightS, and then the framework will try to copy the task to the delay optimal queue L(T i )_Queue's second best choice to reduce the failure rate. A new weight score WeightSnew will be calculated based on the new delay, failure rate and cost. If the new weight score WeightSnew is lower than the initial weight score WeightS, task T i will be copied to the edge device corresponding to the second optimal allocation solution. This process will continue until F(T i ) is lower than the preset threshold φ, and the total number of copies exceeds the maximum number of copies allowed Or the weight score WeightSnew is lower than the initial weight score WeightS. So execute task T i The participants will be stored in the set D rep (T i ). The details of the above process can be referred to the following algorithm:
[0088]
[0089] where DE(T i ) represents the dependency of task T i on other tasks, and c(D p ) represents the per-unit-time execution cost when executing the task on device
[0090] D p . The algorithm finally outputs the allocation scheme P(T i ) of task T i . When all tasks of the application are executed, the entire application is considered to be executed. If is used to represent that task T i is successfully executed, then the failure rate of the entire application can be expressed as:
[0091]
[0092] Considering that the tasks of the entire application are decomposed into multiple stages according to the DAG for execution, and there are dependencies between different tasks, the successful completion of a certain task may depend on the success of its previous tasks. Therefore, the overall success probability needs to comprehensively consider the success probabilities of all dependent tasks. For example, if task T1 is successfully completed, then T2 can start execution only by relying on the successful completion of T1. For an application with six tasks and the following dependencies between these tasks:
[0093] T1 and T2 depend on task T0, T3 and T4 depend on task T1, and T5 depends on task T2, then the failure rate of this application can be calculated as:
[0094]
[0095] Another optimization goal of the framework besides optimizing latency and failure rate is cost optimization. The execution cost of task T i on the participant device can be expressed as:
[0096]
[0097] If there is a task copy, then the total cost of executing task T i is the sum of the costs of all participant devices executing task T i , and can be expressed as:
[0098]
[0099] Therefore, the total execution cost of application G can be expressed as:
[0100]
[0101] The ultimate optimization goal of this framework can be expressed as:
[0102] minαL(G)+βP f (G)+γC(G)
[0103] s.t.α+β+γ=1
[0104] In this setting, the parameters α, β, and γ are user-defined weights used to control the trade-off between end-to-end latency, failure probability, and cost. This approach allows for fine-tuning according to specific application requirements.
[0105] In some specific embodiments, the method further includes:
[0106] When a participant joins the network, it will notify the initiator whether the task to be offloaded has been analyzed; if the task to be offloaded does not need to be analyzed, it should be configured before it joins the offloading network.
[0107] When the launcher decides to offload an application instance, the database availability group of the application is converted and the execution is divided into multiple stages, and all tasks within the same stage can be completed concurrently.
[0108] In some specific embodiments, scheduling the task data according to the initiator algorithm or the participant algorithm, and any device acting as an initiator distributes or deploys the task to other participant devices for execution, including:
[0109] When the configuration information of each participant is available, the initiator will estimate the end-to-end latency of each task in the application based on the database availability group on each offloader in the offloading network;
[0110] The latency estimates for tasks executed on each participant will be sorted from low to high.
[0111] Furthermore, the latency of tasks executed on the participant is processed through the minimum latency scheduling algorithm;
[0112] Among them, the latency is executed for all available edge devices in the offloading network according to the latency time;
[0113] When the environment required for the task execution latency time is met, the download latency of all configuration files in the execution environment is performed, and this latency is determined based on the size of the configuration file and the download speed of the network.
[0114] Specifically, see Figure 2, the participants indicate that the user provides idle computing or storage resources for the initiator device by connecting their personal device to the edge network. This means that the computing power of the participants can be used to execute tasks of other users. However, in addition to this, the participants need to monitor the communication speed between themselves and other participants in the network to ensure the effective execution of tasks and the smooth transmission of data, especially in a multi-participant environment.
[0115] The transmission rate between participant i and participant j can be expressed as:
[0116]
[0117] Where size(x) represents the size of the test packet, rtt(i, j) represents the round-trip time required for the test packet to be transmitted from device i to device j and then returned to device i, and η is the transmission speed error over-allocation parameter. Because in reality, due to changes in network conditions (such as latency, bandwidth fluctuations, etc.), the actual transmission speed may deviate from the expected value. This over-allocation parameter is used to adjust and compensate for this error to avoid task execution delays caused by underestimating network performance. This parameter can be adjusted according to the real-time state of the network environment, enabling the system to dynamically adapt to different network conditions and enhancing the stability and reliability of the system. The details of the entire network probing algorithm are as follows:
[0118]
[0119] In some specific embodiments, scheduling the task data according to the initiator algorithm or the participant algorithm, and any device acting as an initiator allocates or deploys the task to other participant devices for execution, including:
[0120] The participant monitors the communication speed between itself and the network as well as between itself and other participants,
[0121] Compensates the error over-allocation parameter according to the monitored communication speed.
[0122] Furthermore, scheduling the task data according to the initiator algorithm or the participant algorithm, and any device acting as an initiator allocates or deploys the task to other participant devices for execution, including:
[0123] Obtain the input and output data sizes, and obtain the size information of the input and output data of each task from the participants in the network;
[0124] After receiving the input and output data sizes, the initiator can update the metadata and the task scheduling strategy, considering the bandwidth and storage requirements for data transmission;
[0125] Devices in the edge network are divided into multiple non - overlapping small - scale offloading networks centered around different initiators using the Kmeans clustering algorithm.
[0126] When all the tasks that the network where the initiator is located should execute are completed and a new initiator accesses, the participating devices in the network will be re - organized into a new offloading network.
[0127] The participating device receives tasks and assignment plans from the initiator device, and receives task inputs from other clients or initiator devices. When all the necessary input files are ready, the client starts to complete the given task.
[0128] Specifically, devices in the edge network are divided into initiators and participants to achieve task scheduling. In the past, a centralized scheduler was usually used to execute the above - mentioned task - scheduling process. The edge - distributed scheduling framework based on a directed acyclic graph proposed by the present invention supports any device as an initiator to assign and deploy tasks to other participating devices for execution. The following algorithm shows the detailed process of initiator scheduling and task assignment.
[0129]
[0130] The "Get input and output data size()" function is used to obtain the size information of the input and output data of each task from the participants in the network, which is reported by the participants after completing the task. After receiving the input and output data sizes, the initiator can update the metadata and task - scheduling policies, considering the bandwidth and storage requirements for data transmission. This helps to optimize subsequent task assignment and resource management.
[0131] Since the scheduling framework proposed by the present invention supports any device as an initiator to offload tasks, in order to avoid the unpredictable delay caused by task - execution conflicts on different participating devices, devices in the edge network are divided into multiple non - overlapping small - scale offloading networks centered around different initiators using the Kmeans clustering algorithm. Specifically, for example, in a certain edge network divided according to initiators, there are two independent offloading networks, offNet1 = {D a1 , D a2 ,..D an} and offNet2 = {D b1 , D b2 ,..D bn}, then the above two offloading networks satisfy the following conditions:
[0132]
[0133] After the network where the initiator is located has completed all the tasks it should execute and a new initiator accesses, the participant devices in the network will be reorganized into a new offloading network.
[0134] The participant device receives tasks and assignment plans from the initiator device and receives task inputs from other clients or the initiator device. Once all the necessary input files are ready, the clients start to complete the tasks given to them. The following algorithm shows the detailed process of the participant receiving tasks.
[0135]
[0136] where T i (meta) represents the intermediate data generated during the task execution by the participant. Through the framework proposed by the present invention, multiple objectives such as delay, failure rate, and cost can be effectively optimized considering network conditions, so as to achieve effective resource allocation and task assignment while meeting user requirements.
[0137] Based on the same inventive concept, another aspect of the embodiments of the present disclosure further provides an edge distributed scheduling device for a directed acyclic graph, see Figure 4 , including:
[0138] The device definition unit 201 is used to define the edge network device as an initiator or a participant;
[0139] The program selection unit 202 is used to select a program for the initiator or the participant. The initiator selects a scheduling program, and the participant selects a participation program;
[0140] The task assignment unit 203 is used to schedule task data according to the initiator algorithm or the participant algorithm. Any device as an initiator assigns or deploys tasks to other participant devices for execution.
[0141] Based on the same inventive concept, another aspect of the embodiments of the present disclosure further provides an electronic device 161, see Figure 5 , including a processor 164, a communication interface 165, a memory 162, and a communication bus. Among them, the processor 164, the communication interface 165, and the memory 162 complete mutual communication through the communication bus;
[0142] The memory 162 stores a computer program 163;
[0143] When the processor 164 executes the program stored in the memory 162, it implements the edge distributed scheduling method for a directed acyclic graph described above.
[0144] The communication bus described above can be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus can be divided into an address bus, a data bus, a control bus, and the like.
[0145] The communication interface 165 is used for communication between the electronic device 161 and other devices.
[0146] The memory 162 may include a Random Access Memory (RAM), or may also include a non-volatile memory, such as at least one disk memory. Optionally, the memory 162 may also be at least one storage device located far from the aforementioned processor 164.
[0147] The aforementioned processor 164 may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0148] Based on the same inventive concept, another aspect of the embodiments of the present disclosure further provides a computer-readable storage medium storing a computer program 163, and when the computer program 163 is executed by the processor 164, it implements the above-mentioned edge distributed scheduling method for a directed acyclic graph.
[0149] The computer-readable storage medium may be included in the device / device described in the above embodiments; it may also exist separately without being assembled into the device / device. The above computer-readable storage medium carries one or more programs, and when the one or more programs are executed, it implements the above-mentioned edge distributed scheduling method for a directed acyclic graph according to the embodiments of the present disclosure.
[0150] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the present application.
Claims
1. A method for edge distributed scheduling of a directed acyclic graph, characterized in that Including: Defining edge network devices as initiators or participants; Selecting programs for initiators or participants, where the initiator selects a scheduler and the participant selects a participation program; Scheduling task data according to the initiator algorithm or the participant algorithm, and any device acting as an initiator distributes or deploys tasks to other participant devices for execution.
2. The method according to claim 1, wherein The defining of edge network devices as initiators or participants includes: Obtaining no less than two edge device nodes, reading the task execution progress of the edge network device, and defining the edge network device as an initiator or a participant according to the execution progress.
3. The method according to claim 2, characterized in that, Regarding the program selection for initiators or participants, the initiator's selection of a scheduler includes: The initiator will start the scheduler to perform preprocessing of the database availability group for application tasks and collect analysis information from each device in the network to optimize resource allocation.
4. The method according to claim 2, characterized in that The method further includes: When a participant joins the network, it will notify the initiator whether the task to be offloaded has been analyzed; if the task to be offloaded does not need to be analyzed, it should be configured before it joins the offloading network.
5. The method according to claim 4, wherein The method further includes: When the launcher decides to offload an application instance, convert the database availability group of the application and divide the execution into multiple stages, and all tasks within the same stage can be completed concurrently.
6. The method according to claim 4, characterized in that The scheduling of task data according to the initiator algorithm or the participant algorithm, and any device acting as an initiator distributes or deploys tasks to other participant devices for execution, includes: When the configuration information of each participant is available, the initiator will estimate the end-to-end delay of each task in the application based on the database availability group on each offloader in the offloading network; The delay estimates for tasks executed on each participant will be sorted from low to high.
7. The method according to claim 6, wherein Perform latency on the tasks executed on the participants through the minimum latency scheduling algorithm; Among them, perform latency on all available edge devices in the offloading network according to the latency time; When the environment required for the task execution latency time is met, perform the download latency of all configuration files in the execution environment, and this latency is determined based on the size of the configuration files and the download speed of the network.
8. The method according to claim 4, wherein The scheduling of task data according to the initiator algorithm or the participant algorithm, and any device acting as an initiator distributes or deploys tasks to other participant devices for execution, includes: Participants monitor the communication speed between themselves and the network and between themselves and other participants, Compensate the error over-allocation parameter according to the monitored communication speed.
9. The method according to any one of claims 1 to 8, characterized in that, The scheduling of task data according to the initiator algorithm or the participant algorithm, and any device acting as an initiator distributes or deploys tasks to other participant devices for execution, includes: Obtain the input / output data size and obtain the size information of the input and output data of each task from the participants in the network; After receiving the input and output data sizes, the initiator can update the metadata and task scheduling policy, considering the bandwidth and storage requirements for data transmission; Divide the devices in the edge network into multiple non-overlapping small-scale offloading networks centered on different initiators using the Kmeans clustering algorithm.
10. The method according to claim 9, wherein The method further includes: After all the tasks that should be executed by the network where the initiator is located are completed and a new initiator accesses, the participant devices in the network will be reorganized into a new offloading network; The participant device receives tasks and allocation plans from the initiator device, and receives task inputs from other client devices or the initiator device. When all the necessary input files are ready, the client starts to complete the given tasks.
11. An edge distributed scheduling device for a directed acyclic graph, characterized in that, Including: A device definition unit for defining an edge network device as an initiator or a participant; A program selection unit for selecting a program for the initiator or the participant, where the initiator selects a scheduling program and the participant selects a participation program; A task allocation unit for scheduling task data according to the initiator algorithm or the participant algorithm, and any device acting as an initiator allocates or deploys tasks to other participant devices for execution.
12. An electronic device, characterized in that, Including: A processor, a communication interface, a memory, and a communication bus. Among them, the processor, the communication interface, and the memory complete communication with each other through the communication bus; The memory stores a computer program; When the processor executes the program stored in the memory, it implements an edge distributed scheduling method for a directed acyclic graph according to any one of claims 1 to 10.
13. A computer-readable storage medium, characterized in that, A computer program is stored, and when the computer program is executed by the processor, it implements an edge distributed scheduling method for a directed acyclic graph according to any one of claims 1 to 10.
Citation Information
Patent Citations
Micro-service fault-tolerant scheduling method based on reinforcement learning in computing power network
CN119324927A
Distributed architecture for machine learning based computation using a decision control point
US20140222730A1
Leveraging directed acyclic graph (DAG) information to group tasks for execution
US20180307528A1
Cited By
Distributed transaction preprocessing optimization method and system based on CTC model
CN121614222A