Results 1 - 10
of
12
The Case for Fair Multiprocessor Scheduling
- In Proceedings of the 11th International Workshop on Parallel and Distributed Real-time Systems
, 2002
"... Partitioning and global scheduling are two approaches for scheduling real-time tasks on multiprocessors. Though partitioning is sub-optimal it has traditionally been preferred; this is mainly due to the fact that well-understood uniprocessor scheduling algorithms can be used on each processor. In re ..."
Abstract
-
Cited by 28 (9 self)
- Add to MetaCart
Partitioning and global scheduling are two approaches for scheduling real-time tasks on multiprocessors. Though partitioning is sub-optimal it has traditionally been preferred; this is mainly due to the fact that well-understood uniprocessor scheduling algorithms can be used on each processor. In recent years, global scheduling algorithms based on the concept of "proportionate fairness" (Pfairness)have received considerabl attention. Pfairal)[[2#3) are of interest because they are currentl the onl known method for optimal) schedul13 periodic, sporadic, and "rate-based" task systems on mul6[]2 cessors. In addition, there has been growing practical interest in schedul32 with fairness guarantees. However, the frequency of context switching and migration in Pfair-scheduls systems has l) to some questions concerning the practicalR y of Pfair schedul#6) In this paper, we investigate this issue by comparing the PD Pfairalir)2B1 to the EDF-FF partitioning scheme, which uses "first fit" (FF)as a partitioning heuristic and theearlBB):[B2B1)l first (EDF)al):R3R# for per-processor schedul1): We present experimental resul) that show that is competitive with, and in some cases outperforms, EDF-FF. These resulL suggest that Pfair schedulR) is aviabl all1):R] e to partitioning. Furthermore, as discussed herein, Pfair scheduling provides many additional benefits, such assimpl and efficient synchronization, temporal isolL1]): faul tol1]):R6 and support for dynamic tasks.
On the Implementation of Pfair-scheduled Multiprocessor Systems
, 2004
"... The goal of this dissertation is to extend the Pfair scheduling approach in order to enable its efficient implementation on a real-time multiprocessor. At present, Pfair scheduling is the only known means for optimally scheduling recurrent real-time tasks on multiprocessors. In
addition, there has b ..."
Abstract
-
Cited by 23 (12 self)
- Add to MetaCart
The goal of this dissertation is to extend the Pfair scheduling approach in order to enable its efficient implementation on a real-time multiprocessor. At present, Pfair scheduling is the only known means for optimally scheduling recurrent real-time tasks on multiprocessors. In
addition, there has been growing practical interest in such approaches due to their fairness
guarantees. Unfortunately, prior work in this area has considered only the scheduling of
independent tasks, which do not communicate with each other or share resources. The work
presented herein focuses both on adding support for these actions and also on developing
techniques for reducing various forms of implementation overhead, including that produced
by task migrations and context switches. The thesis of this dissertation is:
tasks can be efficiently synchronized in Pfair-scheduled systems and overhead due
to common system events, such as context switches and migrations, can be reduced.
This thesis is established through research in three areas. First, the pre-existing Pfair schedul-
ing theory is extended to support the scheduling of groups of tasks as a single entity. Second,
mechanisms for supporting both lock-based and lock-free synchronization are presented. Lock-
based synchronization coordinates access to shared resources through the use of semaphores.
On the other hand, lock-free operations are optimistically attempted and then retried if the
operation fails. Last, the deployment of Pfair scheduling on a symmetric multiprocessor is
considered.
Efficient and Flexible Fair Scheduling of Real-time Tasks on Multiprocessors
, 2003
"... Proportionate fair (Pfair) scheduling is the only known way to optimally schedule periodic real-time task systems on multiprocessors in an on-line manner. Under Pfair scheduling, the execution of each task is broken into a sequence of quantum-length subtasks that must execute within intervals of app ..."
Abstract
-
Cited by 19 (0 self)
- Add to MetaCart
Proportionate fair (Pfair) scheduling is the only known way to optimally schedule periodic real-time task systems on multiprocessors in an on-line manner. Under Pfair scheduling, the execution of each task is broken into a sequence of quantum-length subtasks that must execute within intervals of approximately-equal lengths. This scheduling policy results in allocations that mimic those of an ideal “fluid ” scheduler, and in periodic task systems, ensures that all deadlines are met. Though Pfair scheduling algorithms hold much promise, prior to our work, research on this topic was limited in that only static systems consisting of synchronous periodic tasks were considered. My dissertation thesis is that the Pfair scheduling framework for the on-line scheduling of real-time tasks on multiprocessors can be made more flexible by allowing the underlying task model to be more general than the periodic model and by allowing dynamic task behaviors. Further, this flexibility can be efficiently achieved. Towards the goal of improving the efficiency of Pfair scheduling algorithms, we develop the PD 2 Pfair algorithm, which is the most efficient optimal Pfair scheduling algorithm devised to date. Through a series of counterexamples, we show that it is
Efficient Object Sharing in Quantum-Based Real-Time Systems - Summary by Andreas Haeberlen
- In Proceedings of the 19th IEEE Real-Time Systems Symposium
, 1998
"... The authors present a new scheme for implementing shared objects on a real-time system [1]. They assume that the system allocates processor time in discrete quanta, and that the quantum is large compared to the length of an object call. Under these conditions, most object calls are likely to execute ..."
Abstract
-
Cited by 18 (5 self)
- Add to MetaCart
The authors present a new scheme for implementing shared objects on a real-time system [1]. They assume that the system allocates processor time in discrete quanta, and that the quantum is large compared to the length of an object call. Under these conditions, most object calls are likely to execute without preemption, thus allowing the usage of simpler and more efficient access mechanisms.
Locking under Pfair Scheduling
- In ACM Transactions on Computer Systems
, 2006
"... We present several locking synchronization protocols for Pfair-scheduled multiprocessor systems. We focus on two classes of protocols. The first class is only applicable in systems in which all critical sections are short relative to the length of the scheduling quantum. In this case, efficient sync ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
We present several locking synchronization protocols for Pfair-scheduled multiprocessor systems. We focus on two classes of protocols. The first class is only applicable in systems in which all critical sections are short relative to the length of the scheduling quantum. In this case, efficient synchronization can be achieved by ensuring that all locks have been released before tasks are preempted. This is accomplished by exploiting the quantum-based nature of Pfair scheduling, which provides a priori knowledge of all possible preemption points. The second and more general protocol class is applicable to any system. For this class, we consider the use of a client-server model. We also discuss the viability of inheritance-based protocols in Pfair-scheduled systems.
Fair Scheduling of Real-time Tasks on Multiprocessors
- Handbook of Scheduling
, 2005
"... There has been much recent interest in fair scheduling algorithms for real-time multiprocessor systems. The roots of much of the research on this topic can be traced back to the seminal work of Baruah et al. on Proportionate fairness (Pfairness) [6]. This work proved that the problem of optimally sc ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
There has been much recent interest in fair scheduling algorithms for real-time multiprocessor systems. The roots of much of the research on this topic can be traced back to the seminal work of Baruah et al. on Proportionate fairness (Pfairness) [6]. This work proved that the problem of optimally scheduling periodic tasks on multiprocessors could be solved on-line in polynomial time by using Pfair scheduling algorithms. Pfair scheduling differs from more conventional real-time scheduling approaches in that tasks are explicitly required to execute at steady rates. In most realtime scheduling disciplines, the notion of a rate is implicit. For example, in a periodic schedule, a task T executes at a rate defined by its required utilization (T.e/T.p) over large intervals. However, T's execution rate over short intervals, e.g., individual periods, may vary significantly. Hence, the notion of a rate under the periodic task model is a bit inexact. Under Pfair scheduling, each task is executed...
Efficient and Simple Implementations of the Wait-Free Queue Classes of the Real-Time Specification for Java ∗
"... The Real-Time Specification for Java provides protected, non-blocking, shared access to objects accessed by both regular Java threads (java.lang.Threads) and the time-critical NoHeapRealtimeThreads. Such access is offered via a set of wait-free queue classes. These classes are provided explicitly to ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The Real-Time Specification for Java provides protected, non-blocking, shared access to objects accessed by both regular Java threads (java.lang.Threads) and the time-critical NoHeapRealtimeThreads. Such access is offered via a set of wait-free queue classes. These classes are provided explicitly to enable communication between the real-time NoHeapRealtimeThreads and the regular Java threads; they have a unidirectional nature with one side of the queue (read or write) for the real-time threads and the other one (write or read, respectively) for the non-real-time ones. Efficient implementations of these queue classes are presented in this paper. The implementations are designed to have the unidirectional nature of these queues in mind and they are more efficient, with respect to space complexity, compared to previous general bi-directional wait-free implementations, without losing in time complexity. 1
Summary
"... This thesis describes some research I have done during this PhD, that is a little thing com-pared to the many things I did in the same period of time (included many silly photos and dinners and...). I always thought that this page of my thesis would be probably the most difficult to write (and in fa ..."
Abstract
- Add to MetaCart
This thesis describes some research I have done during this PhD, that is a little thing com-pared to the many things I did in the same period of time (included many silly photos and dinners and...). I always thought that this page of my thesis would be probably the most difficult to write (and in fact it has been the last one I wrote!), because many are the friends that I should thank, little the space I have in a single page, and still little my knowledge of the English language to cite them in the appropriate way. In any case, let me try: First of all, Beatrice, that really supported me during these years. Then, my supervisors Giuseppe, Marco, Paolo, Giorgio and Luigi: I really would like to thank them, for their friendship and for their advice. Alberto, that has been the light for many inspirations, tolerant in many occasions and of course a good fiend. Lui, that convinced me to start this journey, and Sanjoy, who always surprised me for his elegance in research and life.
Non-blocking Shared Data Structures for Shared Memory Multiprocessor Systems
, 2001
"... The goal of this work is to implement non-blocking shared data objects for shared memory multiprocessor systems: real-time systems and high performance systems. Non-blocking synchronization has significant advantages over lock-based one: it is deadlock-free; it has better fault-tolerance behaviour; ..."
Abstract
- Add to MetaCart
The goal of this work is to implement non-blocking shared data objects for shared memory multiprocessor systems: real-time systems and high performance systems. Non-blocking synchronization has significant advantages over lock-based one: it is deadlock-free; it has better fault-tolerance behaviour; it eliminates the interference between synchronisation and the scheduler for real-time systems; it has better performance under high contention situations. In this thesis, we present non-blocking constructions for two fundamental shared data objects, read/write bu er and queue, which are widely used in real-time systems and high performance systems. Our constructions outperform the respective lock-based ones. The construction of real-time bu er extends previous results and is optimal with respect to space requirements. Both the schedulability analysis and the schedulability experiments show that the algorithm is applicable and efficient for real-time systems. Our
Efficient and Simple Implementations of the Wait-Free Queue Classes of the Real-Time Specification for Java
, 2002
"... The Real-Time Specification for Java provides protected, non-blocking, shared access to objects accessed by both regular Java threads (java.lang.Threads) and the time-critical NoHeapRealtimeThreads. Such access is offered via a set of wait-free queue classes. These classes are provided explicitly to ..."
Abstract
- Add to MetaCart
The Real-Time Specification for Java provides protected, non-blocking, shared access to objects accessed by both regular Java threads (java.lang.Threads) and the time-critical NoHeapRealtimeThreads. Such access is offered via a set of wait-free queue classes. These classes are provided explicitly to enable communication between the real-time NoHeapRealtimeThreads and the regular Java threads; they have a unidirectional nature with one side of the queue (read or write) for the real-time threads and the other one (write or read, respectively) for the non-real-time ones. Efficient implementations of these queue classes are presented in this paper. The implementations are designed to have the unidirectional nature of these queues in mind and they are more efficient, with respect to space complexity, compared to previous general bi-directional wait-free implementations, without losing in time complexity.

