CN115617473A - Dependency task scheduling method for time constraint of edge calculation and application thereof - Google Patents
Dependency task scheduling method for time constraint of edge calculation and application thereof Download PDFInfo
- Publication number
- CN115617473A CN115617473A CN202211168643.8A CN202211168643A CN115617473A CN 115617473 A CN115617473 A CN 115617473A CN 202211168643 A CN202211168643 A CN 202211168643A CN 115617473 A CN115617473 A CN 115617473A
- Authority
- CN
- China
- Prior art keywords
- task
- edge
- scheduling
- cloud
- server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004364 calculation method Methods 0.000 title description 2
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 63
- 230000001419 dependent effect Effects 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 claims description 4
- 230000001174 ascending effect Effects 0.000 claims description 4
- 238000007670 refining Methods 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013518 transcription Methods 0.000 description 2
- 230000035897 transcription Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 108020004566 Transfer RNA Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000012268 genome sequencing Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention relates to an edge-calculation-oriented time constraint dependent task scheduling method.A scheduling plan for generating mobile application based on DCDS is set into two stages, firstly, in the edge scheduling stage, the latest starting time is distributed to each task according to the longest path from the task to the sink, and the cheapest edge server is selected for each task, so that the estimated starting time of the directly subsequent task meets the corresponding latest starting time; in the cloud unloading stage, the DCDS keeps the task scheduling results on other edge servers unchanged by incrementally changing the tasks executed on the cloud. The edge-calculation-oriented time constraint dependent task scheduling method and the application thereof can consider the output result transmission time of each task when scheduling each task, thereby effectively reducing the possibility of overtime task scheduling; secondly, the algorithm can effectively utilize the strong computing power and the parallel capability of the cloud server, and long transmission time from the edge server to the cloud server is offset.
Description
Technical Field
The invention relates to the technical field of information technology, in particular to an edge-computing-oriented time constraint dependent task scheduling method and application thereof, belongs to the field of distributed systems and edge computing in computer networks, relates to methods for resource management, computing task scheduling and the like in edge computing and distributed systems, and is applied to the fields of artificial intelligence, big data processing and application software.
Background
For an application program requiring fast response time (for example, robot motion) in edge computing, it is difficult to meet the service quality requirements of the applications by offloading the whole application to an edge server, an application program can be divided into a group of interdependent subtasks, and different subtasks are scheduled to different edge servers, it is a very difficult problem to meet the deadline of the mobile application program and reduce the total cost, for example, an augmented reality application is composed of a plurality of interdependent tasks (such as a renderer, an identifier and a tracker), usually requires tens of milliseconds of fast response, task scheduling related to the deadline in the past is mostly designed for cloud computing, and can be divided into two categories, namely, a meta-heuristic algorithm and a deadline-based heuristic algorithm, wherein the meta-heuristic algorithm is used for scheduling large-scale dependent tasks in the cloud, the execution time is long, the requirement of real-time performance of mobile edge computing cannot be met frequently, the complexity of the heuristic algorithm based on the deadline distribution is low, the heuristic algorithm is suitable for mobile edge computing scheduling under the strict deadline constraint of the application deadline, and mainly comprises two steps (1) of dividing the application deadline into a plurality of sub-tasks and allocating the sub-tasks to the deadline, and selecting the lowest cost of the tasks, and ordering the tasks, and selecting the lowest cost of the tasks.
However, these cutoff-date-distribution-based heuristics focus only on scheduling each task to meet its child cutoff date, ignoring the future impact of each decision on subsequent task scheduling.
In mobile edge computing, the impact of such short views is greater than in cloud computing, the more intense deadline of mobile applications, and the high heterogeneity of mobile edge computing networks, making them prone to fall into local optimality, i.e., failing to meet the tighter deadline, while reducing the execution cost, and in particular, the disadvantage of such short views is mainly reflected in that, firstly, heterogeneous bandwidth between edge servers causes the output data transmission time of each task to be different, affecting the scheduling of subsequent tasks, blindly scheduling a large number of tasks of output data onto a server with lower bandwidth causes the transmission time to be too long in the future, thereby causing the execution time of subsequent tasks to be squeezed, and therefore, the remaining time to execute subsequent tasks is short, causing application delays or higher execution cost due to the tighter deadline, secondly, the processing and transmission capabilities of edge nodes and cloud highly heterogeneous affect the deadline, task-dependent scheduling, offloading of a single task to possibly cause the transmission time to be too long, existing cloud computing is simply regarded as a powerful edge server, making them prone to arrange a single edge server to execute a plurality of tasks in a cloud-end manner that can be executed at an earlier time, and an entire cloud-end task can be executed in a manner that can be more quickly.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides the edge-computing-oriented time constraint dependent task scheduling method and the application thereof, which have the advantages of reducing the possibility of task scheduling overtime, offsetting the longer transmission time from the edge server to the cloud server and the like, and solve the problems of task scheduling overtime and longer transmission time from the edge server to the cloud server.
In order to achieve the purpose, the invention provides the following technical scheme: a DCDS-based generation mobile application scheduling plan is set into two stages, firstly, in the edge scheduling stage, the latest start time is distributed to each task according to the longest path from the task to the sink, and the cheapest edge server is selected for each task, so that the estimated start time of the directly subsequent task meets the corresponding latest start time; second, in the cloud offload phase, the DCDS improves the edge-server-only scheduling plan by incrementally changing the tasks executed on the cloud, keeping the task scheduling results on other edge servers unchanged.
Further, the algorithm 1 is a DCDS algorithm, and inputs: g j ,And (3) outputting: h is j,i ,The specific algorithm is as follows:
s1, calling an algorithm 2;
S4, calling an algorithm 3;
S8、Else;
S9, refusing a j ;
S10, updating the idle time slot on the edge server;
and S11, ending.
Further, the algorithm 2 is an edge scheduling algorithm, and inputs: g j ,And (3) outputting: h is a total of j,i ,The specific algorithm is as follows:
s3, in the scheduling list, the application program a j Sorting in ascending order according to rank;
s4, v in for scheduling list i,j ;
S5、h j,i =-1;
S9、Else;
S10、For s u ∈S;
S11, calculating EEST (v) j,i′ );
S13、h j,i =u;
S14、c=c u ;
S15、If h j,i =-1;
S16, calculating h j,i ;
S18, updating the idle time slot v on the edge server j,i ;
S19, restoring the idle time period on the edge server to the state a before scheduling j 。
Further, in the edge scheduling stage, the latest start time is allocated to each task according to the longest path from the task to the sink, and then the cheapest edge server is selected for each task, so that the estimated start time of the directly subsequent task meets the corresponding latest start time.
Further, the S1, S2 calculates rank and latest start time of the task, in S5-S14, if there is a range satisfying the formula EEST (v) j,i′ )≤LT(v j,i′ ),The edge server of (4), then select the cheapest one; otherwise, the server causing the smallest maximum delay of the successor is selected in S16, the start time of the task is set in S17, the task is scheduled to the server in S18, and the free time slot in the server is updated.
Further, when the pure edge scheduling plan generated by algorithm 2 fails to meet the application's deadline, the DCDS may attempt to improve the scheduling plan with powerful cloud resources rather than directly discarding, however, transferring any task from the edge server to the cloud may affect the scheduling of other tasks, and under the deadline constraint, it is also NP-hard to reschedule these affected tasks in a cost-effective manner.
Further, the algorithm 3 is a cloud unloading algorithm, and S and G are input j ,h j,i ,Output h j,i ,The specific algorithm is as follows:
s1, calculating RTC (v) of each task j,i );
S2, initializing task set ETS = V of edge j ;
S3, initializing an unloading task queue OTQ;
S4、For(i,n j )∈E j ;
S6、OTQ.push(v j,i ),ETS←ETS\{v j,i };
S7、While len(OTQ)>0;
S8、v j,i =OTQ.pop();
S9、If v j,i =v j,1 ;
S11、For(i′,i)∈E j ;
S13、OTQ.push(v j,i′ ),ETS←ETS\{v j,i′ };
S14、For(i,i′)∈E j ;
S15、If v j,i′ ∈ETS and i′≠n j ;
S16、OTQ.push(v j,i′ ),ETS←ETS\{v j,i′ };
S18、For v j,i ∈V j \ETS;
s19, updating the edge server v j,i Unused time slices of (a);
S20、h j,i =r;
s22, calling RefineSchedulingAnd 4, the RefineScheduling function is used for refining task scheduling decisions.
Further, the algorithm 3 shows details of the cloud unloading stage, and in S1, RTC of each task is a task received by a slaveCalculated by traversing the task graph upwards, in S2-S3 the edge task set ETS and the off-load task queue OTQ are initialized, since by default all tasks are executed on the edge server, the ETS initially includes all tasks of the application, while the OTQ is empty, in S4-S6 any predecessor tasks of the receiver task that caused the application delay will be deleted from the ETS and pushed to the OTQ, in S7-S16 loops taskv will be verified j,i Whether the predecessor and successor popped from the OTQ should be offloaded to the cloud, in S9-S10, since the source task cannot be executed in the cloud, the original unsuccessful schedule is returned, in S11-S13, if v is j,i Any preceding of e.g. v j,i′ Is an edge task and does not satisfy the formulaWill be pushed to the OTQ and removed from the ETS, in S14-S16 if any subsequent task of the cloud task, except that the sink task is an edge task, will also be pushed to the OTQ and changed to a cloud task, in S17 the receiver taskIs set toIn S20-21, the execution server and start time of the cloud task are updated, and in S22, a refiesscheduling function is called to further reduce the execution cost while still satisfying all constraints.
based on the same technical concept, the edge-computing-oriented time constraint dependent task scheduling method is applied to artificial intelligence, big data processing and application software.
Compared with the prior art, the technical scheme of the application has the following beneficial effects:
the edge-computing-oriented time constraint dependent task scheduling method and application thereof are characterized in that an algorithm 1 is an integral algorithm, an algorithm 2, an algorithm 3 and an algorithm 4 are called in the algorithm 1, the algorithm 2 is used for scheduling each task in an edge scheduling stage, the scheduling algorithm particularly considers the bandwidth of a selected server and the size of current task output data, the influence of scheduling decisions in the future is considered, and the possibility of task delay is effectively reduced; the algorithm 3 is called when the algorithm 2 cannot generate a scheduling plan meeting the deadline, intelligently transmits a series of tasks to the cloud, effectively utilizes the processing capacity and the parallelism of a cloud server, so that the strict deadline of I can be further met, the algorithm 4 further optimizes the task scheduling, and gradually reduces the overall running cost by modifying the scheduling decision of each task on the basis of meeting the deadline; first, delay sensitive applications typically have tighter deadlines, so the algorithm design should take into account future effects carefully to avoid improper scheduling. Secondly, the servers in the cloud have several unique characteristics, such as almost infinite computing resource capacity, negligible internal transmission time, and limited bandwidth from the edge to the cloud link, so that the unloading of a plurality of continuous tasks should be specifically and definitely considered in the cloud unloading stage, rather than just modeling the cloud as a powerful edge server as in the previous work, the algorithm in the application can firstly consider the transmission time of the output result of each task when scheduling the task, and effectively reduces the possibility of task scheduling overtime; secondly, the algorithm can effectively utilize the strong computing power and the parallel capability of the cloud server, and the longer transmission time from the edge server to the cloud server is offset.
Drawings
FIG. 1 is a schematic diagram of a mobile edge computing network of a remote cloud with seven heterogeneous edge servers according to the present invention;
FIG. 2 is a task diagram of the present invention;
FIG. 3 is a schematic diagram illustrating a first DCDS task scheduling according to the present invention;
FIG. 4 is a schematic diagram illustrating task scheduling of a second DCDS according to the present invention;
FIG. 5 is a first diagram of the DCDS in SR aspect in the online scenario of the present invention;
FIG. 6 is a second schematic diagram of the DCDS in SR aspect in the online scenario of the present invention;
fig. 7 is a diagram of successful scheduling proportion and standardized cost online and reason line scheduling according to the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the 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 invention.
In order to achieve the above purpose, we first propose a time constraint cost optimization problem depending on task scheduling in mobile edge computing for delay sensitive applications and heterogeneous mobile edge computing networks. Then a new two-stage low-complexity heuristic is designed for scheduling applications with tight deadlines in highly heterogeneous mobile edge computing. Finally, the effectiveness of the method is proved by an experiment based on simulation.
Typical artificial intelligence, big data processing and application software application scenarios in this application are:
computer vision: the method comprises the steps of carrying out semantic segmentation on an image, carrying out region division on a complex and irregular image and labeling corresponding attributes based on polygonal labeling of a region, assisting in training an image recognition model, being mainly applied to human body segmentation, scene segmentation and automatic driving road segmentation, and being applied to intelligent driving, intelligent equipment and intelligent security scenes, such as image semantic segmentation, image/video classification, image framing, human face skeleton dotting, continuous frame labeling and the like.
And (3) language identification: the method monitors voice and identifies model training through technology, and is applied to scenes such as intelligent homes, intelligent equipment, intelligent customer service, intelligent stores and the like, such as voice cleaning, voice transcription, voice segmentation, phoneme labeling and the like.
Natural semantics: the NLP model training can be applied to scenes such as intelligent customer service, intelligent finance, intelligent driving and the like, such as text cleaning, text classification, text enrichment, OCR (optical character recognition) transcription, emotion marking, NLP marking and the like.
We consider the scenario of a heterogeneous edge computing environment, and fig. 1 depicts an example of a mobile edge computing network that contains 7 heterogeneous edge servers (including mobile devices and edge nodes) and one remote cloud. In view of more general mobile edge computing, dependent tasks can be performed on mobile devices, edge servers, and clouds, whereThe set of edge servers can be represented as S = [ S ] 1 ,s 2 ,...,s |s| ]The size is | S |. p is a radical of formula u And c u Is defined as a server s u The time required to complete the unit workload and the cost required to complete the unit workload. A fast server is cheaper than a slow server:
p u ≤p u′ ,if c u ≥c u′ ,
it is assumed that each server performs one task at a time,
the cloud server records the remote cloud as s r Execution time p per workload of cloud r Lower than edge server, execution cost per unit workload c r Above an edge server, a remote cloud has unlimited computing resource capabilities, meaning that it can handle an unlimited number of tasks simultaneously.
The mobile edge computing network is fully connected, the bandwidth between different edge nodes is different, and d is set u,v For the slave server s u To the server s v Delay per unit data transmission, due to limited bandwidth of the edge cloud link, corresponding unit data transmission delay (i.e. d) r,v And d v,r ) Much higher than the transfer time between edge servers, in particular d v,r And d r,v Is equal to d r The communication delay between two tasks performed in the cloud is negligible, i.e. d r,r =0, additionally d u,u Is set to 0, which means the same server s u The transmission time of (c) is negligible.
The set of all applications is defined as a = [ a = 1 ,...,a |A| ]Application of a j Is recorded asApplication expiration dateSetting by mobile user, issuing application program a j Of a mobile device s u Is denoted by a j Is distributed to the serverI.e. h i,j = u, application a j Can be described by a DAG named task graph, G j =(V j ,E j ) FIG. 2 depicts an example of a task graph consisting of 12 interdependent tasks, V j Is a set of nodes representing a task, E j Is a directed edge set representing the dependency relationship between tasks, and in practical application, the application analyzer can obtain a task graph G j Also referred to as application profiles, we assume herein that when a mobile user publishes an application, the corresponding application profile is given.
Application a j Is noted as v j,i Each task v j,i Has a weight value w j,i Indicating the computational workload of a task, i.e. the number of CPU cycles required to complete the task, task v j,i Is recorded as h j,i If task v j,i Is scheduled at a server s u Upper, then h j,i If u, then the task v j,i Is respectively w j,i p u And w j,i c u 。
Directed edges (i, i') represent the slave task v j,i To task v j,i′ With data transmission, the size of the data transmission quantity is expressed asFor each edge (i, i'), task v j,i Defined as task v j,i′ Is a preceding, task v j,i′ Defined as task v j,i Is continued; if at server s u And s u′ Upper schedule v j,i And v j,i′ Two with dependent dataTask of, then transmission time is
Two zero-workload virtual nodes (such as the gray nodes shown in FIG. 2) are inserted into the task graph, one virtual task named sourcetask is inserted at the beginning to trigger the application, and another task named sink task is inserted at the end to receive all the results, so that the application a j Total number of tasks n in j A change has occurred:
n j =|V j |+2(1.1),
then to task graph G j Performing topological ordering, representing the task v for each directed edge (i, i j,i At v j,i′ Before, after insertion and sorting, V j And E j Is updated, source task and sink task are defined as v j,1 Andscheduling by default to application a j Is distributed to the serverFor a task v j,i From v j,i Task to sinkAll tasks on the path of (c) are denoted as its subtasks, from the source task v j,1 To v j,i All tasks on the path of (c) are said to be its ancestor tasks.
Task v j,i Respectively recorded as the actual start time and the actual end timeAndbefore the application is released, the task cannot be started,
to meet the real-time requirements of mobile applications, once task v j,i Is arranged at a server s u Up run, cannot be stopped or migrated until the task is completed, and the constraint can be expressed as:
since edge servers are assumed herein to be unary, any two non-virtual tasks on the same edge server (e.g., such asAnd) The execution times of (a) cannot be overlapped,
for the virtual tasks, the server can execute without considering the overlapping constraint in the formula, and infinite tasks can be simultaneously operated in the remote cloud, so that the cloud does not have the overlapping constraint.
These two virtual tasks need to be performed on the publishing server:
The start time of a task must be greater than the end time of the previous task plus the required data transfer time, and therefore, a dependency constraint is established,
application program a j The completion time of (c) is equal to the completion time of the sink task,
the scheduling problem has two coupled goals, the first is to maximize the number of accepted applications that can be completed by the expiration date, the second is to minimize the total execution cost of the accepted applications,
s.t.Eq.(3)-(7),
1 {. Is an indicator function, which is 1 if the condition is satisfied, and is 0 otherwise, and in order to optimize these two objectives, a schedule is generated for each application, and application a is defined j Is planned to beExecution server h comprising tasks j,i And start timeAll the constraints in the formulas (3) to (7) are satisfiedAnd the progress plan meeting the application deadline is a successful progress plan.
To solve the above problem, we propose a time constrained cost effective algorithm (DCDS) relying on task scheduling based on two basic principles, firstly, delay sensitive applications usually have tighter deadlines, so the algorithm design should carefully consider future impact to avoid improper scheduling, secondly, servers in the cloud have several unique features, almost infinite computing resource capacity, negligible internal transmission time, and limited bandwidth of edge to cloud links, so the offloading of multiple consecutive tasks should be considered especially explicitly in the cloud offloading phase, rather than just modeling the cloud as a powerful edge server as in previous work.
The DCDS generates a dispatch plan for mobile applications in two phases: (1) In the edge scheduling stage, the latest starting time is allocated to each task according to the longest path from the task to the sink, and then the cheapest edge server is selected for each task, so that the estimated starting time of the directly subsequent task meets the corresponding latest starting time. (2) In the cloud offload phase, the DCDS improves the edge server only scheduling plan by incrementally changing the tasks executed on the cloud, keeping the task scheduling results on other edge servers unchanged.
6.Else;
7. Reject a j ;
8. Updating idle time slots on the edge server;
9. and (6) ending.
The edge scheduling stage is divided into three steps of (1) setting the latest starting time. And (2) ranking the tasks. And (3) selecting a server.
First, the bottom-up ranking, rank (v) j,i ) Representing slave task v j,i Task to sinkOf longest path of whereinAndis the average execution time per unit workload and the average transmission delay per unit data.
Rank of the Sink task is defined as:
representing the longest way in the undirected graph.
From the rank of each task, the latest start time of the task can be calculated:
the earliest start time for each task is calculated before selecting the node to execute the task.
In formula (1.13), TF (v) j,i ) Is task v j,i Is the end time, calculated as shown in equation (1.14):
the insertion-based policy ESTfind is implemented by finding the earliest idle period after which the task can be accommodated:
wherein s is u L is the server s u A list of time slices of the time slice,andis a server s u The start time and the end time of the upper time slice k. Task v j,i Is calculated as follows:
EFT(v j,i ,s u )=EST(v j,i ,s u )+w j,i p u (1.16),
obviously, if all tasks start before the latest start time, the application's expiration date will be met.
Selecting a server s u To meet the latest start time of its successor program:
if for task v j,i The edge node of the formula (1.18) which meets all the subsequent tasks can be selected, and the DCDS selects the cheapest node; otherwise, it will select the edge server that results in the smallest maximum delay for the successor for the current task:
see Algorithm 2 for a specific algorithm, lines 1-2 calculate the rank and latest start time of the task, and on lines 5-14, if there is an edge server that satisfies equation (1.18), then the least expensive one is selected; otherwise, the selection in line 16 will result in a successor programThe server with the smallest maximum delay, in line 17, has set task v j,i In row 18, task v j,i Is dispatched to a server v j,i Simultaneous server v j,i The idle time slot in (1) is updated.
1. Calculating rsnk of each task through an equation (1.10);
2. calculating the latest start time of each task by formula (13);
3. in the scheduling List, application a j Sorting in ascending order according to rank;
v in for scheduling List i,j ;
5.h j,i =-1;
9.Else;
10.For s u ∈S;
11. Calculate EEST (v) j,i′ );
13.h j,i =u;
14.c=c u ;
15.Ifh j,i =-1;
16. Calculate h j,i ;
18. Updating idle time slots v on edge servers j,i ;
19. Restoring the idle time period on the edge server to the state a before scheduling j 。
When the pure edge scheduling plan generated by algorithm 2 fails to meet the application's deadline, the DCDS may attempt to improve the scheduling plan with powerful cloud resources rather than directly discarding, however, transferring any task from the edge server to the cloud may affect the scheduling of other tasks, and under the deadline constraint, it is NP-hard to reschedule these affected tasks in a cost-effective manner.
Algorithm 3: cloud uninstalling, inputting: s, G j ,h j,i ,And (3) outputting: h is a total of j,i ,
1. Calculate RTC (v) for each task j,i );
2. Task set ETS = V for initializing edge j ;
3. Initializing an unloading task queue OTQ;
4.For(i,n j )∈E j ;
6.OTQ.push(v j,i ),ETS←ETS\{v j,i };
7.While len(OTQ)>0;
8.v j,i =OTQ.pop();
9.If v j,i =v j,1 ;
11.For(i′,i)∈E j ;
13.OTQ.push(v j,i′ ),ETS←ETS\{v j,i′ };
14.For(i,i′)∈E j ;
15.If v j,i′ ∈ETS and i′≠n j ;
16.OTQ.push(v j,i′ ),ETS←ETS\{v j,i′ };
18.For v j,i ∈V j \ETS;
19. updating edge servers v j,i Unused time slices of (a);
20.h j,i =r;
First, some concepts are introduced
(1) And (3) edge tasks: tasks performed on the edge servers.
(2) Cloud task: tasks performed on the remote cloud.
(3) Unloading tasks: and the cloud task is executed on the edge server, on one hand, the unloading task belongs to the cloud task, and on the other hand, the cloud task is the unloading task or a descendant of the unloading task.
(4) Execution time remaining in cloud (RTC): for each task, the RTC is defined as the longest path from it to the sink task, assuming that the task and its subtasks are scheduled into the cloud.
Since the transmission time between two tasks in the cloud is negligible, the RTC is defined as follows:
the purpose of this stage is to find all the off-load tasks, set the descendant tasks except the sink task as cloud tasks, and retain other task scheduling decisions, and a successful scheduling plan is as follows: for each unload task v j,i And v on edge servers j,i All predecessors (v) of j,i′ ),v j,i′ Plus the transmission time of the edge cloud link plus the RTC (v) j,i ) Meet the cutoff date
The redefinedanduling function shown in algorithm 4 is used to refine the task scheduling decision,
Example (b):
the DCDS is evaluated through simulation, firstly, simulation setting about an MEC network, an application program and a performance evaluation index is introduced, then an existing baseline is introduced, and a simulation result and corresponding analysis are given. DCDS and simulation environment were implemented with Python 3.6 in a desktop with an Intel Core i9-10900K 3.70 GHz CPU and 32GB RAM. Each simulation result was repeated 10 times to reduce the effect of randomness.
The mobile edge computing network consists of 20 edge servers and one remote cloud. The processing power and cost of different edge servers vary.
The experimental application data set is generated by randomly selecting different structures of a real application for which the workflow generator is to generate five workflows with different characteristics.
1.I/O intensive applications;
2, CPU intensive and memory intensive application;
3. a data processing pipeline application that automatically performs various genome sequencing operations;
4. automatically searching for applications of sRNA encoding genes;
cybersake describes the seismic hazard by generating a synthetic seismogram, which is a data intensive workflow requiring a large amount of memory and CPU.
The evaluation index is defined as follows:
success rate of acceptance: the Success Rate (SR) is defined as the ratio of the number of accepted applications to the total number of applications,
the Normalized Cost (NC) is the total execution cost of the accepted application divided by the total workload,
DCDS was compared to the following representative baseline
(1) HEFT, aims to minimize the maximum span of dependent tasks in heterogeneous computing.
(2) PCP, i.e., finding Partial Critical Path (PCP), assigns sub-deadlines to tasks on each PCP and selects the cheapest resource to satisfy the sub-deadlines for each task.
(3) ProLis sets the sub-expiration date of each task in proportion according to the longest path reaching the entry node, and the ascending order in ProLis represents the longest path.
(4) BDAS [25] which assigns sub-deadline based on an deadline rate and number of tasks per level, since the goal here is the total execution cost, only the deadline assignment method of BDAS is employed.
In an offline scenario, there is no resource competition among tasks of different applications, and the computing resources are available to the current application, as shown in fig. 3, and the result of fig. 4 shows that, when the DCDS schedules a single task, the output data of the single task and the server bandwidth are considered, so that the delay of subsequent tasks is reduced, and the scheduling success rate is improved. Furthermore, by balancing scheduling of the current task and the following tasks, the DCDS saves more time than other baselines, and a less costly server can be selected for the following tasks.
Fig. 5 and 6 show that in the online scenario, DCDS is still superior to other baselines in SR.
Figure 7 shows that the DCDS still outperforms the other baselines when compared using edge servers of different configurations.
In fig. 1 to 7, characters in the drawings are respectively represented as:
the Request is as follows: requesting;
scheduling Decisions: scheduling decisions;
scheduling Tasks: scheduling tasks;
access Point: a base station;
mobile Device: a mobile device;
edge Server: an edge server;
remote Cloud: a remote cloud server;
dummy Task: a virtual Task;
computing task Data Dependency: data dependence;
SR: successfully scheduling the proportion;
NC: standardization cost;
CCR: a ratio of transmission time to run time;
offline Scheduling: scheduling off line;
online Scheduling: and (6) online scheduling.
It should be noted that, in this document, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising one of 8230; \8230;" 8230; "does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises the element.
Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes, modifications, substitutions and alterations can be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.
Claims (10)
1. An edge-computation-oriented time constraint dependent task scheduling method is characterized by comprising the following steps: the scheduling plan for generating the mobile application based on the DCDS is set to be two stages, firstly, in an edge scheduling stage, the latest starting time is allocated to each task according to the longest path from the task to the sink, and the cheapest edge server is selected for each task, so that the estimated starting time of the directly subsequent task meets the corresponding latest starting time; second, in the cloud offload phase, the DCDS improves the edge-server-only scheduling plan by incrementally changing the tasks executed on the cloud, keeping the task scheduling results on other edge servers unchanged.
2. The method for scheduling task dependently based on time constraint of edge-oriented computation according to claim 1, wherein the algorithm 1 is DCDS algorithm, and inputs: g j ,And (3) outputting: h is a total of j,i ,The specific algorithm is as follows:
s1, calling an algorithm 2;
S4, calling an algorithm 3;
S8、Else;
S9, rejecting a j ;
S10, updating an idle time slot on the edge server;
and S11, ending.
3. The method of claim 2, wherein the method comprises: the algorithm 2 is an edge scheduling algorithm, and inputs: g j ,And (3) outputting: h is a total of j,i ,The specific algorithm is as follows:
s3, in the scheduling list, the application program a j Sorting according to rank ascending order;
s4, v in for scheduling list i,j ;
S5、h j,i =-1;
S9、Else;
S10、For s u ∈S;
S11, calculating EEST (v) j,i′ );
S13、h j,i =u;
S14、c=c u ;
S15、If h j,i =-1;
S16, calculating h j,i ;
S18, updating the idle time slot v on the edge server j,i ;
S19, restoring the idle time period on the edge server to the state a before scheduling j 。
4. The method of claim 2, wherein the method comprises: and in the edge scheduling stage, the latest starting time is allocated to each task according to the longest path from the task to the sink, and then the cheapest edge server is selected for each task, so that the estimated starting time of the directly subsequent task meets the corresponding latest starting time.
5. The method of claim 2, wherein the method comprises: said S1, S2 calculates rank and latest start time of the task, in S5-S14, if there is a run satisfying the formula EEST (v) j,i′ )≤LT(v j,i′ )The edge server of (4), then select the cheapest one; otherwise, the server causing the smallest maximum delay of the successor is selected in S16, the start time of the task is set in S17, the task is scheduled to the server in S18, and the free time slot in the server is updated.
6. The method of claim 2, wherein the method comprises: when the pure edge scheduling plan generated by algorithm 2 fails to meet the deadline of the application, the DCDS may attempt to improve the scheduling plan using strong cloud resources instead of discarding it directly, however, transferring any task from the edge server to the cloud may affect the scheduling of other tasks, and under the deadline constraint, it is also NP-hard to reschedule these affected tasks in a cost-effective manner.
7. The method of claim 2, wherein the method comprises: the algorithm 3 is a cloud unloading algorithm, and S and G are input j ,h j,i ,Output h j,i ,The specific algorithm is as follows:
s1, calculating RTC (v) of each task j,i );
S2, initializing a task set ETS = V of edge j ;
S3, initializing an unloading task queue OTQ;
S4、For(i,n j )∈E j ;
S6、OTW.push(v j,i ),ETS←ETS\{v j,i };
S7、While len(OTQ)>0;
S8、v j,i =OTQ.pop();
S9、If v j,i =vj,1;
S11、For(i′,i)∈E j ;
S13、OTQ.push(v j,i′ ),ETS←ETS\{v j,i′ };
S14、For(i,i′)∈E j ;
S15、If v j,i′ ∈ETS and i′≠n j ;
S16、OTQ.push(v j,i′ ),ETS←ETS\{v j,i′ };
S18、For v j,i ∈V j \ETS;
s19, updating the edge server v j,i Unused time slices of (a);
S20、h j,i =r;
8. The method of claim 7, wherein the method comprises: the algorithm 3 shows details of the cloud offload phase, and in S1, RTC of each task is by receiving task from the slaveCalculated by traversing the task graph upwards, in S2-S3 the edge task set ETS and the off-load task queue OTQ are initialized, the ETS initially includes all tasks of the application since by default all tasks are executed on the edge server, whereas the OTQ is empty, in S4-S6 predecessor tasks of any receiver task that caused the application delay will be deleted from the ETS and pushed to the OTQ, in S7-S16 loops the validation task v will be verified j,i Whether the predecessor and successor popped from the OTQ should be offloaded to the cloud, in S9-S10, since the source task cannot be executed in the cloud, the original unsuccessful scheduling plan is returned, in S11-S13, if v is j,i Any preceding of e.g. v j,i′ Is an edge task and does not satisfy the formulaWill be pushed to the OTQ and removed from the ETS, in S14-S16 if any subsequent task of the cloud task, except that the sink task is an edge task, will also be pushed to the OTQ and changed to a cloud task, in S17 the receiver taskIs set to beIn S20-21, the execution server and start time of the cloud task are updated, and in S22, a refiesscheduling function is called to further reduce the execution cost while still satisfying all constraints.
10. the use of an edge-computing-oriented time-constrained task-dependent scheduling method according to claims 1-9 in artificial intelligence, big data processing, and application software.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211168643.8A CN115617473A (en) | 2022-09-24 | 2022-09-24 | Dependency task scheduling method for time constraint of edge calculation and application thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211168643.8A CN115617473A (en) | 2022-09-24 | 2022-09-24 | Dependency task scheduling method for time constraint of edge calculation and application thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115617473A true CN115617473A (en) | 2023-01-17 |
Family
ID=84859263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211168643.8A Pending CN115617473A (en) | 2022-09-24 | 2022-09-24 | Dependency task scheduling method for time constraint of edge calculation and application thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617473A (en) |
-
2022
- 2022-09-24 CN CN202211168643.8A patent/CN115617473A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062246B (en) | Resource regulating method and device for deep learning frame | |
KR101468201B1 (en) | Parallel generation of topics from documents | |
CN103092683B (en) | For data analysis based on didactic scheduling | |
US9135581B1 (en) | Resource constrained task scheduling | |
CN108182109B (en) | Workflow scheduling and data distribution method in cloud environment | |
CN112416585B (en) | Deep learning-oriented GPU resource management and intelligent scheduling method | |
Kamalinia et al. | Hybrid task scheduling method for cloud computing by genetic and DE algorithms | |
CN107992359A (en) | The task scheduling algorithm that cost perceives under a kind of cloud environment | |
CN110928651B (en) | Service workflow fault-tolerant scheduling method under mobile edge environment | |
CN115292016A (en) | Task scheduling method based on artificial intelligence and related equipment | |
CN115033357A (en) | Micro-service workflow scheduling method and device based on dynamic resource selection strategy | |
CN109710372A (en) | A kind of computation-intensive cloud workflow schedule method based on cat owl searching algorithm | |
CN115202847A (en) | Task scheduling method and device | |
US8281313B1 (en) | Scheduling computer processing jobs that have stages and precedence constraints among the stages | |
Peng et al. | Genetic algorithm-based task scheduling in cloud computing using mapreduce framework | |
CN110264097A (en) | More scientific workflows based on cloud environment concurrently execute dispatching method | |
CN111930485B (en) | Job scheduling method based on performance expression | |
CN109976873A (en) | The scheduling scheme acquisition methods and dispatching method of containerization distributed computing framework | |
CN116777568A (en) | Financial market transaction advanced intelligent dialogue ordering method, device and storage medium | |
CN115617473A (en) | Dependency task scheduling method for time constraint of edge calculation and application thereof | |
Eswari et al. | Expected completion time based scheduling algorithm for heterogeneous processors | |
CN116010051A (en) | Federal learning multitasking scheduling method and device | |
CN112698911B (en) | Cloud job scheduling method based on deep reinforcement learning | |
Dogan et al. | Optimal and suboptimal reliable scheduling of precedence-constrained tasks in heterogeneous distributed computing | |
Djigal et al. | BUDA: Budget and deadline aware scheduling algorithm for task graphs in heterogeneous systems |
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 |