Task Priority Optimization in Real-Time Multi-Core Embedded Systems

Size: px
Start display at page:

Download "Task Priority Optimization in Real-Time Multi-Core Embedded Systems"

Transcription

1 Task Priority Optimization in Real-Time Multi-Core Embedded Systems Erjola Lalo, Michael Deubzer, Stefan Schmidhuber, Erna Oklapi, Jürgen Mottok, Ostbayerische Technische Hochschule (OTH) Regensburg, Las 3 -Laboratory for Safe and Secure Systems, Faculty of Electrical Engineering and Information Technology, Seybothstraße 2, Regensburg, Germany, {erjola.lalo, erna.oklapi, stefan.schmidhuber, juergen.mottok}@oth-regensburg.de Timing-Architects Embedded Systems GmbH Bruderwöhrdstr. 15b, Regensburg, Germany michael.deubzer@timing-architects.com Abstract The shift from single-core to multi-core processors in real-time embedded systems leads to communication based effects on timing such as inter-core communication delays and blocking times. Moreover, the complexity of the scheduling problem increases when multi-core processors are used. In priority-based-scheduling, a fixed priority assignment is used in order to enable predictable behavior of the system. Predictability means that the system has to be analyzable which allows the detection of problems coming from scheduling decisions. For fixed priority scheduling in multi-core real-time embedded systems, a proper task priority assignment has to be done in a way that the system has minimal effects on timing. In this paper, we present an approach for finding near-optimal solutions for task priority assignment and the preemption/cooperation problem. A genetic algorithm is hereby used to create priority assignment solutions. A timing simulator is used for evaluation of each solution regarding real-time properties, memory consumption and communication overhead. In a case study we demonstrate that the proposed approach performs better than well known and single-core optimal heuristics for relatively complex systems. Index Terms priority optimization; priority assignment; embedded systems; genetic algorithms; multi-core; multi-core scheduling; I. INTRODUCTION A real-time embedded system functions correctly if and only if computational results are correct and produced in time [2]. Deadlines are hereby defined for the system s tasks to quantify to what extent computational results are produced in time. A deadline represents the upper limit for the response time of a task, which calculates as the difference between its starting time and finishing time. In order to ensure that the tasks meet their deadlines, the multi-core scheduling problem has to be solved [1]. A. Problem Definition The multi-core scheduling problem deals with the question where 1 and in which order the tasks should execute. In this work, we only deal with the latter question. Due to the fact that a real-time multi-core system has to be predictable, fixed priority scheduling is used in this work. Predictability means 1 When using partitioned scheduling, tasks have to be mapped to cores that the system should be analyzable to predict consequences of any scheduling decision. This paper deals with priority optimization of tasks in fixed priority scheduling with the goal to fulfill the aforementioned timing constraints as good as possible. We hereby consider both preemptive and cooperative scheduling in multi-core processors. In preemptive scheduling, a ready task with higher priority can preempt a running task with lower priority at any time during execution. In cooperative scheduling, tasks do not preempt each other at any time during execution. They instead preempt each other at re-scheduling points where re-scheduling decisions are taken by scheduler. The decision where a scheduling point is positioned inside a task is assumed to be decided by the developer, whereas this decision is often motivated by data consistency needs. The task prioritization approach provided in this paper is applicable as well in single core processors. In systems with simple task sets, the prioritization of tasks is simplified but for complex systems with multiple types of tasks running concurrently on a multi-core processor, it is important to consider every possible effect. More information regarding different types of tasks is provided in Section II-C of this paper. In the following, a formal definition of an embedded system is given. Definition 1: A real time embedded system S = (δ, γ, β, σ) consists of a task set δ, a processing unit γ, system resources β and a set of schedulers σ, where δ is the tasks set of cardinality n where T j is the j th task, with j = 1 n. A task is considered any subdivided part of the overall system according to its real time requirements. It serves as a framework for execution of functions. Each task consists of a finite sequence of identical activities or jobs called instances. Let J be the set of instances J j,i of task T j, with i = 1 p. J j,i then denotes the i th instance of the j th task. γ processing unit which consists of a set of processors γ m, with m = 1 r. Each processor consists of a set

2 of cores α = {C m,1, C m,2,, C m,k, C m,k+1,, C m,p }, with k = 1 p. Without loss of generality we assume a homogeneous multi-core processor. β = {B 1, B 2,, B l, B l+1,, B q } is the set of shared resources available in the system, with l = 1 q. σ is the set of schedulers in the system. Schedulers are considered to be local or global. In local scheduling there are local priority queues for each processing element. Whereas in global scheduling there is only one global priority queue for each processing element [18] [4]. In multi-core systems, task response times can be affected as a result of task interference due to access to common resources. For example, two tasks T 1 and T 2, which are running on different cores, can delay one or another because of exclusive hold of a semaphore. Thus, task T 1 is delayed or blocked for execution because of waiting for the release of the semaphore hold by task T 2. In such circumstance the response time of task T 1 increases due to the waiting time. In the worst case, the increased response time could lead to a deadline violation. Another possible impact on timing is enforced migration, where tasks are divided into parts which execute on different cores in a fixed order. Besides the additional scheduling overhead, a near-optimal priority has to be found which has to be applicable to each core the individual task parts are running on. In this paper, we consider a system without possible enforced migrations of tasks. We will however consider it in our future work. Other core-communication based effects result from interprocess activations. Inter-process activation means a task is activated through events by other tasks and is considered in this work. The activation of the inter-process activated tasks depends not only on the activation pattern itself but also on possible delays and blocking effect of the activating tasks, even across cores. B. Motivation In the following paragraph, we show three practical scenarios when a near-optimal prioritization of tasks is sufficient and necessary. 1) Minimization of Response time Minimization of response time (RT) is achieved through avoidance of any possible task delays. Delays can occur because of preemptive and cooperative task suspensions. Hence, a task T j δ is delayed as a result of activity of another task T j+1 δ. Assume the priority for task T j is higher than the priority of task T j+1 and both tasks are running on the same core. Task T j+1 delays while T j is running on the core. Therefore, RT j+1 increases. Minimization of response time of each task can improve the impact to each other and latencies are prevented. In extreme cases, long delays can cause timing constraint violations. Figure 1 shows the simulation results of a dual core system composed by two preemptive tasks: T ASK_1 and T ASK_2. The priority of T ASK_1 is lower than of T ASK_2. Hereby, T ASK_1 is delayed because of T ASK_2. Figure 1. Task delay and effects on response time In addition, delays of tasks can occur because of concurrent access to shared resources. A long delay because of waiting for access to shared resources can cause timing constraint violations. 2) Minimization of Timing Constraints Violations In Section I-A, the effects of common access to shared resources in multi-core processors have been introduced. In worst cases as a result of concurrent accesses, tasks can remain in a waiting state until a deadline violation occurs. Figure 2 shows the simulation result of dual core system. T ASK_1 and T ASK_2 are running on different cores and both request semaphore SEM_1. T ASK_2 first gets the lock on the semaphore and T ASK_1 falls in a waiting state at t = 12, 125 us and cannot continue executing until the semaphore is released at t = 12, 375 us. As a result a deadline violation of T ASK_1 occurs. Figure 2. Deadline Violations In addition, T ASK_4 which runs on the same core as T ASK_2 misses its deadline. The priority of T ASK_4 is lower than of T ASK_2 and it cannot preempt T ASK_1. We see that the effects because of waiting for the semaphore effects as well the execution behavior of T ASK_4. 3) Task Switching Overhead Minimization A task can be preempted often during execution time because of higher priority tasks. More precicely, a chain of preemptions can occur. Task T j δ is preempted by T j+1 ; T j+1 is later preempted by T j+2, which is then preempted by T j+3 and so on. In all preemptions, the operating system has to save the context stack of each task. Task switching overhead results in a time overhead and in an increase of the memory size. Figure 3 shows simulation results of a system that has high preemption overhead as a result of a bad priority assignment. In this paper we present a model-based approach for task priority optimization. The system is abstracted in a model,

