scispace - formally typeset
Search or ask a question

Showing papers on "Dynamic priority scheduling published in 1991"


Journal ArticleDOI
TL;DR: It is shown how to extend the Priority Ceiling Protocol to handle: multiunit resources, which subsume binary semaphores and reader-writer locks; dynamic priority schemes, such as earliest-deadline-first (EDF), that use static “preemption levels”; sharing of runtime stack space between jobs.
Abstract: The Priority Ceiling Protocol (PCP) of Sha, Rajkumar and Lehoczky is a policy for locking binary semaphores that bounds priority inversion (i.e., the blocking of a job while a lower priority job executes), and thereby improves schedulability under fixed priority preemptive scheduling. We show how to extend the PCP to handle: multiunit resources, which subsume binary semaphores and reader-writer locks; dynamic priority schemes, such as earliest-deadline-first (EDF), that use static “preemption levels”; sharing of runtime stack space between jobs. These extensions can be applied independently, or together. The Stack Resource Policy (SRP) is a variant of the SRP that incorporates the three extensions mentioned above, plus the conservative assumption that each job may require the use of a shared stack. This avoids unnecessary context switches and allows the SRP to be implemented very simply using a stack. We prove a schedulability result for EDF scheduling with the SRP that is tighter than the one proved previously for EDF with a dynamic version of the PCP. The Minimal SRP (MSRP) is a slightly more complex variant of the SRP, which has similar properties, but imposes less blocking. The MSRP is optimal for stack sharing systems, in the sense that it is the least restrictive policy that strictly bounds priority inversion and prevents deadlock for rate monotone (RM) and earliest-deadline-first (EDF) scheduling.

823 citations


Proceedings ArticleDOI
04 Dec 1991
TL;DR: It is proved that the problem of deciding schedulability of a set of concrete periodic tasks is intractable.
Abstract: A fundamental problem in the theory of real-time scheduling is examined: scheduling a set of periodic or sporadic tasks on a uniprocessor without preemption and without inserted idle time. The authors give a necessary and sufficient set of conditions C for a set of periodic or sporadic tasks to be schedulable for arbitrary release times of the tasks. They show that any set of periodic or sporadic tasks that satisfies C can be scheduled with an earliest-deadline-first (EDF) scheduling algorithm. The authors present the scheduling model, briefly review the literature in real-time scheduling, prove that the non-preemptive EDF algorithm is universal for sets of tasks, whether periodic or sporadic, and demonstrate the absence of a universal algorithm for periodic tasks with specified release times. It is proved that the problem of deciding schedulability of a set of concrete periodic tasks is intractable. >

625 citations


Journal ArticleDOI
TL;DR: A queuing-theoretical formulation of the imprecise scheduling problem is presented and workload models that quantify the tradeoff between result quality and computation time are reviewed.
Abstract: The imprecise computation technique, which prevents timing faults and achieves graceful degradation by giving the user an approximate result of acceptable quality whenever the system cannot produce the exact result in time, is considered. Different approaches for scheduling imprecise computations in hard real-time environments are discussed. Workload models that quantify the tradeoff between result quality and computation time are reviewed. Scheduling algorithms that exploit this tradeoff are described. These include algorithms for scheduling to minimize total error, scheduling periodic jobs, and scheduling parallelizable tasks. A queuing-theoretical formulation of the imprecise scheduling problem is presented. >

582 citations


Journal ArticleDOI
TL;DR: Investigation of schedulability tests for sets of periodic processes whose deadlines are permitted to be less than their period finds that such a relaxation enables sporadic processes to be directly incorporated without alteration to the process model.

535 citations


