Effects of Hard Real-Time Constraints in Implementing the Myopic Scheduling Algorithm

Similar documents
Scheduling in Multiprocessor System Using Genetic Algorithms

2002 Journal of Software

Authors Abugchem, F. (Fathi); Short, M. (Michael); Xu, D. (Donglai)

Simplified design flow for embedded systems

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #8: Task Assignment and Scheduling on Multiprocessor Systems

A Modified Maximum Urgency First Scheduling Algorithm for Real-Time Tasks

Survey of different Task Scheduling Algorithm

Introduction to Embedded Systems

REAL-TIME SCHEDULING OF SOFT PERIODIC TASKS ON MULTIPROCESSOR SYSTEMS: A FUZZY MODEL

A Fuzzy-based Multi-criteria Scheduler for Uniform Multiprocessor Real-time Systems

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems

Microkernel/OS and Real-Time Scheduling

Introduction to Real-Time Systems ECE 397-1

Real-time operating systems and scheduling

Scheduling Algorithms for Real-Time Systems

Homework index. Processing resource description. Goals for lecture. Communication resource description. Graph extensions. Problem definition

On-Line Scheduling Algorithm for Real-Time Multiprocessor Systems with ACO and EDF

Chapter 5: CPU Scheduling

Lecture 12: An Overview of Scheduling Theory

Exam Review TexPoint fonts used in EMF.

Controlled duplication for scheduling real-time precedence tasks on heterogeneous multiprocessors

Aperiodic Task Scheduling

Multiprocessor and Real- Time Scheduling. Chapter 10

A Categorization of Real-time Multiprocessor. Scheduling Problems and Algorithms

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

1.1 Explain the difference between fast computing and real-time computing.

Simulation of Priority Driven Algorithms to Schedule Real-Time Systems T.S.M.Priyanka a*, S.M.K.Chaitanya b

Computer Systems Assignment 4: Scheduling and I/O

Static Multiprocessor Scheduling of Periodic Real-Time Tasks with Precedence Constraints and Communication Costs

Performance Effects of Information Sharing in a Distributed Multiprocessor Real-Time Scheduler

CPU scheduling. Alternating sequence of CPU and I/O bursts. P a g e 31

Event-Driven Scheduling. (closely following Jane Liu s Book)

Multiprocessor and Real-Time Scheduling. Chapter 10

ECE519 Advanced Operating Systems

Partitioned Scheduling of P-FRP in Symmetric Homogenous Multiprocessors *

Real-Time Scheduling of Sensor-Based Control Systems

Fault tolerant scheduling in real time systems

A COMPARATIVE STUDY OF CPU SCHEDULING POLICIES IN OPERATING SYSTEMS

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!!

ENERGY EFFICIENT SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS WITH PRECEDENCE AND RESOURCE CONSTRAINTS

International Journal of Advanced Research in Computer Science and Software Engineering

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

A Scalable Scheduling Algorithm for Real-Time Distributed Systems

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Operating Systems ECE344. Ding Yuan

An Integration of Imprecise Computation Model and Real-Time Voltage and Frequency Scaling

Scheduling Real Time Parallel Structure on Cluster Computing with Possible Processor failures

A Binary Integer Linear Programming-Based Approach for Solving the Allocation Problem in Multiprocessor Partitioned Scheduling

CPU Scheduling: Part I ( 5, SGG) Operating Systems. Autumn CS4023

A Duplication Based List Scheduling Genetic Algorithm for Scheduling Task on Parallel Processors

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13

CS4514 Real Time Scheduling

Embedded Systems: OS

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

requests or displaying activities, hence they usually have soft deadlines, or no deadlines at all. Aperiodic tasks with hard deadlines are called spor

A Schedulability Analysis for Weakly Hard Real- Time Tasks in Partitioning Scheduling on Multiprocessor Systems

Comparison of Priority Queue algorithms for Hierarchical Scheduling Framework. Mikael Åsberg

Scheduling Multi-Periodic Mixed-Criticality DAGs on Multi-Core Architectures

arxiv: v2 [cs.ds] 22 Jun 2016

An Improved Priority Ceiling Protocol to Reduce Context Switches in Task Synchronization 1

Hardware/Software Partitioning and Scheduling of Embedded Systems

Fixed-Priority Multiprocessor Scheduling

DISTRIBUTED REAL-TIME SYSTEMS

An application-based EDF scheduler for OSEK/VDX