3 Figure 3. Hierarchical Preemption and Overhead which is thoroughly described in the next section. Subsequently, in section III, we present the priority optimization approach itself. Moreover, in the case study we show a complex system where the presented prioritization approach performs better than known heuristics. II. SYSTEM MODEL In this section we provide a description of the real time embedded system in which priority optimization is applied. Here, the system description is expanded with more details regarding the types of tasks and categorization. Moreover, the system is abstracted in a model which is described in the following subsection. A. Timing Model The Timing Model describes all information regarding an embedded real-time system which is necessary to perform a timing simulation [17]. It consists of a description of hardware and software components, as well as configuration or mapping information. The Hardware model includes information regarding processors, cores, quartzes and memory modules. The Software model contains detailed information about processes (tasks and ISRs), runnables and signals. Signals represent the data that is read and written by the smallest unit within tasks which are called runnables. Runnables represent a software module that consists of instructions, write / read signals and calls to other runnables. Regarding scheduling, the timing model keeps information of task properties such as priority, preemptability and MTA (maximum number of concurrent instances of this task). The Operating System model includes the list of schedulers, the used scheduling algorithms, which cores they manage and the list of semaphores present in the system. In the Stimulation section, information regarding the activation pattern of tasks and ISRs are defined by stimuli. A Stimulus is a trigger that activates processes for execution. The following stimulus types are possible: periodic, sporadic, inter-process activated and single stimulus. Additional clocks allow the modification of the activation during simulation. Mapping information includes information regarding mapping of processes to schedulers and stimuli to processes. B. Properties of Tasks Each instance or job J j,i of each task is characterized by the tuple (E j,i, R j,i, D j,i, O j,i, P j,i ) Hereupon, instance J j,i has: 1) Computation Time, i.e. Net Execution Time E j,i ; 2) Period R j,i is the distance between activation of one instance of the task J j,i to the activation of the next instance J j,i+1. 3) Deadline D j,i is the time line before which the task has to finish execution; 4) Offset O j,i is the activation time of the first instance; 5) Priority P j,i is a value which the scheduler decides which task may execute first. The priority is the same for each instance of a task T j ; A real time task T j is characterized by timing constraints and computational parameters. Timing constraint refers to changeless properties of the task that must be met in order to have the desired execution behavior of a task. A very important timing constraint is deadline. Computational parameters refer to evaluation parameters used to evaluate if the requirements are hold. Computational Parameters consist of metrics for evaluation of timing results of each task and other entities of the system. Metric is an indicator or a measurement over a specific property to determine whether one particular requirement is met. The response time RT i of a task instance i for example is the time between the activation time and the termination time. It measures the whole life cycle of a process instance. Every interference resulting in a longer execution time or delay of the start influences this time [5]. C. Task Categorization Chategorization of tasks is done based on different attributes. - Regarding Activation Regarding the type of activation tasks are categorized as following: 1) Period Tasks are tasks with regular activation. Each instance J j,i of a task T j is activated with a period R i. In other words, the period of each instance is equal. 2) Sporadic Tasks are tasks with irregular activation. The activation is sporadic. In sporadic tasks the period is the minimal inter arrival time between two successive jobs; Hence, the period of each instance J j,i of a task T j can result different. 3) Chained Tasks are tasks activated through events by other tasks. The activation of chained task is dependent on the activation of the activating task. 4) Single Tasks are tasks activated a single time in a specific time slice. They can be multiple activation through multiple singled activated in a specific time. - Regarding Offset [16] Based on offset tasks are characterized in three type sets: 1) Synchronous Sets are groups of tasks with the same offset e.g. offset 0. 2) Asynchronous Sets are groups of tasks where constraints of the system determine the offset. They can be different or same for different tasks within the system. 3) Offset Free Sets have no constraints on offset and tasks are selected by scheduling algorithm for execution.