Journal ArticleDOI
TL;DR: In this article, several distributed scheduling policies are analyzed for a large semiconductor manufacturing facility, where jobs of wafers, each with a desired due date, follow essentially the same route through the manufacturing system, returning several times to many of the service centers for the processing of successive layers.
Abstract: Several distributed scheduling policies are analyzed for a large semiconductor manufacturing facility, where jobs of wafers, each with a desired due date, follow essentially the same route through the manufacturing system, returning several times to many of the service centers for the processing of successive layers. It is shown that for a single nonacyclic flow line the first-buffer-first-serve policy, which assigns priorities to buffers in the order that they are visited, is stable, whenever the arrival rate, allowing for some burstiness, is less than the system capacity. The last-buffer-first-serve policy (LBFS), where the priority ordering is reversed, is also stable. The earliest-due-date policy, where priority is based on the due date of a part, as well as another due-date-based policy of interest called the least slack policy (LS), where priority is based on the slack of a part, defined as the due date minus an estimate of the remaining delay, are also proved to be stable. >

443 citations


Journal ArticleDOI
TL;DR: An integer linear programming (ILP) model for the scheduling problem in high-level synthesis is presented and a scheduling problem called feasible scheduling, which provides a paradigm for exploring the solution space, is constructed.
Abstract: An integer linear programming (ILP) model for the scheduling problem in high-level synthesis is presented. In addition to time-constrained scheduling and resource-constrained scheduling, a scheduling problem called feasible scheduling, which provides a paradigm for exploring the solution space, is constructed. Extensive consideration is given to the following applications: scheduling with chaining, multicycle operations by nonpipelined function units, and multicycle operations by pipelined function units; functional pipelining; loop folding; mutually exclusive operations; scheduling under bus constraint; and minimizing lifetimes of variables. The complexity of the number of variables in the formulation is O(s*n) where s and n are the number of control steps and operations, respectively. Since the as soon as possible (ASAP), as late as possible (ALAP), and list scheduling techniques are used to reduce the solution space, the formulation becomes very efficient. A solution to a practical problem, such as the fifth-order filter, can be found optimally in a few seconds. >

434 citations


Journal ArticleDOI
Alan Burns1
TL;DR: Recent results in the application of scheduling theory to hard real-time systems are reviewed in this paper and problems presented by different application requirements and characteristics are analyzed.
Abstract: Recent results in the application of scheduling theory to hard real-time systems are reviewed in this paper. The review takes the form of an analysis of the problems presented by different application requirements and characteristics. Issues covered include uniprocessor and multiprocessor systems, periodic and aperiodic processes, static and dynamic algorithms, transient overloads and resource usage. Protocols that limit and reduce blocking are discussed. Consideration is also given to scheduling Ada tasks.

268 citations


Proceedings ArticleDOI
04 Dec 1991
TL;DR: The authors present and evaluate an extension of the AED algorithm called hierarchical earliest deadline (HED), which is designed to handle applications that assign different values to transactions and where the goal is to maximize the total value of the in-time transactions.
Abstract: A new priority assignment algorithm called adaptive earliest deadline (AED) is given that stabilizes the overload performance of the earliest deadline policy in a real-time database system (RTDBS) environment. The AED algorithm uses a feedback control mechanism to achieve this objective and does not require knowledge of transaction characteristics. Using a detailed simulation model, the authors compare the performance of AED with respect to earliest deadline and other fixed priority schemes. They also present and evaluate an extension of the AED algorithm called hierarchical earliest deadline (HED), which is designed to handle applications that assign different values to transactions and where the goal is to maximize the total value of the in-time transactions. >

253 citations


Proceedings ArticleDOI
02 Apr 1991
TL;DR: This paper uses detailed simulation studies to evaluate the performance of several different scheduling strategies, and shows that in situations where the number of processes exceeds thenumber of processors, regular priority-based scheduling in conjunction with busy-waiting synchronization primitives results in extremely poor processor utilization.
Abstract: Shared-memory multiprocessors are frequently used as compute servers with multiple parallel applications executing at the same time. In such environments, the efficiency of a parallel application can be significantly affected by the operating system scheduling policy. In this paper, we use detailed simulation studies to evaluate the performance of several different scheduling strategies, These include regular priority scheduling, coscheduling or gang scheduling, process control with processor partitioning, handoff scheduling, and affinity-based scheduling. We also explore tradeoffs between the use of busy-waiting and blocking synchronization primitives and their interactions with the scheduling strategies. Since effective use of caches is essential to achieving high performance, a key focus is on the impact of the scheduling strategies on the caching behavior of the applications.Our results show that in situations where the number of processes exceeds the number of processors, regular priority-based scheduling in conjunction with busy-waiting synchronization primitives results in extremely poor processor utilization. In such situations, use of blocking synchronization primitives can significantly improve performance. Process control and gang scheduling strategies are shown to offer the highest performance, and their performance is relatively independent of the synchronization method used. However, for applications that have sizable working sets that fit into the cache, process control performs better than gang scheduling. For the applications considered, the performance gains due to handoff scheduling and processor affinity are shown to be small.