Multimedia Systems 2011/2012

ENERGY EFFICIENT SCHEDULING SIMULATOR FOR DISTRIBUTED REAL-TIME SYSTEMS

Scheduling Algorithm and Analysis

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi

Dual-Processor Design of Energy Efficient Fault-Tolerant System

Computer Science 4500 Operating Systems

τ τ τ τ τ τ τ τ τ τ τ

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

System-Level Synthesis of Application Specific Systems using A* Search and Generalized Force-Directed Heuristics

Time Triggered and Event Triggered; Off-line Scheduling

Comparison of Empirical Success Rates of Global vs. Partitioned Fixed-Priority and EDF Scheduling for Hard Real Time TR

Efficient Dynamic Multilevel Priority Task Scheduling For Wireless Sensor Networks

Chapter 9. Uniprocessor Scheduling

Overview of real-time scheduling problems

So far. Next: scheduling next process from Wait to Run. 1/31/08 CSE 30341: Operating Systems Principles

On Latency Management in Time-Shared Operating Systems *

APPROXIMATING A PARALLEL TASK SCHEDULE USING LONGEST PATH

Ch 4 : CPU scheduling

Handling Aperiodic Tasks in Diverse Real-Time Systems via Plug-Ins

Real-Time Scheduling in Distributed Environments

Task Management Techniques for Enforcing ED Scheduling on Periodic Task Set

An Improved Priority Dynamic Quantum Time Round-Robin Scheduling Algorithm

COSC243 Part 2: Operating Systems

7. Multimedia Operating System. Contents. 7.3 Resource Management. 7.4 Process Management. 7.2 Real Time Systems. 7.5 Prototype Systems. 7.

1.1 CPU I/O Burst Cycle

Multimedia-Systems. Operating Systems. Prof. Dr.-Ing. Ralf Steinmetz Prof. Dr. rer. nat. Max Mühlhäuser Prof. Dr.-Ing. Wolfgang Effelsberg

Linux (Fedora or Slackware) CPU Scheduling

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #9: More on Uniprocessor Scheduling

Network Load Balancing Methods: Experimental Comparisons and Improvement

Real-Time Architectures 2004/2005

3. CPU Scheduling. Operating System Concepts with Java 8th Edition Silberschatz, Galvin and Gagn

Temporal Protection in Real-Time Operating Systems. Abstract

QUT Digital Repository:

Transcription:

Effects of Hard Real-Time Constraints in Implementing the Myopic Scheduling Algorithm Abstract- Institute of Information Technology, University of Dhaka, Dhaka 1 muheymin@yahoo.com, K M. Sakib, M S. Hasan 1, and M A. Hossain 2 2 Department of Computing University of Bradford UK m.a.hossain1@bradford.ac.uk 1 Department of Computer Science & Engineering, University of Dhaka, Dhaka 1, shahidul_hasan@yahoo.com, Myopic is a hard real-time process scheduling algorithm that selects a suitable process based on a heuristic function from a subset (Window) of all ready processes instead of choosing from all available processes, like original heuristic scheduling algorithm. Performance of the algorithm significantly depends on the chosen heuristic function that assigns weight to different parameters like deadline, earliest starting time, processing time etc. and the size of the Window since it considers only k processes from n processes (where, k n ). This research evaluates the performance of the Myopic algorithm for different parameters to demonstrate the merits and constraints of the algorithm. A comparative performance of the impact of window size in implementing the Myopic algorithm is presented and discussed through a set of experiments. Keywords-Original scheduling algorithm, Myopic algorithm, window size, earliest starting time, processing time, deadline of a process, dispatch queue, heuristic function. I. INTRODUCTION This paper presents the constraints and impact of window size of Myopic scheduling algorithm for hard real-time system. Hard real-time systems are used in time critical applications like avionics, nuclear weapon control, robotics etc [1]. These systems must guarantee that all the processes are completed by their explicit deadlines [2]. If a process cannot meet its deadline, it is discarded. The target of these systems is to determine the best order of the processes so that all or most of the processes meet their deadlines. This requires an efficient scheduling algorithm, which can be performed in two ways statically and dynamically [3]. In static algorithms, the order of processes and the time they start execution can be determined in advance. Static algorithms are suitable for periodic tasks with hard deadlines [4], [5]. Dynamic algorithms deal with aperiodic processes, whose characteristics are not known a priori [5], [6]. When new tasks arrive, the scheduler selects the most suitable task without any knowledge of the previously scheduled tasks. Once a task has been selected, it is sent to the dispatch queue of the processor. A process is considered to be feasible if the scheduling satisfies its timing constraints and the schedule in which every task is feasible is called feasible schedule [7]. Preliminary work of this paper was published in proceedings of the 12 th Communication (ADCOM-24), Ahmedabad, India, December. 24. IEEE International Conference on Advanced Computing and