4 - Regarding Dependency Based on dependency tasks are categorized in 2 groups: 1) Dependent tasks are tasks that share common data or access to common resources. Task dependencies can be in two types: a) Sequential Dependency In this case tasks need results from other tasks in order to execute or continue executing. For example, task T j writes a signal and task T j+1 needs to read it after it is written by T j. Hence, task T j+1 necessarily has to execute after the signal was been written. b) Resource Dependency This dependency is possible in case of accesses to shared resources in exclusive mode. These resources are called critical resources / not preemptive sections e.g. semaphores, devices and certain data structures. 2) Independent tasks. Tasks have no dependencies. D. Evaluation In this work, for evaluation of solutions we use the eventbased simulator of TA Toolsuite [5]. It simulates a timing model and stores task state transitions events such as activate, start and terminate in a trace file with respective timestamps. By applying statistical estimator to the simulation trace, metrics like the response times of tasks can be calculated. Compared to response time analysis evaluation, the simulation is more feasible for complex system. The system we are focusing on is not a pure classified system, but a complex system with different execution times and activation patterns which would require highly sophisticated response time analysis. To the best of our knowledge, such a solution is not yet available for the systems we consider. III. PRIORITY OPTIMIZATION In this section, we thoroughly discuss the proposed priority optimization approach. A. Introduction Priority Optimization in this paper is based on a complex embedded system as previously described in Section II. We identified the following requirements for task prioritization: 1) No restrictions should exist in types of tasks regarding activation, offset and dependency. All type of tasks described in section II-C can be present in the system. 2) After assignment of priorities, the system should be still schedulable in the sense that no timing constraint violations occur and response time is minimized. 3) In a multi-core environment any possible inter-core effect has to be handled. 4) Besides task priority optimization, the algorithm has to find a near-optimal preemption and cooperation level between tasks. Definition 1: Prioritization of each task T j ɛδ of the system S is the function problem ζ : (P j, G j ) T j of near-optimal assignment of a scalar value called priority P j to each instance J i,j of task T j and grouping of tasks with prioritization G j for defining preemption / cooperation level in an way that no violations on timing constraints such as deadline occur; the system meets timing requirements and it responds fast and in time accordingly to the real time system specification [2]. Concentrating all of above for a complex system in one algorithm is a very tough task. Inspired by the requirements of the system and the feasibility of evolutionary algorithms used so far in priority optimization [13] [12], the prioritization optimization is solved through genetic algorithms. Other algorithms we know concerning task prioritization are heuristics and algorithms based on schedulability tests. We have seen that heuristics do not work always for systems with dependent tasks and algorithms based on schedulabilty tests require computationally expensive calculations and response time analysis. In section III-D we present the genetic algorithm in more detail. B. State-of-the-Art In 1973 Liu and Layland et al. [6] showed that Rate Monotonic Priority Assignment (RMPA) is optimal for independent synchronous tasks that share a common release time and have an implicit deadline. In 1982, Leung et al. [8] showed that Deadline Monotonic Priority Assignment (DMPA) is optimal for independent synchronous tasks with constrained deadlines. These heuristics are optimal for uniprocessor systems and in a periodic task set. No other optimal heuristic and algorithm was available for asynchronous task set until Audsley et al. [7] devised an optimal algorithm in Audsley?s algorithm was optimal for independent asynchronous task sets with arbitrary deadlines and arbitrary start time that share a critical instant [6]. Audsley?s Algorithm for Priority Assignment (OPA) assigns priorities according to a schedulability test. In 1991, Davis et al. [9] showed that OPA is applicable in multiprocessor case using fixed task priority preemptive scheduling. They show also that DMPA appears to have a poor performance in multiprocessor case. The system model that Davis and Burns define has periodic and aperiodic tasks. Tasks are independent and all the tasks are assumed to have constrained deadlines. M. A. Moncusi et al. [15] proposes an offline heuristic for allocating and assigning priorities in distributed hard real time systems with independent tasks that have an end to end deadline. In 2007 R.I. Davis et al. [10] proposes a priority assignment for fixed priority real time systems. They describe a robust priority assignment algorithm that finds the robust priority assignment with wide range of system models and interference functions. In 2009, S. Samii et al. [12] introduced an evolutionary algorithm for task priorities and flex ray frame identifiers. They assign priorities based on the study of average response time. In 2011, E. Azketa et al. [13] proposed a genetic algorithm for priority assignment for

5 tasks and messages in distributed hard real time systems. All algorithms above consider a system with independent task set. In 2012 Nemati [11] proposed a generalized version of OPA that considered shared resources with simple schedulability tests and applicable also in multiprocessor case. C. Priority Optimization Framework In our approach, the optimization algorithm considers a system with its properties and not-assigned attributes, requirements and configurations. In the end the algorithm produces several solutions of the system with assigned attributes. System Properties includes system information which is considered to be intrinsic property of the system. That means that these properties are not changed during optimization, instead they serve as input information. System Attributes includes entity properties of the system that can be set or changed by the optimization algorithm. Attributes are priorities of tasks, task grouping for defining preemption and cooperation level. Requirements include all requirement that have to be fulfilled by the algorithm for providing an acceptable prioritization. Such requirements for example are: minimization of response time for tasks of system S, for a task T j ɛδ the response time has to fulfill the condition RT j D j. Moreover, the minimization of multi-core effects, i.e. memory requirement or communication delays are possible. Evaluation is the process of evaluating the quality of produced solution.it measures to what extent the requirements are fulfilled. D. Genetic Algorithm In genetic algorithms a set of solutions called the population is used to sample the exploration space. In our approach a solutions is a set of tasks with their attributes: priorities, task grouping, and metrics for timing evaluation. One population, as in real evolution, is inherited or varied from one generation to another one. Best solutions searched in each generation are ensured through a process called fitness survival of individuals. Fitness is a scalar value that measures the quality of solutions. The first set of solutions considered as a start population of Genetic Algorithm is called initial population. The genetic algorithm used in this work is an extension of genetic algorithm of S. Schmidhuber in his Task Allocation Optimization work[3]. Genetic Algorithm runs through the following steps: Create Initial Population Initial population is created through uniform random generation of priorities for each task. A good initial population is a population with a variety of characteristics and differences between solutions. Evaluation It is the process of assignment of fitness to all solutions. Selection It is a process that selects the solutions that pass the best fitness condition. Variation Variation is used in order to create new solutions in each generation. It is performed by Crossover and Mutation. They play different roles in the genetic algorithm. Mutation is needed to explore new states through avoidance of local minima. Crossover increases the average quality of the population [14]. 1- Crossover Crossover combines attributes of two or more individuals for creating new solutions. In priority genetic algorithm we use single cut point crossover operator. The operator selects a random cutting point in two parents; it combines information of two parents by producing two children with inherited genes from both parents. 2- Mutation Mutation modifies the attributes of existing solutions to create new solutions. In this work, we use several mutation operators introduced in [14]. The purpose of implementation of several mutation operators is to experiment and evaluate the best operator for task prioritization. E. Variation Appliance In general mutation is applied to produce children of crossover at the same step as crossover. The order on which both mutation and crossover is applied is chosen to be first crossover and then mutation. While crossover improves the quality of solutions and trying to find the best solution it tends to shrink the exploration area. Theoretically, it comes a point when crossover cannot find any better solution. At this point applying mutation for increasing the exploration space gives the possibility to apply crossover in the next coming generations to find other good solutions. IV. CASE STUDY The goal of this case study is to show the effectiveness of the priority optimization algorithm proposed in this paper. Therefore, we optimize priorities and preemptions/cooperations of an artificial embedded real-time system. It consists of a symmetric dual core processor where each core operates with a clock frequency of 600 Mhz. The system consists of 9 tasks where 7 tasks are activated periodically, one task is inter-process activated and one task is activated sporadically modeled by a Weibull distribution. The tasks are scheduled by two schedulers which manage one core each. We assume that each scheduler invocation leads to a scheduling decision delay of 100ns. The optimization goal is to minimize response times (mnrt metric). With an upper bound of 1 for the mnrt metric, the fitness of a solution equals the respective mnrt metric is 1. A solution with fitness 1 indicates a deadline violation. In Table I are listed task properties of the engine management system such as offset O i, deadline D i, recurrence R i, net execution time E i as well as the activation type T. The tasks exchange 10 data signals in total and T ask2 and T ask6 share the semaphore Sem_1. Schedulers Sched_1 and Sched_2 manage core C_1 and C_2, respectively. Tasks T ask1, T ask2, T ask3, T ask4 are scheduled by Sched_1 whereas tasks T ask5, T ask6, T ask7, T ask8 and T ask9 are