232 citations


Journal ArticleDOI
TL;DR: In this article, the authors consider the rescheduling of operations with release dates and multiple resources when disruptions prevent the use of a preplanned schedule, and the overall strategy is to follow the preschedule until a disruption occurs.
Abstract: This paper considers the rescheduling of operations with release dates and multiple resources when disruptions prevent the use of a preplanned schedule. The overall strategy is to follow the preschedule until a disruption occurs. After a disruption, part of the schedule is reconstructed to match up with the preschedule at some future time. Conditions are given for the optimality of this approach. A practical implementation is compared with the alternatives of preplanned static scheduling and myopic dynamic scheduling. A set of practical test problems demonstrates the advantages of the matchup approach. We also explore the solution of the matchup scheduling problem and show the advantages of an integer programming approach for allocating resources to jobs.

204 citations


Proceedings ArticleDOI
04 Dec 1991
TL;DR: This method can be used to analyze the schedulability of complex task sets which involve interrupts, certain synchronization protocols, nonpreemptible sections and, in general, any mechanism that contributes to a complex priority structure.
Abstract: The problem of fixed priority scheduling of periodic tasks where each task's execution priority may vary is considered. Periodic tasks are decomposed into serially executed subtasks, where each subtask is characterized by an execution time and a fixed priority and is permitted to have a deadline. A method for determining the schedulability of each task is presented along with its theoretical underpinnings. This method can be used to analyze the schedulability of complex task sets which involve interrupts, certain synchronization protocols, nonpreemptible sections and, in general, any mechanism that contributes to a complex priority structure. The authors introduce a simple but realistic real-time robotics application and illustrate how one uses the schedulability equations presented. >


Proceedings ArticleDOI
01 May 1991
TL;DR: A scheme for global (intra-loop) scheduling is proposed, which uses the control and data dependence information summarized in a Program Dependence Graph, to move instructions well beyond basic block boundaries.
Abstract: To improve the utilization of machine resources in superscalar processors, the instructions have to be carefully scheduled by the compiler. As internal parallelism and pipelining increases, it becomes evident that scheduling should be done beyond the basic block level. A scheme for global (intra-loop) scheduling is proposed, which uses the control and data dependence information summarized in a Program Dependence Graph, to move instructions well beyond basic block boundaries. This novel scheduling framework is based on the parametric description of the machine architecture, which spans a range of superscakis and VLIW machines, and exploits speculative execution of instructions to further enhance the performance of the general code. We have implemented our algorithms in the IBM XL family of compilers and have evaluated them on the IBM RISC System/6000 machines.

Proceedings ArticleDOI
26 Jun 1991
TL;DR: In this article, it is shown how current gain scheduling practice is necessarily limited to slow variations in the scheduling variable and how a reformulation of the gain scheduling procedure can lead towards ultimately removing these restrictions.
Abstract: A common gain scheduling rule-of-thumb is to "schedule on a slow variable." In this paper, it is shown how current gain scheduling practice is necessarily limited to slow variations in the scheduling variable. These limitations are revealed to be consequences of fundamental control concepts. Furthermore, it is shown how a reformulation of the gain scheduling procedure can lead towards ultimately removing these restrictions.