This investigation explores the original heuristic scheduling algorithm followed by Myopic scheduling algorithm. The impact of the window size, number of processes and processing time of the Myopic algorithm is explored through a set of experiments. A comparative performance of the impact of window size of the algorithm is evaluated to demonstrate the merits of different window sizes for hard real-time implementation. This paper is organized as follows. A task model is given in Section II, upon which algorithm performance is measured. Section II also illustrated the basic heuristic based scheduling algorithm and the Myopic algorithm. Section III described the simulation results for varying processes (1 to 1 processes) and for varying processing time (5-6 to 2-21 time units). Finally, the paper is concluded at Section IV. A. The Task Model II. ALGORITHMS Processes are considered to have the following properties [2] to evaluate the constraints and impacts: T G (Generation time): An absolute time when the process is generated or submitted. T P (Processing time): The worst case processing time from starting time of execution. T D (Deadline): An absolute time by which it must complete its execution. { T REQ} (Resource requirement vector): Resources can be requested exclusively or in shared mode. T (Earliest start time): An absolute time when a process can begin execution. It must meet the condition ( TD TP ) T TG. Tasks are aperiodic and non-preemptive. B. The Original Heuristic Scheduling The original heuristic scheduling algorithm starts with an empty schedule and adds processes one by one [2]. It chooses a process from the set of processes T, based on a heuristic function, which can consider any of the following formulas: ( ) ( ) H T = Min T D : The earliest deadline of all processes. H T = Min T P ): The process with the shortest processing time. H ( T ) = Min( T ): The earliest T carrying process. H ( T ) = Min( TD T TP ): The process with the shortest laxity time. H ( T ) = TD + W TP H T = T + W T ( ) D Here, W is a weight parameter that controls relative importance between T D and T P or T. The smaller T and D T P (or T ) a process has, the more priority it receives. So, the algorithm picks the process with the smallest H (heuristic) value to form the partial schedule. After choosing the first process the schedule becomes a partial schedule. Then the algorithm checks for the strong feasibility. Strong feasibility constraint is satisfied if all the processes in the partial schedule meet their deadlines or timing constraints [1], [2]. If it is not met then the algorithm can take any one of the following steps: The algorithm may abort It can backtrack and change the latest chosen process etc.

At each step the algorithm includes one process in the partial schedule. For n tasks set there will be n steps and in each step the algorithm will compute H for at best n processes. So, the complexity of the 2 algorithm is O n. ( ) C. Myopic Scheduling Algorithm The Myopic algorithm is explained with the following terms [2]: { Task _ remaining} : the tasks that have not been scheduled N R : the number of tasks in the set { Task _ remaining} K : Feasibility check window, the maximum number of tasks in { remaining} considered K : Actual number of tasks that are considered, { considered : the first N N K = Min( k, N R ). Task _ } K processes in the { remaining} The tasks in the { remaining} Task _ that will be Task _ that are considered. Task _ are always kept sorted by increasing order of deadlines, T D. Myopic algorithm works like the Original Heuristic Algorithm with the exception that it applies the heuristic and strong feasibility to only K (where K n ) processes instead of n processes. This algorithm is called Myopic because it is a shortsighted approach for decision-making [2]. There are n steps for including n processes and in each step it applies heuristic, strong feasibility to only K processes. So, the complexity becomes O ( Kn) [1], where K n. For small value of K () the scheduling operation executes faster. But since the algorithm considers only few processes to choose the best one, it exhibits worse performance. On the other hand, if it considers all the processes K = n then the scheduling operation executes slower and becomes the Original scheduling algorithm [2]. III. SIMULATION DETAILS AND RESULTS The Myopic algorithm is implemented on a high performance Pentium PC using C++ programming language, assuming the model as discrete time model. For a specific conditions or value of parameters, five observations were taken and presented. These conditions and parameters are described below: A. Choice of Heuristic Function Among the heuristic functions listed in section II B, H ( T ) = TD + W T considers all the required parameters: deadline, generation time, resource requirement etc. Therefore, this implementation used the heuristic function H ( T ) = TD + W T to judge the performance of the Myopic algorithm for various window sizes K [3] and different values of W under different load. B. Effect of W This parameter controls the relative weight of T and T. If W = then the heuristic becomes ( ) ( ) completely H T = Min T D or in other words, earliest deadline first (EDF) algorithm [8]. If, W is set to 1, then TD and T both have the same importance. For the purpose of simplicity, this investigation considered the cases W =.5 and W = 1.. D

