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 PDF

Info

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
Application number
CN202211168643.8A
Other languages
Chinese (zh)
Inventor
贾维嘉
娄炯
唐志清
沈平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Campus Of Beijing Normal University
Original Assignee
Zhuhai Campus Of Beijing Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Campus Of Beijing Normal University filed Critical Zhuhai Campus Of Beijing Normal University
Priority to CN202211168643.8A priority Critical patent/CN115617473A/en
Publication of CN115617473A publication Critical patent/CN115617473A/en
Pending legal-status Critical Current

Links

Images

Classifications

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

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

Dependency task scheduling method for time constraint of edge calculation and application thereof
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
Figure BDA0003862575960000021
And (3) outputting: h is j,i
Figure BDA0003862575960000022
The specific algorithm is as follows:
s1, calling an algorithm 2;
s2, obtaining the scheduling plan only limited to the edge
Figure BDA0003862575960000031
S3, if
Figure BDA0003862575960000032
S4, calling an algorithm 3;
s5, modifying the dispatching plan
Figure BDA0003862575960000033
S6, if
Figure BDA0003862575960000034
S7, reception of j And use
Figure BDA0003862575960000035
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
Figure BDA0003862575960000036
And (3) outputting: h is a total of j,i
Figure BDA0003862575960000037
The specific algorithm is as follows:
s1, passing through formula
Figure BDA0003862575960000038
Calculating rank of each person;
s2, passing through formula
Figure BDA0003862575960000039
Calculating the latest starting time of each character;
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;
S6、
Figure BDA0003862575960000041
S7、If v j,i =v j,1 or
Figure BDA0003862575960000042
S8、
Figure BDA0003862575960000043
S9、Else;
S10、For s u ∈S;
S11, calculating EEST (v) j,i′ );
S12、
Figure BDA0003862575960000044
S13、h j,i =u;
S14、c=c u
S15、If h j,i =-1;
S16, calculating h j,i
S17、
Figure BDA0003862575960000045
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′ ),
Figure BDA0003862575960000051
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
Figure BDA0003862575960000052
Output h j,i
Figure BDA0003862575960000053
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
S5、If
Figure BDA0003862575960000054
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
S10、Return h j,i
Figure BDA0003862575960000055
S11、For(i′,i)∈E j
S12、If v j,i′ ∈ETS and
Figure BDA0003862575960000061
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′ };
S17、
Figure BDA0003862575960000062
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;
S21、
Figure BDA0003862575960000063
s22, calling RefineScheduling
Figure BDA0003862575960000064
And 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 slave
Figure BDA0003862575960000065
Calculated 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 formula
Figure BDA0003862575960000071
Will 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 task
Figure BDA0003862575960000072
Is set to
Figure BDA0003862575960000073
In 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.
Further, the algorithm 4 inputs: s, G j ,h j,i
Figure BDA0003862575960000074
Output v j,i
Figure BDA0003862575960000075
The specific algorithm is as follows:
Figure BDA0003862575960000076
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 as
Figure BDA0003862575960000101
Application expiration date
Figure BDA0003862575960000102
Setting by mobile user, issuing application program a j Of a mobile device s u Is denoted by a j Is distributed to the server
Figure BDA0003862575960000103
I.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 as
Figure BDA0003862575960000111
For 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 data
Figure BDA0003862575960000112
Task of, then transmission time is
Figure BDA0003862575960000113
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 And
Figure BDA0003862575960000121
scheduling by default to application a j Is distributed to the server
Figure BDA0003862575960000122
For a task v j,i From v j,i Task to sink
Figure BDA0003862575960000123
All 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 time
Figure BDA0003862575960000124
And
Figure BDA0003862575960000125
before the application is released, the task cannot be started,
Figure BDA0003862575960000126
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:
Figure BDA0003862575960000127
since edge servers are assumed herein to be unary, any two non-virtual tasks on the same edge server (e.g., such as
Figure BDA0003862575960000128
And
Figure BDA0003862575960000129
) The execution times of (a) cannot be overlapped,
Figure BDA00038625759600001210
Figure BDA00038625759600001211
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:
Figure BDA00038625759600001212
obviously, the source task v j,1 Start time of
Figure BDA00038625759600001213
Is equal to
Figure BDA00038625759600001214
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,
Figure BDA0003862575960000131
application program a j The completion time of (c) is equal to the completion time of the sink task,
Figure BDA0003862575960000132
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,
Figure BDA0003862575960000133
Figure BDA0003862575960000134
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 be
Figure BDA0003862575960000135
Execution server h comprising tasks j,i And start time
Figure BDA0003862575960000136
All 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.
Algorithm 1 gives the pseudo code of the DCDS when the mobile application a j When the scheduling plan is generated, assuming that information of a task graph and a network is known, in order to reduce algorithm complexity, the DCDS is executed only once for each application, in line 1, an edge-only scheduling plan is generated on an edge server for an application program in an edge scheduling phase, if an overall deadline cannot be met, a cloud unloading phase is called to modify the scheduling plan in line 3, in lines 4-7, if the overall deadline is met, an application a j Will be accepted and schedule of application will be applied; otherwise, the application will be rejected and in line 8, the free slots on each edge server are updated accordingly.
Algorithm1: DCDS, inputs: g j
Figure BDA0003862575960000141
And (3) outputting: h is a total of j,i
Figure BDA0003862575960000142
1. Invoking Algorithm 2 to derive an edge-only Dispatch plan
Figure BDA0003862575960000143
2. If it is
Figure BDA0003862575960000144
3. Invoke algorithm 3 and modify the Dispatch plan
Figure BDA0003862575960000145
4. If it is
Figure BDA0003862575960000146
5. Receiving a j And use
Figure BDA0003862575960000147
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 sink
Figure BDA0003862575960000151
Of longest path of wherein
Figure BDA0003862575960000152
And
Figure BDA0003862575960000153
is the average execution time per unit workload and the average transmission delay per unit data.
Figure BDA0003862575960000154
Rank of the Sink task is defined as:
Figure BDA0003862575960000155
representing the longest way in the undirected graph.
From the rank of each task, the latest start time of the task can be calculated:
Figure BDA0003862575960000156
the earliest start time for each task is calculated before selecting the node to execute the task.
Figure BDA0003862575960000157
In formula (1.13), TF (v) j,i ) Is task v j,i Is the end time, calculated as shown in equation (1.14):
Figure BDA0003862575960000161
the insertion-based policy ESTfind is implemented by finding the earliest idle period after which the task can be accommodated:
Figure BDA0003862575960000162
wherein s is u L is the server s u A list of time slices of the time slice,
Figure BDA0003862575960000163
and
Figure BDA0003862575960000164
is 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.
Figure BDA0003862575960000165
Selecting a server s u To meet the latest start time of its successor program:
Figure BDA0003862575960000166
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:
Figure BDA0003862575960000167
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.
And 2, algorithm: edge scheduling, input: g j
Figure BDA0003862575960000171
And (3) outputting: h is j,i
Figure BDA0003862575960000172
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;
6.
Figure BDA0003862575960000173
7.If v j,i =v j,1 or
Figure BDA0003862575960000174
8.
Figure BDA0003862575960000175
9.Else;
10.For s u ∈S;
11. Calculate EEST (v) j,i′ );
12.If
Figure BDA0003862575960000176
13.h j,i =u;
14.c=c u
15.Ifh j,i =-1;
16. Calculate h j,i
17.
Figure BDA0003862575960000181
where u=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
Figure BDA0003862575960000182
And (3) outputting: h is a total of j,i
Figure BDA0003862575960000183
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
5.If
Figure BDA0003862575960000184
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
10.Return h j,i
Figure BDA0003862575960000185
11.For(i′,i)∈E j
12.If v j,i′ ∈ETS and
Figure BDA0003862575960000191
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′ };
17.
Figure BDA0003862575960000192
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;
21.
Figure BDA0003862575960000193
22. calling RefineSchduling
Figure BDA0003862575960000194
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:
Figure BDA0003862575960000201
wherein
Figure BDA0003862575960000202
Is the remaining execution time of the task on the cloud:
Figure BDA0003862575960000203
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
Figure BDA0003862575960000204
Figure BDA0003862575960000205
The redefinedanduling function shown in algorithm 4 is used to refine the task scheduling decision,
algorithm 4, inputs: s, G j ,h j,i
Figure BDA0003862575960000206
And (3) outputting: h is a total of j,i
Figure BDA0003862575960000207
Figure BDA0003862575960000208
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,
Figure BDA0003862575960000211
the Normalized Cost (NC) is the total execution cost of the accepted application divided by the total workload,
Figure BDA0003862575960000212
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
Figure FDA0003862575950000011
And (3) outputting: h is a total of j,i
Figure FDA0003862575950000012
The specific algorithm is as follows:
s1, calling an algorithm 2;
s2, obtaining the scheduling plan only limited to the edge
Figure FDA0003862575950000013
S3, if
Figure FDA0003862575950000014
S4, calling an algorithm 3;
S5、and modifying the Dispatch plan
Figure FDA0003862575950000015
S6, if
Figure FDA0003862575950000016
S7, reception of a j And use
Figure FDA0003862575950000017
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
Figure FDA0003862575950000021
And (3) outputting: h is a total of j,i
Figure FDA0003862575950000022
The specific algorithm is as follows:
s1, passing through formula
Figure FDA0003862575950000023
Calculating rank of each person;
s2, passing through formula
Figure FDA0003862575950000024
Calculating the latest starting time of each character;
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;
S6、
Figure FDA0003862575950000025
S7、
Figure FDA0003862575950000028
S8、
Figure FDA0003862575950000026
S9、Else;
S10、For s u ∈S;
S11, calculating EEST (v) j,i′ );
S12、
Figure FDA0003862575950000027
S13、h j,i =u;
S14、c=c u
S15、If h j,i =-1;
S16, calculating h j,i
S17、
Figure FDA0003862575950000031
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′ )
Figure FDA0003862575950000032
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
Figure FDA0003862575950000041
Output h j,i
Figure FDA0003862575950000042
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
S5、
Figure FDA0003862575950000043
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;
S10、Return h j,i
Figure FDA0003862575950000044
S11、For(i′,i)∈E j
S12、
Figure FDA0003862575950000045
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′ };
S17、
Figure FDA0003862575950000051
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;
S21、
Figure FDA0003862575950000052
s22, calling RefineScheduling
Figure FDA0003862575950000053
And 4, the RefineScheduling function is used for refining task scheduling decisions.
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 slave
Figure FDA0003862575950000057
Calculated 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 formula
Figure FDA0003862575950000054
Will 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 task
Figure FDA0003862575950000055
Is set to be
Figure FDA0003862575950000056
In 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.
9. The method of claim 8, wherein the method comprises: the algorithm 4 comprises the following input: s, G j ,h j,i
Figure FDA0003862575950000061
Output h j,i
Figure FDA0003862575950000062
The specific algorithm is as follows:
Figure FDA0003862575950000063
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.
CN202211168643.8A 2022-09-24 2022-09-24 Dependency task scheduling method for time constraint of edge calculation and application thereof Pending CN115617473A (en)

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)

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