Proceedings ArticleDOI
01 Sep 1991
TL;DR: This work proposes split-level CPU scheduling of lightweight processes in multiple address spaces, and memory-mapped streams for data movement between address spaces that can reduce scheduling and I/O overhead by a factor of 4 to 6.
Abstract: Next-generation workstations will have hardware support for digital "continuous media" (CM) such as audio and video. CM applications handle data at high rates, with strict timing requirements, and often in small "chunks". If such applications are to run efficiently and predictably as user-level programs, an operating system must provide scheduling and IPC mechanisms that reflect these needs. We propose two such mechanisms: split-level CPU scheduling of lightweight processes in multiple address spaces, and memory-mapped streams for data movement between address spaces. These techniques reduce the the number of user/kernel interactions (system calls, signals, and preemptions). Compared with existing mechanisms, they can reduce scheduling and I/O overhead by a factor of 4 to 6.

Proceedings ArticleDOI
01 Sep 1991
TL;DR: The preemptive scheduling of sporadic tasks on a uniprocessor is considered and upper bounds on the best performance guarantee obtainable by an online algorithm in a variety of settings are derived.
Abstract: The preemptive scheduling of sporadic tasks on a uniprocessor is considered. A task may arrive at any time, and is characterized by a value that reflects its importance, an execution time that is the amount of processor time needed to completely execute the task, and a deadline by which the task is to complete execution. The goal is to maximize the sum of the values of the completed tasks. An online scheduling algorithm that achieves optimal performance when the system is underloaded and provides a nontrivial performance guarantee when the system is overloaded is designed. The algorithm is implemented using simple data structures to run at a cost of O(log n) time per task, where n bounds the number of tasks in the system at any instant. Upper bounds on the best performance guarantee obtainable by an online algorithm in a variety of settings are derived. >


Proceedings ArticleDOI
04 Dec 1991
TL;DR: It is proved that no on-line scheduling algorithm can guarantee a cumulative value greater than 1/4th the value obtainable by a clairvoyant scheduler, and it is shown that an online uniprocessor scheduling algorithm TD1 actually has a competitive factor of 1/ 4; this bound is thus shown to be tight.
Abstract: The authors study the performance of online algorithms in environments where no value is obtained for the partial execution of a request. They prove that no online scheduling algorithm can have a competitive factor greater than 0.25 times the optimal. They further refine this bound by considering the effect of the loading factor. Other models of task systems (for example, tasks systems consisting of many types of task requests), are considered. Similar upper bounds on the competitive factor that can be made by online scheduling algorithms in these environments are proved. It is shown that the performance bound of 0.25 is tight by means of a simple online uniprocessor scheduling algorithm has a competitive factor of 1/4. The authors extend the discussion to systems with dual processors. They show that the upper bound for the dual-processor online scheduling problem is 1/2 if all tasks have the same value density. This bound is tight if the tasks all also have zero laxity. >

Proceedings ArticleDOI
01 May 1991
TL;DR: GIDEON, a genetic algorithm system to heuristically solve the vehicle routing problem with time windows, consists of two distinct modules: a global clustering module that assigns customers to vehicles by a process called genetic sectoring and a local route optimization module (SWITCH-OPT).
Abstract: Addresses the vehicle routing problem with time windows (VRPTW). The VRPTW involves routing a fleet of vehicles, of limited capacity and travel time, from a central depot to a set of geographically dispersed customers with known demands within specified time windows. The authors describe GIDEON, a genetic algorithm system to heuristically solve the VRPTW. GIDEON consists of two distinct modules: a global clustering module that assigns customers to vehicles by a process called genetic sectoring (GENSECT) and a local route optimization module (SWITCH-OPT). On a standard set of 56 VRPTW problems obtained from the literature, GIDEON did better than the alternate methods on 41 of them, with an average reduction of 3.9% in fleet size and 4.4% in distance traveled for the 56 problems. GIDEON took an average of 127 CPU seconds to solve a problem on the Solbourne 5/802 computer. >

Book
01 Nov 1991
TL;DR: Requirements for construction scheduling Gantt charts critical path method schedules precedence diagramming methods developing the project schedule other scheduling methods updating the schedule effective use of CPM schedules.
Abstract: Requirements for construction scheduling Gantt charts critical path method schedules precedence diagramming methods developing the project schedule other scheduling methods updating the schedule effective use of CPM schedules expediting the project resource scheduling using a schedule to prove delay claims CPM scheduling on microcomputers the scheduling specification.