C. Process Properties Processes in implementing Myopic algorithm are considered as Non-preemptive. Therefore, once a process enters the CPU for execution, no other process can preempt it. Processes are scheduled when the current process is completed. All the processes have random T, T, T and T values. Processing time is varied from 5 to 21 time units. D. range s in implementing the algorithm are considered for 2, 4, 6, 8, 1. 1 is not considered, because the Heuristic H ( T ) = TD + W T with window size 1 becomes completely EDF algorithm. E. Effect of Load This section presents the impact of due to variation of number of processes. To demonstrate the impact, loads of 2, 5 and 1 processes are used for the parameter W =.5 and W = 1.. The result obtained through a set of experiments is described below. Case 1: For 2 processes with processing time 1 to 11 time unit and laxity 1 time unit Figure 1(a) and 1(b) show the performance in implementing the Myopic algorithm for 2 processes with processing time 1 to 11 time unit and the value for W is.5 and 1. respectively. It is noted from the Figure 1(a) that the number of average completed processes increases slightly for larger window size. It may be due to the fact that for larger window the algorithm is capable of selecting more suitable process from the available processes. For window size 2, the choice for the process is very limited and most probably, for this reason, reading 2, 3, 4 and 5 show the same number of completed processes. A significant level of oscillation is also noted for D P G REQ No of completed process 6 5 4 3 2 1 Figure. 1(a). Performance in implementing Myopic algorithm for W=.5.

No of completed process 35 3 25 2 15 1 5 Figure. 1(b). Performance in implementing Myopic algorithm for W=1.. window size 6, which could be due to the random nature of the processes. From Figure 1(b), it is perceived that the number of completed processes is lower than the performance shown in Figure 1(a). In general, it is reflected from Figure 1(a) & 1(b) that the number of completed processes drops due to the impact of the higher priority of the processing time. It is also noted from Figure 1(b) that instead of oscillation the performance becomes constant at window size 6 and higher. Case 2: For 5 processes with processing time 1 to 11 time unit and Laxity 1 time unit Figure 2(a) and 2(b) depict the performance in implementing the Myopic algorithm for 5 processes with processing time 1 to 11 time unit and the value for W is.5 and 1. respectively. No of completed process 82 8 78 76 74 72 7 68 66 Widow size Figure. 2(a). Performance in implementing Myopic algorithm for W=.5.

No of completed process 82 8 78 76 74 72 7 Figure. 2(b). Performance in implementing Myopic algorithm for W=1.. It is noted in Figure 2(a) & 2(b) that the number of average completed processes gets higher with the larger window size with significant level of oscillations due to random nature of the processes. Figure 2(b) depicts similar level and trend of performance as Figure 2(a). Case 3: For 1 processes with processing time 1 to 11 time unit and Laxity 1 time Units Figure 3(a) and 3(b) show the performance in implementing the Myopic algorithm for 1 processes with processing time 1 to 11 time unit and the value for W is.5 and 1. respectively. It is observed in Figure 3(a) that three out of five observations show a significant level of oscillations for over 4. It is also noted that the oscillations are the result of equally likely processes and wider window. Figure 3(b) reflects the identical nature of the oscillation as shown in Figure 3(a), where the degree of oscillation is significant for higher. No of completed processes 182 18 178 176 174 172 17 168 Figure. 3(a). Performance in implementing Myopic algorithm for W=.5.