6 Table I TASK PROPERTIES Task O i [ms] D i [ms] R i [ms] E i [ms] T 1 T ask E T ask P T ask P T ask P T ask P T ask P T ask P T ask P T ask /146/ S 1 Task activation type: E - IPA Event, P - Periodic, S - Sporadic Weibull 2 Respective to Min/Avg/Max scheduled by Sched_2. Priority optimization algorithm is configured in the following way: The initial population consists of 100 solutions and 50 parent solutions are selected to create 50 offspring solutions in every subsequent generation. The algorithm has been configured to stop after 100 generations. For creating offspring solutions, the IVM mutation operator and the single cut point crossover operator was used. The mutation rate was set to 30%, whereas the crossover rate was set to 70%. Each solution has been simulated with version of the simulator TA Toolsuite. Hereby a simulation time of 10s was used. After the optimization run, we compared the best solution produced by priority optimization against heuristics. Figure 4 shows the comparison of normalized Response Time for each task of Priority Genetic Algorithm (PGA), the DMPA as well as the RMPA heuristic. Priorities assigned by DMPA lead to a deadline violation for T ask8. Deadline violations also occur for T ask6 and T ask9 when using the RMPA heuristic for priority assignment. In contrary to that, the best solution from priority genetic algorithm does not lead to deadline violations and task response times are minimized in general which leads to a minimized mnrt for the overall system. Figure 5 shows the fitness of the best solution provided by priority genetic algorithms and the fitness of DMPA and RMPA heuristics. For the embedded system used in this casestudy, the comparison induces that priority genetic algorithm performs better than heuristics. The performance of heuristics heavily depends on the system under evaluation. As a result, heuristics may perform equal to priority genetic algorithm for some systems. V. CONCLUSION In this work, we presented a model based approach for priority optimization of real-time tasks in fixed-priority scheduling. We showed that for complex systems with dependent tasks, the genetic algorithm finds better solutions then the DMPA and RMPA heuristics. For such systems, the heuristics can no longer yield optimal priority assignments. The genetic Figure 4. Comparison of the normalized Response Time for each task with assigned priorities according to Priority Genetic Algorithm, DMPA and RMPA heuristic Figure 5. Comparison of fitness value between priority genetic algorithm, deadline and rate monotonic heuristics algorithm minimizes task response times and therefore the mnrt of the overall system. It is important to say that the performance of heuristics is strongly dependent on the type and complexity of the system. Future research in that field will include the improvement of the optimization of preemptive and cooperative suspensions between tasks with the aim of further improving task response times. Moreover, we will also consider split tasks with partial execution on different cores through enforced migration events. Our aim hereby is to find a near-optimal priority for split tasks in a way that priority doesn t change during migration. REFERENCES [1] R. I. Davis and A. Burns, Improved priority assignment for global fixed priority pre-emptive scheduling in multiprocessor real-time systems, Real-Time Syst., vol. 47, no. 1, pp. 1-40, Sep

7 [2] G. Buttazzo, Hard real-time computing systems: predictable scheduling algorithms and applications, 2005 [3] S. Schmidhuber, M. Deubzer, and J. Mottok. Genetic Optimization of Real-Time Multicore Systems with respect to Communication-Based Metrics. In Proceedings of the 2nd Applied Research Conference, ISBN , pages SHAKER Verlag, June [4] M. Deubzer, Robust Scheduling of Real-Time Applications on Efficient Embedded Multicore Systems, [5] Timing-Architects, TA Toolsuite Version TA Academic and Research License Program, [6] C. L. L. J.W.Layland, Scheduling Algorithms for Multiprogramming in a Hard- Real-Time Environment Scheduling Algorithms for Multiprogramming, no. 1, pp. 46?61, [7] N. C. Audsley, Optimal Priority Assignment and Feasibility of static priority tasks with arbitrary start times, no. November, [8] J. Y. T. L. and J.Whitehead, On the complexity of fixedpriority scheduling of periodic real-time tasks. [9] M. R. Systems, R. I. Davis, and A. Burns, Priority Assignment for Global Fixed Priority Pre-emptive Scheduling in, [10] R. I. Davis and a. Burns, Robust Priority Assignment for Fixed Priority Real-Time Systems, 28th IEEE Int. Real-Time Syst. Symp. (RTSS 2007), vol. 2, pp. 3?14, Dec [11] F. Nemati, Resource Sharing in Real-Time Systems on Multiprocessors, [12] S. Samii, Y. Yin, Z. Peng, P. Eles, and Y. Zhang, Immune Genetic Algorithms for Optimization of Task Priorities and FlexRay Frame Identifiers, th IEEE Int. Conf. Embed. Real-Time Comput. Syst. Appl., pp. 486?493, Aug [13] J. J. Guti, M. Marcos, E. Azketa, and J. P. Uribe, Permutational genetic algorithm for the optimized assignment of priorities to tasks and messages in distributed real-time systems, [14] P. L. Naga, R. H. Murga, I. Inza, and S. Dizdarevic, Genetic Algorithms for the Travelling Salesman Problem: A Review of Representations and Operators, no. Holland 1975, pp , [15] M. A. Moncusi and J. M. Banus, A new heuristic algorithm to assign priorities and resources to tasks with end-to-end deadlines. [16] R. I. Davis and A. Burns, A Survey of Hard Real-Time Scheduling for Multiprocessor Systems, vol. 1, no , [17] E. Lalo, Task Priority Optimization in Multi-Core Embedded Systems, Regensburg, [18] U. D. E. Nice, S. Antipolis, L. Torres, and L. Torres, Energyaware Scheduling for Multiprocessor Real-time Systems, 2011.