Journal ArticleDOI
TL;DR: This paper addresses a machine scheduling problem that arises in the case of scheduling tasks over an idealized distributed multiprocessor and presents a critical path-like algorithm, which is shown to construct an optimal schedule in polynomial time.
Abstract: This paper addresses a machine scheduling problem that arises in the case of scheduling tasks over an idealized distributed multiprocessor. Precedence constraints with small communication delays have to be taken into account and task duplication is allowed. A critical path-like algorithm is presented, which is shown to construct an optimal schedule in polynomial time.

Proceedings ArticleDOI
04 Dec 1991
TL;DR: The authors investigate solutions to the priority inversion problem in a real-time database where two-phase locking is employed for concurrency control and study a new scheme, called conditional priority inheritance, which attempts to capitalize on the advantage of each of the two basic schemes.
Abstract: The authors investigate solutions to the priority inversion problem in a real-time database where two-phase locking is employed for concurrency control. They examine two basic schemes for addressing the priority inversion problem, one based on priority inheritance and the other based on priority abort. The authors also study a new scheme, called conditional priority inheritance, which attempts to capitalize on the advantage of each of the two basic schemes. The performance studies, conducted on a real-time database testbed, indicated that the basic priority inheritance protocol is inappropriate for solving the priority inversion problem in real-time database systems. The authors also show that the conditional priority inheritance scheme and the priority abort scheme perform well for a wide range of system workloads. >

Journal ArticleDOI
TL;DR: A distributed factory scheduling model that is based on the concept of constraint-directed search within a centralized framework is presented and a set of texture measures that quantify several characteristics of the problem space being searched has been developed into heuristics that direct the searches conducted by scheduling agents.
Abstract: A distributed factory scheduling model that is based on the concept of constraint-directed search within a centralized framework is presented. A set of texture measures that quantify several characteristics of the problem space being searched has been developed into heuristics that direct the searches conducted by scheduling agents. The heuristics have been used to direct the searches of a centralized activity-based scheduler, achieving good schedule quality and minimizing the likelihood of backtracking. The model discussed uses textures to direct distributed scheduling, optimizing decisions in the global search space by allowing agents to focus and direct searches in their individual search spaces. Experimental results are presented and confirm the effectiveness of the approach. >

BookDOI
01 Jul 1991
TL;DR: This paper presents real-Time, Priority-Ordered, Deadlock Avoidance Algorithms, which describe the design and analysis of processor Scheduling Policies for Real-Time Systems and some of the strategies adopted in Spring.
Abstract: 1 Fixed Priority Scheduling Theory for Hard Real-Time Systems.- 2 Research in Real-Time Scheduling.- 3 Design and Analysis of Processor Scheduling Policies for Real-Time Systems.- 4 Recent Results in Real-Time Scheduling.- 5 Rate Monotonic Analysis for Real-Time Systems.- 6 Scheduling in Real-Time Transaction Systems.- 7 Concurrency Control in Real-Time Database Systems.- 8 Algorithms for Scheduling Imprecise Computations.- 9 Allocating SMART Cache Segments for Schedulability.- 10 Scheduling Strategies Adopted in Spring: An Overview.- 11 Real-Time, Priority-Ordered, Deadlock Avoidance Algorithms.

Journal ArticleDOI
TL;DR: A feedback setup scheduling policy which uses corridors in the surplus/backlog space of the part types to determine the timing of the set-up changes in order to guide the trajectory in the desired direction is considered.
Abstract: We propose a method for flow control of parts in a manufacturing system with machines that require setups. The setup scheduling problem is investigated in the context of a multilevel hierarchy of discrete events with distinct frequencies. The higher level of the hierarchy calculates a target trajectory in the surplus/backlog space of the part types which must be tracked at the level of setups. We consider a feedback setup scheduling policy which usescorridors in the surplus/backlog space of the part types to determine the timing of the set-up changes in order to guide the trajectory in the desired direction. An interesting case in which the trajectory leads to a target point (e.g., a hedging point) is investigated in detail. It is shown that in this case the surplus/backlog trajectory at the setup level can lead to a limit cycle. Conditions for linear corridors which result in a stable limit cycle are determined.