No of completed process 18 179 178 177 176 175 174 173 172 171 17 Figure. 3(b). Performance in implementing Myopic algorithm for W=1.. It can be perceived from the above three cases that the algorithm achieved best performance for higher number of processes and the performance increase for larger window sizes. It implies that the Original 2 algorithm should show the best performance. But since Original algorithm has higher complexity O ( n ) than that of Myopic O ( k n), it spends more time in selecting an appropriate process that can have a bad impact on scheduling processes of short duration. This issue has been explored in the following section. F. Effect of Processing Time This section presents the impact of due to variation of processing time. To demonstrate the impact, a load of 5 processes for 5 to 6 time unit and 2 to 21 processing time are used. These are described below. Case 1: For 5 processes with processing time 5 to 6 time unit and laxity 1 time Units Figure 4(a) and 4(b) show the performance of the Myopic algorithm for 5 processes with processing time 5 to 6 time unit and the value for W is.5 and 1. respectively. No of completed processes 3.5 3 2.5 2 1.5 1.5 Figure. 4(a). Performance in implementing Myopic algorithm for W=.5.

No of completed processes 3.5 3 2.5 2 1.5 1.5 Figure. 4(b). Performance in implementing Myopic algorithm for W=1.. In this case, the scheduling time dominates the processing time and more time is spent for scheduling rather than executing the processes. So, the number of completed processes drops to 3 in both cases W=.5 and W=1.. Since TP is small compared to scheduling time, the effect of T is insignificant in choosing a process. Figure 4(a) and 4(b) depict the same performance in terms of number of completed processes. Case 2: For 5 processes with processing time 2 to 21 time unit and laxity 1 time Units Figure 5(a) and 5(b) depict the performance in implementing the Myopic algorithm for 5 processes with processing time 2 to 21 time unit and the value for W is.5 and 1. respectively. Figure 5(a) shows that for longer processes duration, the performance (number of completed processes) is independent of window size. Similar level of performance is also observed in Figure 5(b), for larger value of W. Thus it is demonstrated that the value of W does not have any impact on performance for processes of higher processing time. Finally, it is observed from the above two cases that the algorithms achieved better performance for higher processing time without any impact of window size of the processes. 12 1 No of completed processes 8 6 4 2 Figure. 5(a). Performance in implementing Myopic algorithm for W=.5.

No of completed processes 12 1 8 6 4 2 Figure. 5(b). Performance in implementing Myopic algorithm for W=1.. IV. CONCLUSION This paper has presented the impact of the performance in implementing the Myopic algorithm for different s. A set of experiments have been performed to demonstrate the performance issues of the algorithm. It is noted that the window size plays a vital role on the performance of the Myopic algorithm, in particular, for processes of lower processing time. For relatively large number of processes and lower processing time, the algorithm achieved better performance and this increases further for larger. It is also noted that the algorithm achieved better performance for the higher processing time, without any impact of the window size. Finally, it is worth noting that the processing time and window size has a significant impact on the performance in implementing the Myopic algorithm even in a uniprocessor computing domain. REFERENCE [1] M. L. Dertouzos, and A. K. Mok, Multiprocessor On-Line Scheduling of Hard Real-Time Tasks, IEEE Transactions: Software Engineering, vol. 15, No. 12, 1989, pp. 1497-156. [2] E. Eggers, E., Dynamic Scheduling algorithms in Real Time, Multiprocessor Systems, Term paper 1998-99, EECS Department, Milwaukee School of Engineering, North Broadway, Milwaukee, WI, USA, 1999. [3] G. Manimaram, and C. S. Ram Murthy, An Efficient Dynamic Scheduling Algorithm for Multiprocessor Real-time Systems, IEEE Transactions on Parallel and Distributed Systems, vol. 9, No. 3, 1989, pp. 312-319. [4] K. Ramamritham, K., Allocation and Scheduling of Precedence-Related Periodic Tasks, IEEE Trans. Parallel and Distributed Systems, vol. 6, No. 4, 1995, pp. 412-42. [5] J. Xu, J. and L. Parnas, Scheduling Processes with Release Times,Deadlines, Precedence, and Exclusion Relations, IEEE Trans.Software Eng., vol. 16, No..3, 199. pp. 36-369, [6] K. Ramamritham, J. A. Stankovic, and P. F. Shiah, Efficient Scheduling Algorithms for Real-Time Multiprocessor Systems, IEEE Trans. Parallel and Distributed Systems, vol. 1, No. 2, 199, pp. 184-194. [7] A. Mahmood, "A Hybrid Genetic Algorithm for Task Scheduling in Multiprocessor Real-Time Systems", Journal of Studies in Informatics and Control, vol. 9, No. 3, 2. [8] C. L. Liu, and J. Layland, (1973), Scheduling Algorithms for Multiprogramming in A Hard Real-time Environment, Journal of ACM, vol. 2, No. 1, 1973, pp. 46-61.