Predictable response times in event-driven real-time systems

Predictable response times in event-driven real-time systems Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es

More information

Lecture 3 Theoretical Foundations of RTOS

Lecture 3 Theoretical Foundations of RTOS CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)

More information

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline

More information

Real-Time Scheduling 1 / 39

Real-Time Scheduling 1 / 39 Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A

More information

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS 174: Scheduling Systems Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 Timing Analysis in Networked Measurement Control Systems 1 2 Introduction to Scheduling Systems 2 3 Scheduling Theory

More information

Partition Scheduling in APEX Runtime Environment for Embedded Avionics Software

Partition Scheduling in APEX Runtime Environment for Embedded Avionics Software Partition Scheduling in APEX Runtime Environment for Embedded Avionics Software Yang-Hang Lee CISE Department, University of Florida Gainesville, FL 32611 Phone: (352) 392-1536 Fax: (352) 392-1220 Email:

More information

Scheduling Imprecise Tasks in Real-Time Distributed Systems

Scheduling Imprecise Tasks in Real-Time Distributed Systems Scheduling Imprecise Tasks in Real-Time Distributed Systems Rômulo Silva de Oliveira, Joni da Silva Fraga and Jean-Marie Farines Universidade Federal de Santa Catarina LCMI-DAS-UFSC, Caixa Postal 476 Florianópolis-SC,

More information

Modular Real-Time Linux

Modular Real-Time Linux Modular Real-Time Linux Shinpei Kato Department of Information and Computer Science, Keio University 3-14-1 Hiyoshi, Kohoku, Yokohama, Japan shinpei@ny.ics.keio.ac.jp Nobuyuki Yamasaki Department of Information

More information

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010 Real-Time Software Basic Scheduling and Response-Time Analysis René Rydhof Hansen 21. september 2010 TSW (2010e) (Lecture 05) Real-Time Software 21. september 2010 1 / 28 Last Time Time in a real-time

More information

Soft Real-Time Task Response Time Prediction in Dynamic Embedded Systems

Soft Real-Time Task Response Time Prediction in Dynamic Embedded Systems Soft Real-Time Task Response Time Prediction in Dynamic Embedded Systems Cássia Yuri Tatibana, Carlos Montez and Rômulo Silva de Oliveira Universidade Federal de Santa Catarina, Pós-Graduação em Engenharia

More information

Scheduling Sporadic Tasks with Shared Resources in Hard-Real-Time Systems

Scheduling Sporadic Tasks with Shared Resources in Hard-Real-Time Systems Scheduling Sporadic Tasks with Shared Resources in Hard-Real- Systems Kevin Jeffay * University of North Carolina at Chapel Hill Department of Computer Science Chapel Hill, NC 27599-3175 jeffay@cs.unc.edu

More information

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,

More information

HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1. Department of Computer Science, University of York, York, YO1 5DD, England.

HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1. Department of Computer Science, University of York, York, YO1 5DD, England. HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1 N C Audsley A Burns M F Richardson A J Wellings Department of Computer Science, University of York, York, YO1 5DD, England ABSTRACT The scheduling

More information

Real Time Scheduling Basic Concepts. Radek Pelánek

Real Time Scheduling Basic Concepts. Radek Pelánek Real Time Scheduling Basic Concepts Radek Pelánek Basic Elements Model of RT System abstraction focus only on timing constraints idealization (e.g., zero switching time) Basic Elements Basic Notions task

More information

REAL TIME OPERATING SYSTEMS. Lesson-10:

REAL TIME OPERATING SYSTEMS. Lesson-10: REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after

More information

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems Carsten Emde Open Source Automation Development Lab (OSADL) eg Aichhalder Str. 39, 78713 Schramberg, Germany C.Emde@osadl.org

More information

CPU Scheduling Outline

CPU Scheduling Outline CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different

More information

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2014 年 11 月 19 日 These slides use Microsoft clip arts. Microsoft copyright

More information

Lec. 7: Real-Time Scheduling

Lec. 7: Real-Time Scheduling Lec. 7: Real-Time Scheduling Part 1: Fixed Priority Assignment Vijay Raghunathan ECE568/CS590/ECE495/CS490 Spring 2011 Reading List: RM Scheduling 2 [Balarin98] F. Balarin, L. Lavagno, P. Murthy, and A.

More information

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and

More information

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server Gerhard Fohler, Tomas Lennvall Mälardalen University Västeras, Sweden gfr, tlv @mdh.se Giorgio

More information

The simple case: Cyclic execution

The simple case: Cyclic execution The simple case: Cyclic execution SCHEDULING PERIODIC TASKS Repeat a set of aperiodic tasks at a specific rate (cycle) 1 2 Periodic tasks Periodic tasks (the simplified case) Scheduled to run Arrival time

More information

N. Audsley. A. Burns Department of Computer Science, University of York, UK. ABSTRACT

N. Audsley. A. Burns Department of Computer Science, University of York, UK. ABSTRACT REAL-TIME SYSTEM SCHEDULING N Audsley A Burns Department of Computer Science, University of York, UK ABSTRACT Recent results in the application of scheduling theory to dependable real-time systems are

More information

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example Real-Time Scheduling (Part 1) (Working Draft) Insup Lee Department of Computer and Information Science School of Engineering and Applied Science University of Pennsylvania www.cis.upenn.edu/~lee/ CIS 41,

More information

Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/

Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/ Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching

More information

4. Fixed-Priority Scheduling

4. Fixed-Priority Scheduling Simple workload model 4. Fixed-Priority Scheduling Credits to A. Burns and A. Wellings The application is assumed to consist of a fixed set of tasks All tasks are periodic with known periods This defines