Journal ArticleDOI
TL;DR: A formal definition of a schedule is proposed and five challenges to the computation of schedules are described, which are then classified under the challenges they address and suggested new strategies for those challenges that previous approaches do not handle well.

Journal ArticleDOI
TL;DR: In this paper, a transient-based real-time scheduling algorithm which selects a dispatching rule dynamically for a next short time period in order to respond to changes of system state is proposed.
Abstract: Real-time scheduling in flexible manufacturing systems (FMS) is a difficult problem because of the complexities and dynamic behaviour of FMS. In this paper, a transient-based real-time scheduling algorithm which selects a dispatching rule dynamically for a next short time period in order to respond to changes of system state is proposed. In this algorithm, the scheduling interval associated with the selected dispatching rule is defined based on the system transient state as predicted by discrete event simulation. Simulation is also applied to evaluate the performance of the candidate dispatching rules for the next scheduling interval.

Journal ArticleDOI
TL;DR: A broadcast communication network that interconnects multiple hosts N considered, it is revealed that an allocation algorlthm can be employed to solve the system-level load-balancing problem.
Abstract: A broadcast communication network that interconnects multiple hosts N considered. A job generated by a host is either generic, m which case It can be processed at any of the hosts in the network, or dedicated, m which case it must be processed at the host from which it originates. It is assumed that each host can generate several types of dedicated jobs, where each type imposes a constraint on its average response time. The optimal design objective is twofold: First, to redistribute the generic jobs among the host computers in order to minimize the average response time, which shall be referred to as the load-balancing problem; second, for each host computer, to design a control that schedules the dedicated and the generic Jobs so that the response-time constraints are met for each of the dedicated traffic types. Despite its complexity, the model described above has some attractive features. Specifically, for a given allocation of the generic traffic, the scheduhng problem at each host can be solved as a polymatroid optimization problem. The underlying polymatroid structure leads to an efficient algorithm to determine, as a function of the offered load of generic traffic, the average delay of the generic jobs at any given host. Further analysis reveals that the delay functions at each of the hosts are convex and increasing. Therefore, an allocation algorlthm can be employed to solve the system-level load-balancing problem. An example is provided mdlcating that a substantial improvement m performance can be obtained by incorporating scheduling into the load-balancing procedure.

Journal ArticleDOI
TL;DR: The authors bound the average execution time under static and dynamic scheduling policies and determine the optimum number of parallel tasks to be created to minimize the execution time bounds with constant scheduling overhead.
Abstract: New methods are presented for bounding and approximating the mean execution time of partitioning algorithm, and these methods are compared to previous approaches. Distribution-driven and program-driven simulations show that two of the methods are usually accurate to within 10% and give good estimates even when certain independence assumptions are violated. Asymptotic approximations and upper bounds are derived for the average execution time of multiphase algorithms when there is no contention for processes in the parallel phase. In addition, the authors bound the average execution time under static and dynamic scheduling policies and determine the optimum number of parallel tasks to be created to minimize the execution time bounds with constant scheduling overhead. >

Journal ArticleDOI
TL;DR: In this article, the authors examined the influence of scheduling and routeing flexibility on job shop flexible manufacturing systems within a static environment and explored the effects of interaction between scheduling and routing flexibility on performance.
Abstract: This research examines the influences that scheduling schemes and the degree of routeing flexibility have on random, job shop flexible manufacturing systems within a static environment. The first factor in the experiment includes three scheduling schemes. Two of these schemes are off-line schemes which schedule many operations prior to actual production. The first of the off-line schemes establishes an overall optimal solution, and the second off-line scheme decomposes the problem into a loading subproblem and a resulting scheduling subproblem and finds optimal solutions to both subproblems. The third scheme uses control policies and dispatching rules to establish a schedule in a real-time mode. The number of alternative machine options (i.e., the degree of routeing flexibility) is a second factor in the experiment and includes eleven levels. In addition, the effects of interaction between scheduling and routeing flexibility on performance are explored.