In Real Time System, the achievement of deadline is the main target of every scheduling algorithm. Earliest Deadline First (EDF), Rate Monotonic (RM), and least Laxity First are some renowned algorithms that work well in their own context. As we know, there is a very common problem Domino's effect in EDF that is generated due to overloading condition (EDF is not working well in overloading situation). Similarly, performance of RM is degraded in underloading condition. We can say that both algorithms are complements of each other. Deadline missing in both events happens because of their utilization bounding strategy. Therefore, in this paper we are proposing a new scheduling algorithm that carries through the drawback of both existing algorithms. Joint EDF-RM scheduling algorithm is implemented in global scheduler that permits task migration mechanism in between processors in the system. In order to check the improved behavior of proposed algorithm we perform simulation. Results are achieved and evaluated in terms of Success Ratio (SR), Average CPU Utilization (ECU), Failure Ratio (FR), and Maximum Tardiness parameters. In the end, the results are compared with the existing (EDF, RM, and D_R_EDF) algorithms. It has been shown that the proposed algorithm performs better during overloading condition as well in underloading condition.
Real Time Distributed System is a distributed system with real time properties. We can say that RTDS is a combination of RTS and distributed system (Figure
Real time distributed system.
RTS is a system in which execution of tasks has some time restrictions (deadline) [
EDF, RM, and Least Laxity First are some basic scheduling algorithms that execute real time tasks on the basis of their deadline, interarrival period, tardiness, and so forth. Every scheduling algorithm is having some drawbacks, for example, EDF is not functioning well in overloading condition and RM in underloading condition [
Distributed system is an arrangement of several processors/nodes followed by some interconnection topologies. The distribution of load to various processors increases the performance of the entire system. In DS, on the basis of nodes utilization load is balanced in between processors [
Moreover, Tasks in a distributed system are assigned to processors by using the following schedulers (Figure
Distributed system scheduling.
In this paper we have explained a new joint EDF-RM scheduling algorithm which behaves optimally in both circumstances (underloading as well as overloading). Here, the utilization bound of RM is used to boundary limit of the global queue instead of processors real time job assignment in distributed system (using global scheduler); real time task execution on allotted processors of distributed system (including task migration).
Reason behind using RM utilization bound is to safeguard our system from overloading condition. Additionally, in order to deal dynamically with tasks the EDF scheduling algorithm is implemented. Load balancing in RTDS is availed by using the global scheduler because task migration is permissible in this scheduler.
The remainder of the paper is organized as follows. Existing real time scheduling algorithms have been discussed in Section
Before moving towards the next section, let us have a glance on the symbols that are utilized in the entire composition. Table
Symbols and definitions.
Symbols | Definition |
---|---|
|
Task-set |
|
Task arrival time |
|
Interarrival period of task |
|
Task deadline |
|
Per task utilization |
|
Task priority |
|
Task |
|
Per processor utilization |
|
Processor upper bound |
|
Efficient processor utilization |
|
Success Ratio |
|
Failure Ratio |
|
Migration ratio |
|
Average number of preemptions |
|
Boundary limit of global task queue |
TST | Total time of scheduling |
|
Tardiness of given task |
Before giving the elucidation of our proposed work we would like to enlighten scheduling algorithms associated with our work. This paper uses RM and EDF scheduling algorithms together and tries to resolve the downside of EDF (Domino’s effect) and RM as well. As we know that in distributed system load balancing is an important issue. Hence, proposed algorithm also amplifies the working capability in overloading or underloading situations. These above stated two situations (loading conditions) are checked by recalculations of per task/processor utilization.
Tasks having real time properties and scheduled on RTS are real time tasks. Scheduling is done by two types of scheduler modules.
Let us consider that
RTS works with dynamic as well as static tasks. The EDF scheduling algorithm works well with dynamic and RM schedule static tasks efficiently. We are dealing with RTDS in this paper; therefore we consider the case of overloading in each case.
EDF is a dynamic scheduler that follows the principle: the nearer the deadline the higher the priority of task [
Before assigning the priorities to the task, scheduler first checks the acceptance test by inspecting the utilization value of task as well as processor. Here task-set
Let us consider the following examples that explain the behavior of EDF in overloading case in both single and multiple processors (distributed computing).
As we have mentioned in Algorithm
Arrival time, wcet, period, and deadline of tasks
Tasks | Estimate arrival time | Computation time (wcet) | Period | Deadline |
|
---|---|---|---|---|---|
|
0 | 1 | 3 | 3 | 0.33 |
|
1 | 2 | 5 | 5 | 0.4 |
|
3 | 1.8 | 4 | 4 | 0.45 |
BEGIN (1) (2) (3) (4) (5) END
BEGIN (1) (2) (3) on given processor (4) (5) END
BEGIN (1) (2) (3) task is schedulable and assign (4) END
BEGIN (1) (2) (3) assign (4) (5) END
EDF scheduling on single processor.
In case of distributed system, overloaded processor can migrate the victim task to other processors (destination processor) [
According to Table
Arrival time, wcet, period, deadline, and node for assignment of tasks
Tasks | Arrival time | Computation time (wcet) | Period | Deadline |
|
Processor |
---|---|---|---|---|---|---|
|
0 | 1 | 3 | 3 | 0.33 |
|
|
1 | 2 | 5 | 5 | 0.4 |
|
|
3 | 1.8 | 4 | 4 | 0.45 |
|
|
5 | 3 | 6 | 6 | 0.5 |
|
|
1 | 0.5 | 2 | 2 | 0.25 |
|
|
2 | 2 | 4 | 4 | 0.5 |
|
EDF scheduling algorithm in RTDS.
RM scheduling algorithm comes under static scheduler (static priority) and follows the principle: the shorter the interarrival period the higher the priority of task [
Before assigning the priorities to the task, scheduler first checks the acceptance test by inspecting the utilization value of task as well as processor. For this algorithm
Now next is the implementation of RM scheduling algorithm on the data of Table
The upper bound of RM represents schedulability bound of the number of tasks, and as
In addition, in case of RM, tasks having the least priority miss the deadline due to preemption of higher priority tasks in overloading case, since RM assigns priorities statically (priority of task will not change throughout the execution process) on the basis of
Shows some values of
Number of tasks
|
Tasks |
|
|
|
Comparison of
|
Conclusion |
---|---|---|---|---|---|---|
1 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
3 |
|
|
|
|
|
|
RM scheduling on single processor.
As we have computed that arrival of 3rd task exceeds the range of
The main motive behind the derivation of these two scheduling algorithms is Domino’s effect problem of EDF that is created only in overloading condition. We keep in our mind that we should not let the processor shoot in such a way that causes Domino’s effect.
The D_O_EDF scheduling algorithm assigns static priorities 0 and 1 to jobs (Figure
Real time tasks frame format according to D_O_EDF scheduling algorithm.
The D_R_EDF scheduling algorithm is an amalgamation of both dynamic and static scheduling algorithms, that is, EDF and RM (Figure
D_R_EDF scheduling algorithm flowchart.
This proposed algorithm is a combination of RM and EDF scheduling algorithms. As we knows in RM the upper bound of processor is computed by
The second scheduling algorithm EDF is working for the execution of assigned tasks on a particular processor. The positive side of using global scheduler is permitted to task migration in between processors. Figure
Proposed Joint EDF-RM scheduling algorithm is divided into following three modules: maintenance of global task queue execution of assigned tasks on allotted processors migration of tasks in between processors if needed (if overloading alarm generates).
Following Algorithm
( ( ( ( ( ( ( (
( (
( ( (
( ( ( ( ( (
( ( (
System assumed here is loosely coupled distributed system in which all processors share identical architecture (homogeneous RTDS). Threshold limit of each processor is fixed and in order to execute the tasks, the Earliest Deadline First (EDF) scheduling is employed by every processor. In given system all tasks are independent and their
In Figure
Architecture of proposed algorithm.
Migration scenario in proposed algorithm.
As the queue behaves on the basis of first in first out, tasks are randomly assigned to processors. Each processor executes tasks by using an EDF scheduling algorithm. Small change we have done in this existing algorithm is migration threshold limit. This migration threshold limit decides the migration of task from given processor. In Figure
If the upper bound of global task queue is
Given set of
We are taking three cases in order to proof given theorem
In this case there are more chances of overloading on every processor.
Here only those tasks are allowed to enter in a global task queue whose
If tasks in a queue are waiting for an assignment and the arrival of new task increases the boundary limit by 1, then all upcoming tasks will not be allowed for admission:
In this case (
This case gives a guarantee of schedulability of every task. Equations (
Tasks having
According to RM scheduling, every task is schedulable if its
In order to evaluate our proposed scheduling algorithm we have used Eclipse Java EE IDE. The operation of the proposed study is measured by calculating the Average CPU Utilization, Success Ratio, Failure Ratio, and Maximum Tardiness. The simulation is done with more than 26000 transactions on 10 processors of RTDS, but in simulation results we have mentioned transactions up to 2100. Before making the demonstration of calculating simulation results, let us discuss those parameters that determine the performance of joint EDF-RM scheduling algorithm with some existing algorithms (EDF, RM, D_O_EDF, and D_R_EDF).
It is defined as
In Figure
Average CPU Utilization versus number of transactions on 8 and 10 processors.
Consider
Meeting with the deadline is very imperative for all real time tasks; therefore we have computed success ratio that tells the percentage of successful implementation of tasks from total transactions.
After simulating thousands of tasks, we find that EDF, RM and D_R_EDF scheduling algorithms’ Success ratio can vary however we sometimes find that our proposed algorithm has a higher Success Ratio than the existing algorithms (Figure
Number of transactions versus Success Ratio on 3, 5, 8, and 10 Processors.
Consider
This parameter computes the other side of coin, that is, percentage of those tasks which are unable to meet the deadline. Missing deadline is also a big task in front of all algorithms (Figure
Number of transactions versus Failure Ratio on 3, 5, 8 and 10 processors.
As we know, tardiness is the lateness occurring in tasks execution; that is,
While missing a deadline, we have computed the time after which task successfully executes. Figure
Number of transactions versus Maximum Tardiness on 8 and 10 processors.
Proposed scheduling algorithm is the combination of EDF and RM scheduling algorithms that rise above the overloading problem of any processor. We have set the threshold limit 0.81 that generates alarm for the migration of upcoming tasks because overloading on task is restricted. We simulate this work for homogeneous system; in the future we will implement it on heterogeneous arrangement. One main problem occurs when running tasks are preempted by higher priority new tasks because running tasks miss the deadline. Hence, in future we will work on preemption technique of scheduling algorithms with fault tolerant techniques.
The authors declare that there is no conflict of interests regarding the publication of this paper.