More information

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1 Module 6 Embedded System Software Version 2 EE IIT, Kharagpur 1 Lesson 30 Real-Time Task Scheduling Part 2 Version 2 EE IIT, Kharagpur 2 Specific Instructional Objectives At the end of this lesson, the

More information

Global Multiprocessor Real-Time Scheduling as a Constraint Satisfaction Problem

Global Multiprocessor Real-Time Scheduling as a Constraint Satisfaction Problem Global Multiprocessor Real-Time Scheduling as a Constraint Satisfaction Problem Liliana Cucu-Grosean & Olivier Buffet INRIA Nancy Grand-Est 615 rue du Jardin Botanique 54600 Villers-lès-Nancy, France firstname.lastname@loria.fr

More information

!! #!! %! #! & ((() +, %,. /000 1 (( / 2 (( 3 45 (

!! #!! %! #! & ((() +, %,. /000 1 (( / 2 (( 3 45 ( !! #!! %! #! & ((() +, %,. /000 1 (( / 2 (( 3 45 ( 6 100 IEEE TRANSACTIONS ON COMPUTERS, VOL. 49, NO. 2, FEBRUARY 2000 Replica Determinism and Flexible Scheduling in Hard Real-Time Dependable Systems Stefan

More information

Performance Comparison of RTOS

Performance Comparison of RTOS Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile

More information

A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis

A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis Mark Stanovich Florida State University, USA Contents 1 Introduction 2 2 Scheduling Theory 3 2.1 Workload

More information

CPU Scheduling. CPU Scheduling

CPU Scheduling. CPU Scheduling CPU Scheduling Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling

More information

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into

More information

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1 Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional

More information

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run

More information

Operating Systems, 6 th ed. Test Bank Chapter 7

Operating Systems, 6 th ed. Test Bank Chapter 7 True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one

More information

Comparison of Service Call Implementations in an AUTOSAR Multi-core OS

Comparison of Service Call Implementations in an AUTOSAR Multi-core OS Comparison of Service Call Implementations in an AUTOSAR Multi-core OS Christian Bradatsch, Florian Kluge, Theo Ungerer Systems and Networking Department of Computer Science University of Augsburg Augsburg,

More information

An Empirical Study and Analysis of the Dynamic Load Balancing Techniques Used in Parallel Computing Systems

An Empirical Study and Analysis of the Dynamic Load Balancing Techniques Used in Parallel Computing Systems An Empirical Study and Analysis of the Dynamic Load Balancing Techniques Used in Parallel Computing Systems Ardhendu Mandal and Subhas Chandra Pal Department of Computer Science and Application, University

More information

Embedded Systems. 6. Real-Time Operating Systems

