EDF Feasibility Analysis of Accelerated Tasks

This paper presents an extension of EDF feasibility analysis for tasks that invoke accelerators. For embedded systems with hard real-time deadlines, it is important to be able to verify that all of the tasks will meet their deadlines. A missed deadline could result in catastrophic behaviour of the system. Hence the importance of feasibility analysis of schedules. The scheduling policy to be analyzed in this paper is the Earliest Deadline First (EDF) policy. It is important in the realtime community because it makes optimal use of the processor. Also, using the deadline as a task's priority is a more natural way to specify the importance of tasks. EDF feasibility analysis is usually based on processor demand. The deadlines are sorted in chronological order. At each deadline, the demand on the processor since the starting point is analyzed to see if it exceeds the available processor time. The goal of this work is to extend and verify the feasibility analysis for systems in which hardware accelerators are used to speed up critical sections of the application. When a task uses an accelerator, it temporarily transfers the task's execution to another processor (the accelerator) which means that the main processor is available for use by a task of lower priority (later deadline). So the purpose of the extended feasibility analysis is to take into account the temporary parallelization of execution. For this work, a way to represent tasks using accelerators was developed and a new type of critical section was also defined. The critical section is used to extend processor demand analysis to tasks that use an accelerator during execution.

[1]  Luciano Lavagno,et al.  Automatic Generation of a Real-Time Operating System for Embedded Systems , 1997, CODES.

[2]  Gert Goossens,et al.  Real-time multi-tasking in software synthesis for information processing systems , 1995 .

[3]  Giorgio C. Buttazzo,et al.  Rate Monotonic vs. EDF: Judgment Day , 2003, Real-Time Systems.

[4]  Aloysius K. Mok,et al.  Improvement in feasibility testing for real-time tasks , 1996, Real-Time Systems.

[5]  Kwei-Jay Lin,et al.  Dynamic priority ceilings: A concurrency control protocol for real-time systems , 1990, Real-Time Systems.

[6]  Giovanni De Micheli,et al.  Program implementation schemes for hardware-software systems , 1994, Computer.

[7]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[8]  Kang G. Shin,et al.  On the ability of establishing real-time channels in point-to-point packet-switched networks , 1994, IEEE Trans. Commun..

[9]  Wayne M. Loucks,et al.  Real-Time Kernel Support for Coprocessors: Empirical Study of an SoPC , 2003, Embedded Systems and Applications.

[10]  Hugo De Man,et al.  Real-time multi-tasking in software synthesis for information processing systems , 1995, Proceedings of the Eighth International Symposium on System Synthesis.

[11]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[12]  Roman Gumzej,et al.  An approach to modeling and verification of real-time systems , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.