Embedded Systems. 6. Real-Time Operating Systems Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration 1 Harish H G, 2 Dr. R Girisha 1 PG Student, 2 Professor, Department of CSE, PESCE Mandya (An Autonomous Institution under

More information

ICS 143 - Principles of Operating Systems

ICS 143 - Principles of Operating Systems ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian nalini@ics.uci.edu Note that some slides are adapted from course text slides 2008 Silberschatz. Some

More information

Quantum Support for Multiprocessor Pfair Scheduling in Linux

Quantum Support for Multiprocessor Pfair Scheduling in Linux Quantum Support for Multiprocessor fair Scheduling in Linux John M. Calandrino and James H. Anderson Department of Computer Science, The University of North Carolina at Chapel Hill Abstract This paper

More information

Resource Synchronization in Hierarchically Scheduled Real-Time Systems using Preemptive Critical Sections

Resource Synchronization in Hierarchically Scheduled Real-Time Systems using Preemptive Critical Sections 2014 IEEE 17th International Symposium on Object/Component-Oriented Real-Time Distributed Computing Resource Synchronization in Hierarchically Scheduled Real-Time Systems using Preemptive Critical Sections

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Gerhard Fohler Mälardalen University, Sweden gerhard.fohler@mdh.se Real-Time Systems Gerhard Fohler 2005 Non Periodic Tasks So far periodic events and tasks what about others?

More information

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches /3. 2012/13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches /3. 2012/13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1 Common approaches /1 3. Scheduling issues Clock-driven (time-driven) scheduling Scheduling decisions are made beforehand (off line) and carried out at predefined time instants The time instants normally

More information

Integrating job parallelism in real-time scheduling theory

Integrating job parallelism in real-time scheduling theory Integrating job parallelism in real-time scheduling theory Sébastien Collette Liliana Cucu Joël Goossens Abstract We investigate the global scheduling of sporadic, implicit deadline, real-time task systems

More information

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010. Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:

More information

SOFTWARE VERIFICATION RESEARCH CENTRE THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT. No. 02-19. Real-Time Scheduling Theory

SOFTWARE VERIFICATION RESEARCH CENTRE THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT. No. 02-19. Real-Time Scheduling Theory SOFTWARE VERIFICATION RESEARCH CENTRE THE UNIVERSITY OF QUEENSLAND Queensland 4072 Australia TECHNICAL REPORT No. 02-19 Real-Time Scheduling Theory C. J. Fidge April 2002 Phone: +61 7 3365 1003 Fax: +61

More information

Priority-Driven Scheduling

Priority-Driven Scheduling Priority-Driven Scheduling Advantages of Priority-Driven Scheduling Priority-driven scheduling is easy to implement. It does not require the information on the release times and execution times of the

More information

Commonly Used Approaches to Real-Time Scheduling

Commonly Used Approaches to Real-Time Scheduling Integre Technical Publishing Co., Inc. Liu January 13, 2000 8:46 a.m. chap4 page 60 C H A P T E R 4 Commonly Used Approaches to Real-Time Scheduling This chapter provides a brief overview of three commonly

More information

Exercises : Real-time Scheduling analysis

Exercises : Real-time Scheduling analysis Exercises : Real-time Scheduling analysis Frank Singhoff University of Brest June 2013 Exercise 1 : Fixed priority scheduling and Rate Monotonic priority assignment Given a set of tasks defined by the

More information

Effective Scheduling Algorithm and Scheduler Implementation for use with Time-Triggered Co-operative Architecture

Effective Scheduling Algorithm and Scheduler Implementation for use with Time-Triggered Co-operative Architecture http://dx.doi.org/10.5755/j01.eee.20.6.7282 ELEKTRONIKA IR ELEKTROTECHNIKA, ISSN 1392 1215, VOL. 20, NO. 6, 2014 Effective Scheduling Algorithm and Scheduler Implementation for use with Time-Triggered

More information

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods

More information

Master thesis. Title: Real-Time Scheduling methods for High Performance Signal Processing Applications on Multicore platform

Master thesis. Title: Real-Time Scheduling methods for High Performance Signal Processing Applications on Multicore platform Master thesis School of Information Science, Computer and Electrical Engineering Master report, IDE 1260, August 2012 Subject: Master s Thesis in Embedded and Intelligent Systems Title: Real-Time Scheduling

More information

Operating System: Scheduling

Operating System: Scheduling Process Management Operating System: Scheduling OS maintains a data structure for each process called Process Control Block (PCB) Information associated with each PCB: Process state: e.g. ready, or waiting

More information

OPERATING SYSTEMS SCHEDULING

OPERATING SYSTEMS SCHEDULING OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform

More information

A Study on the Application of Existing Load Balancing Algorithms for Large, Dynamic, Heterogeneous Distributed Systems

A Study on the Application of Existing Load Balancing Algorithms for Large, Dynamic, Heterogeneous Distributed Systems A Study on the Application of Existing Load Balancing Algorithms for Large, Dynamic, Heterogeneous Distributed Systems RUPAM MUKHOPADHYAY, DIBYAJYOTI GHOSH AND NANDINI MUKHERJEE Department of Computer

More information

Multi-service Load Balancing in a Heterogeneous Network with Vertical Handover

Multi-service Load Balancing in a Heterogeneous Network with Vertical Handover 1 Multi-service Load Balancing in a Heterogeneous Network with Vertical Handover Jie Xu, Member, IEEE, Yuming Jiang, Member, IEEE, and Andrew Perkis, Member, IEEE Abstract In this paper we investigate

More information

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons Today Intro to real-time scheduling Cyclic executives Scheduling tables Frames Frame size constraints Generating schedules Non-independent tasks Pros and cons Real-Time Systems The correctness of a real-time

More information

Real Time Programming: Concepts

Real Time Programming: Concepts Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize

More information

Partitioned EDF Scheduling for Multiprocessors using a C=D Scheme

Partitioned EDF Scheduling for Multiprocessors using a C=D Scheme Partitioned EDF Scheduling for Multiprocessors using a C=D Scheme A. Burns, R.I. Davis, P. Wang and F. Zhang Department of Computer Science, University of York, UK. Abstract An EDF-based task-splitting

More information

MANY complex distributed embedded systems with time

MANY complex distributed embedded systems with time IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS 1 Optimizing the Software Architecture for Extensibility in Hard Real-Time Distributed Systems Qi Zhu, Yang Yang, Marco Di Natale, Eelco Scholte, and Alberto

More information

A Clone-Pair Approach for the Determination of the Itinerary of Imprecise Mobile Agents with Firm Deadlines

A Clone-Pair Approach for the Determination of the Itinerary of Imprecise Mobile Agents with Firm Deadlines A Clone-Pair Approach for the Determination of the Itinerary of Imprecise Mobile Agents with Firm Deadlines Luciana Rech, Carlos Montez and Rômulo de Oliveira Department of Automation and Systems Engineering

More information

Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors

Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors Martin Niemeier École Polytechnique Fédérale de Lausanne Discrete Optimization Group Lausanne, Switzerland martin.niemeier@epfl.ch

More information

REAL TIME OPERATING SYSTEMS. Lesson-18:

REAL TIME OPERATING SYSTEMS. Lesson-18: REAL TIME OPERATING SYSTEMS Lesson-18: Round Robin Time Slicing of tasks of equal priorities 1 1. Common scheduling models 2 Common scheduling models Cooperative Scheduling of ready tasks in a circular

More information

Numerical Research on Distributed Genetic Algorithm with Redundant

Numerical Research on Distributed Genetic Algorithm with Redundant Numerical Research on Distributed Genetic Algorithm with Redundant Binary Number 1 Sayori Seto, 2 Akinori Kanasugi 1,2 Graduate School of Engineering, Tokyo Denki University, Japan 10kme41@ms.dendai.ac.jp,

More information

Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems

Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems Ingo Sander ingo@kth.se Liu: Chapter 7 IL2212 Embedded Software 1 Outline l System Model and Assumptions l Scheduling Aperiodic Jobs l

More information

Real-Time Monitoring Framework for Parallel Processes

Real-Time Monitoring Framework for Parallel Processes International Journal of scientific research and management (IJSRM) Volume 3 Issue 6 Pages 3134-3138 2015 \ Website: www.ijsrm.in ISSN (e): 2321-3418 Real-Time Monitoring Framework for Parallel Processes

More information

CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER

CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER To provide the transparency of the system the user space is implemented in software as Scheduler. Given the sketch of the architecture, a low overhead scheduler

More information

Enhancing the Monitoring of Real-Time Performance in Linux

Enhancing the Monitoring of Real-Time Performance in Linux Master of Science Thesis Enhancing the Monitoring of Real-Time Performance in Linux Author: Nima Asadi nai10001@student.mdh.se Supervisor: Mehrdad Saadatmand mehrdad.saadatmand@mdh.se Examiner: Mikael

More information

Design Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ

Design Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ Design Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ Rodrigo Gonçalves, Rômulo Silva de Oliveira, Carlos Montez LCMI Depto. de Automação e Sistemas Univ. Fed. de

More information

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 06 Basics of Real-Time Task Scheduling Let us get started.

More information

Replication on Virtual Machines

Replication on Virtual Machines Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism

More information

An Approach to Load Balancing In Cloud Computing

An Approach to Load Balancing In Cloud Computing An Approach to Load Balancing In Cloud Computing Radha Ramani Malladi Visiting Faculty, Martins Academy, Bangalore, India ABSTRACT: Cloud computing is a structured model that defines computing services,

More information

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm Journal of Al-Nahrain University Vol.15 (2), June, 2012, pp.161-168 Science Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm Manal F. Younis Computer Department, College

More information

Analysis and Simulation of Scheduling Techniques for Real-Time Embedded Multi-core Architectures

Analysis and Simulation of Scheduling Techniques for Real-Time Embedded Multi-core Architectures Institute of Software Technology Department of Programming Languages and Compilers University of Stuttgart Universitätsstraße 38 D 70569 Stuttgart Master Thesis Nr. 3578 Analysis and Simulation of Scheduling

More information

SYSTEM ecos Embedded Configurable Operating System

SYSTEM ecos Embedded Configurable Operating System BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original

More information

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2 Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2 Lecture Outline Scheduling periodic tasks The rate monotonic algorithm Definition Non-optimality Time-demand analysis...

More information

Database Replication with Oracle 11g and MS SQL Server 2008

Database Replication with Oracle 11g and MS SQL Server 2008 Database Replication with Oracle 11g and MS SQL Server 2008 Flavio Bolfing Software and Systems University of Applied Sciences Chur, Switzerland www.hsr.ch/mse Abstract Database replication is used widely

More information

TIME PREDICTABLE CPU AND DMA SHARED MEMORY ACCESS

TIME PREDICTABLE CPU AND DMA SHARED MEMORY ACCESS TIME PREDICTABLE CPU AND DMA SHARED MEMORY ACCESS Christof Pitter Institute of Computer Engineering Vienna University of Technology, Austria cpitter@mail.tuwien.ac.at Martin Schoeberl Institute of Computer

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Efficient overloading techniques for primary-backup scheduling in real-time systems

Efficient overloading techniques for primary-backup scheduling in real-time systems ARTICLE IN PRESS J. Parallel Distrib. Comput. 64 (24) 629 648 Efficient overloading techniques for primary-backup scheduling in real-time systems R. Al-Omari, a, Arun K. Somani, b and G. Manimaran b, *

More information

Introduction to Scheduling Theory

Introduction to Scheduling Theory Introduction to Scheduling Theory Arnaud Legrand Laboratoire Informatique et Distribution IMAG CNRS, France arnaud.legrand@imag.fr November 8, 2004 1/ 26 Outline 1 Task graphs from outer space 2 Scheduling

More information

Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading

Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading Announcements Reading Chapter 5 Chapter 7 (Monday or Wednesday) Basic Concepts CPU I/O burst cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution What are the

More information

Chapter 5 Process Scheduling

Chapter 5 Process Scheduling Chapter 5 Process Scheduling CPU Scheduling Objective: Basic Scheduling Concepts CPU Scheduling Algorithms Why Multiprogramming? Maximize CPU/Resources Utilization (Based on Some Criteria) CPU Scheduling

More information

System Software and TinyAUTOSAR

System Software and TinyAUTOSAR System Software and TinyAUTOSAR Florian Kluge University of Augsburg, Germany parmerasa Dissemination Event, Barcelona, 2014-09-23 Overview parmerasa System Architecture Library RTE Implementations TinyIMA

More information

Real-Time Task Scheduling for Energy-Aware Embedded Systems 1

Real-Time Task Scheduling for Energy-Aware Embedded Systems 1 Real-Time Task Scheduling for Energy-Aware Embedded Systems 1 Vishnu Swaminathan and Krishnendu Chakrabarty Dept. of Electrical & Computer Engineering Duke University Durham, NC 27708 fvishnus,krishg@ee.duke.edu

More information

Efficient Scheduling of Sporadic, Aperiodic, and Periodic Tasks with Complex Constraints

Efficient Scheduling of Sporadic, Aperiodic, and Periodic Tasks with Complex Constraints Efficient Scheduling of Sporadic, Aperiodic, and Periodic Tasks with Complex Constraints Damir Isović and Gerhard Fohler Department of Computer Engineering Mälardalen University, Sweden dic,gfr@mdh.se

More information

Ada Real-Time Services and Virtualization

Ada Real-Time Services and Virtualization Ada Real-Time Services and Virtualization Juan Zamorano, Ángel Esquinas, Juan A. de la Puente Universidad Politécnica de Madrid, Spain jzamora,aesquina@datsi.fi.upm.es, jpuente@dit.upm.es Abstract Virtualization

More information

MAXIMIZING RESTORABLE THROUGHPUT IN MPLS NETWORKS

MAXIMIZING RESTORABLE THROUGHPUT IN MPLS NETWORKS MAXIMIZING RESTORABLE THROUGHPUT IN MPLS NETWORKS 1 M.LAKSHMI, 2 N.LAKSHMI 1 Assitant Professor, Dept.of.Computer science, MCC college.pattukottai. 2 Research Scholar, Dept.of.Computer science, MCC college.pattukottai.

More information

Scheduling Real-time Tasks: Algorithms and Complexity

Scheduling Real-time Tasks: Algorithms and Complexity Scheduling Real-time Tasks: Algorithms and Complexity Sanjoy Baruah The University of North Carolina at Chapel Hill Email: baruah@cs.unc.edu Joël Goossens Université Libre de Bruxelles Email: joel.goossens@ulb.ac.be

More information

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables

More information

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

More information

Chapter 5 Linux Load Balancing Mechanisms

Chapter 5 Linux Load Balancing Mechanisms Chapter 5 Linux Load Balancing Mechanisms Load balancing mechanisms in multiprocessor systems have two compatible objectives. One is to prevent processors from being idle while others processors still

More information

RESEARCH PAPER International Journal of Recent Trends in Engineering, Vol 1, No. 1, May 2009

RESEARCH PAPER International Journal of Recent Trends in Engineering, Vol 1, No. 1, May 2009 An Algorithm for Dynamic Load Balancing in Distributed Systems with Multiple Supporting Nodes by Exploiting the Interrupt Service Parveen Jain 1, Daya Gupta 2 1,2 Delhi College of Engineering, New Delhi,

More information

Completely Fair Scheduler and its tuning 1

Completely Fair Scheduler and its tuning 1 Completely Fair Scheduler and its tuning 1 Jacek Kobus and Rafał Szklarski 1 Introduction The introduction of a new, the so called completely fair scheduler (CFS) to the Linux kernel 2.6.23 (October 2007)

More information

A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster

A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster Acta Technica Jaurinensis Vol. 3. No. 1. 010 A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster G. Molnárka, N. Varjasi Széchenyi István University Győr, Hungary, H-906

More information

Multi-core real-time scheduling

Multi-core real-time scheduling Multi-core real-time scheduling Credits: Anne-Marie Déplanche, Irccyn, Nantes (many slides come from her presentation at ETR, Brest, September 2011) 1 Multi-core real-time scheduling! Introduction: problem

More information