scispace - formally typeset
Search or ask a question

Showing papers on "Fair-share scheduling published in 1996"


Journal ArticleDOI
TL;DR: A static scheduling algorithm for allocating task graphs to fully connected multiprocessors which has admissible time complexity, is economical in terms of the number of processors used and is suitable for a wide range of graph structures.
Abstract: In this paper, we propose a static scheduling algorithm for allocating task graphs to fully connected multiprocessors. We discuss six recently reported scheduling algorithms and show that they possess one drawback or the other which can lead to poor performance. The proposed algorithm, which is called the Dynamic Critical-Path (DCP) scheduling algorithm, is different from the previously proposed algorithms in a number of ways. First, it determines the critical path of the task graph and selects the next node to be scheduled in a dynamic fashion. Second, it rearranges the schedule on each processor dynamically in the sense that the positions of the nodes in the partial schedules are not fixed until all nodes have been considered. Third, it selects a suitable processor for a node by looking ahead the potential start times of the remaining nodes on that processor, and schedules relatively less important nodes to the processors already in use. A global as well as a pair-wise comparison is carried out for all seven algorithms under various scheduling conditions. The DCP algorithm outperforms the previous algorithms by a considerable margin. Despite having a number of new features, the DCP algorithm has admissible time complexity, is economical in terms of the number of processors used and is suitable for a wide range of graph structures.

842 citations


Journal ArticleDOI
TL;DR: This work defines a notion of proportionate progress, called P-fairness, and uses it to design an efficient algorithm which solves the periodic scheduling problem.
Abstract: Given a set ofn tasks andm resources, where each taskx has a rational weightx.w=x.e/x.p,0

687 citations


Journal ArticleDOI
TL;DR: It is shown that the performance-ranking of priority rules does not differ for single-pass scheduling and sampling, that sampling improves the performance of single- pass scheduling significantly, and that the parallel method cannot be generally considered as superior.

685 citations


Book
01 Oct 1996
TL;DR: In this paper, a theoretical and application oriented analysis of deterministic scheduling problems arising in computer and manufacturing environments is presented and discussed, where different problem parameters such as task processing times, urgency weights, arrival times, deadlines, precedence constraints, and processor speed factor are involved.
Abstract: Written in a clear and concise manner this book provides a theoretical and application oriented analysis of deterministic scheduling problems arising in computer and manufacturing environments. Various scheduling problems are discussed where different problem parameters such as task processing times, urgency weights, arrival times, deadlines, precedence constraints, and processor speed factor are involved. Polynomial and exponential time optimization algorithms as well as approximation and heuristic approaches are presented and discussed. Moreover, resource-constrained, imprecise computation, flexible flow shop and dynamic job shop scheduling, as well as flexible manufacturing systems, are considered. An excellent analysis based on real-world applications with plenty of examples.

631 citations


Patent
13 Aug 1996
TL;DR: In this paper, an electronic Personal Information Manager (PIM) including a peer-to-peer group scheduling/calendar system is described, and the system generates a scheduling invitation incorporating different formats.
Abstract: An electronic Personal Information Manager (PIM) including a peer-to-peer group scheduling/calendar system is described The group scheduling/calendar system provides methods for peer-to-peer group scheduling among users, including those users who only have simple e-mail support (ie, do not have access to the group scheduling/calendar system itself) If a user is able to receive and respond to e-mail, he or she is able to participate in group scheduling in an automated fashion Under user control, the system generates a scheduling invitation incorporating different formats Each format includes, in order of increasing content richness, a simple text embedded scheduling invitation, an HTML (Hypertext Markup Language) form embedded scheduling invitation, and a proprietary binary "MIME" (Multipurpose Internet Mail Extensions) scheduling invitation Each format is designed to transfer the highest degree of information content which a particular target client type can handle A recipient of the scheduling message employs the messaging format best suited for his or her environment Regardless of which format the recipient employs, the group scheduling system processes the reply message automatically, with the appropriate information automatically included in the user's group scheduling calendar The system supports different levels of participation of various individuals throughout various stages of group scheduling, despite the fact that some of the individuals who need to participate might use other proprietary software and reside in other time zones

603 citations


Journal ArticleDOI
TL;DR: A job shop consists of a set of different machines that perform operations on jobs, each job is composed of an ordered list of operations each of which is determined by the machine required and the processing time on it.

548 citations


Proceedings ArticleDOI
24 Mar 1996
TL;DR: The theory of LR-servers enables computation of tight upper-bounds on end-to-end delay and buffer requirements in a network of servers in which the servers on a path may not all use the same scheduling algorithm.
Abstract: In this paper, we develop a general model, called latency-rate servers (LR-servers), for the analysis of traffic scheduling algorithms in broadband packet networks. The behavior of an LR scheduler is determined by two parameters-the latency and the allocated rate. We show that several well-known scheduling algorithms, such as weighted fair queueing, virtualclock, self-clocked fair queueing, weighted round robin, and deficit round robin, belong to the class of LR-servers. We derive tight upper bounds on the end-to-end delay, internal burstiness, and buffer requirements of individual sessions in an arbitrary network of LR-servers in terms of the latencies of the individual schedulers in the network, when the session traffic is shaped by a leaky bucket. Thus, the theory of LR-servers enables computation of tight upper-bounds on end-to-end delay and buffer requirements in a network of servers in which the servers on a path may not all use the same scheduling algorithm. We also define a self-contained approach to evaluate the fairness of LR-servers and use it to compare the fairness of many well-known scheduling algorithms.

493 citations


Proceedings ArticleDOI
17 Nov 1996
TL;DR: A set of principles underlying application-level scheduling is defined and a work-in-progress building AppLeS (application- level scheduling) agents are described and illustrated with a detailed description and results for a distributed 2D Jacobi application on two production heterogeneous platforms.
Abstract: Heterogeneous networks are increasingly being used as platforms for resource-intensive distributed parallel applications. A critical contributor to the performance of such applications is the scheduling of constituent application tasks on the network. Since often the distributed resources cannot be brought under the control of a single global scheduler, the application must be scheduled by the user. To obtain the best performance, the user must take into account both application-specific and dynamic system information in developing a schedule which meets his or her performance criteria. In this paper, we define a set of principles underlying application-level scheduling and describe our work-in-progress building AppLeS (application-level scheduling) agents. We illustrate the application-level scheduling approach with a detailed description and results for a distributed 2D Jacobi application on two production heterogeneous platforms.

452 citations


Journal ArticleDOI
TL;DR: In this paper, the authors assume that the machine may not always be available in real industry settings, and they study the scheduling problem under this general situation and for the deterministic case.
Abstract: Most literature in scheduling assumes that machines are available simultaneously at all times. However, this availability may not be true in real industry settings. In this paper, we assume that the machine may not always be available. This happens often in the industry due to a machine breakdown (stochastic) or preventive maintenance (deterministic) during the scheduling period. We study the scheduling problem under this general situation and for the deterministic case.

432 citations


Proceedings ArticleDOI
28 Oct 1996
TL;DR: Start-time Fair Queuing (SFQ) algorithm, which enables hierarchical partitioning of CPU bandwidth, is presented and its suitability for multimedia operating systems is demonstrated.
Abstract: The need for supporting variety of hard and soft real-time as well as best effort applications in a multimedia computing environment requires an operating system framework that: (1) enables different schedulers to be employed for different application classes, and (2) provides protection between the various classes of applications. We argue that these objectives can be achieved by hierarchical partitioning of CPU bandwidth, in which an operating system partitions the CPU bandwidth among various application classes, and each application class, in turn, partitions its allocation (potentially using a different scheduling algorithm) among its sub-classes or applications. We present Start-time Fair Queuing (SFQ) algorithm, which enables such hierarchical partitioning. We have implemented a hierarchical scheduler in Solaris 2.4. We describe our implementation, and demonstrate its suitability for multimedia operating systems.

406 citations


Journal ArticleDOI
TL;DR: This work presents the state of the art for multiprocessor task scheduling and shows the rationale behind the concept of multip rocessor tasks, and the standard three-field notation is extended to accommodate multi-processor tasks.

Book ChapterDOI
16 Apr 1996
TL;DR: A number of packing algorithms are formulated and it is found that two algorithms are the best: either perform the mapping based on a buddy system of processors, or use migration to re-map the jobs more tightly whenever a job arrives or terminates.
Abstract: Jobs that do not require all processors in the system can be packed together for gang scheduling. We examine accounting traces from several parallel computers to show that indeed many jobs have small sizes and can be packed together. We then formulate a number of such packing algorithms, and evaluate their effectiveness using simulations based on our workload study. The results are that two algorithms are the best: either perform the mapping based on a buddy system of processors, or use migration to re-map the jobs more tightly whenever a job arrives or terminates. Other approaches, such as mapping to the least loaded PEs, proved to be counterproductive. The buddy system approach depends on the capability to gang-schedule jobs in multiple slots, if there is space. The migration algorithm is more robust, but is expected to suffer greatly due to the overhead of the migration itself. In either case fragmentation is not an issue, and utilization may top 90% with sufficiently high loads.

Book ChapterDOI
16 Apr 1996
TL;DR: A LoadLeveler API is developed that allows external schedulers like EASY to control the starting and stopping of jobs through Load leveler, and helps address Cornell's difficulties with the current scheduling algorithm.
Abstract: With the increasing use of distributed memory massively parallel machines (MPPs) such as the IBM SP, the need for improved parallel job scheduling tools has sparked many recent developments IBM's LoadLeveler is being used at the Cornell Theory Center, but problems exist with the current scheduling algorithm applied to the job mix on the 512-node SP In order to address Cornell's difficulties, Joseph Skovira began to consider enhancements to LoadLeveler At about the same time, David Lifka, developer of the EASY parallel job scheduler, began working at CTC With Waiman Chan and Honbo Zhou of IBM LoadLeveler development, we have developed a LoadLeveler API that allows external schedulers like EASY to control the starting and stopping of jobs through LoadLeveler

Journal ArticleDOI
TL;DR: In this paper, the authors present an iterative modulo scheduling, a practical algorithm that is capable of dealing with realistic machine models and characterizes the algorithm in terms of the quality of the generated schedules as well as the computational expense incurred.
Abstract: Modulo scheduling is a framework within which algorithms for software pipelining innermost loops may be defined. The framework specifies a set of constraints that must be met in order to achieve a legal modulo schedule. A wide variety of algorithms and heuristics can be defined within this framework. Little work has been done to evaluate and compare alternative algorithms and heuristics for modulo scheduling from the viewpoints of schedule quality as well as computational complexity. This, along with a vague and unfounded perception that modulo scheduling is computationally expensive as well as difficult to implement, have inhibited its incorporation into product compilers. This paper presents iterative modulo scheduling, a practical algorithm that is capable of dealing with realistic machine models. The paper also characterizes the algorithm in terms of the quality of the generated schedules as well the computational expense incurred.

Journal ArticleDOI
TL;DR: In this paper, the authors consider the online multiprocessor scheduling problem first considered by Graham in 1966 and present an algorithm CHASM? that outperforms all previously published algorithms for anym?8 and has a competitive ratio of at most 1.945 for allm(the best known lower bound is 1.837).

Journal ArticleDOI
15 May 1996
TL;DR: Overall, the performance of implicit scheduling is near that of coscheduling, without the requirement of explicit, global coordination, in direct contrast to the literature that states explicit Coscheduling is necessary for fine-grained programs.
Abstract: We present a distributed algorithm for time-sharing parallel workloads that is competitive with coscheduling. Implicit scheduling allows each local scheduler in the system to make independent decisions that dynamically coordinate the scheduling of cooperating processes across processors. Of particular importance is the blocking algorithm which decides the action of a process waiting for a communication or synchronization event to complete. Through simulation of bulk-synchronous parallel applications, we find that a simple two-phase fixed-spin blocking algorithm performs well; a two-phase adaptive algorithm that gathers run-time data on barrier wait-times performs slightly better. Our results hold for a range of machine parameters and parallel program characteristics. These findings are in direct contrast to the literature that states explicit coscheduling is necessary for fine-grained programs. We show that the choice of the local scheduler is crucial, with a priority-based scheduler performing two to three times better than a round-robin scheduler. Overall, we find that the performance of implicit scheduling is near that of coscheduling (+/- 35%), without the requirement of explicit, global coordination.

Book ChapterDOI
08 Jul 1996
TL;DR: This work provides improved performance guarantees for several of the most basic scheduling models, and gives the first constant performance guarantee for a number of more realistically constrained scheduling problems.
Abstract: We consider the problem of finding near-optimal solutions for a variety of NP-hard scheduling problems for which the objective is to minimize the total weighted completion time. Recent work has led to the development of several techniques that yield constant worst-case bounds in a number of settings. We continue this line of research by providing improved performance guarantees for several of the most basic scheduling models, and by giving the first constant performance guarantee for a number of more realistically constrained scheduling problems. For example, we give an improved performance guarantee for minimizing the total weighted completion time subject to release dates on a single machine, and subject to release dates and/or precedence constraints on identical parallel machines. We also give improved bounds on the power of preemption in scheduling jobs with release dates on parallel machines.

Book ChapterDOI
03 Jun 1996
TL;DR: Quite simple polynomialtime approximation algorithms that are based on linear programming formulations with completion time variables and give the best known performance guarantees for minimizing the total weighted completion time in several scheduling environments are presented.
Abstract: There has been recent success in using polyhedral formulations of scheduling problems not only to obtain good lower bounds in practice but also to develop provably good approximation algorithms. Most of these formulations rely on binary decision variables that are a kind of assignment variables. We present quite simple polynomialtime approximation algorithms that are based on linear programming formulations with completion time variables and give the best known performance guarantees for minimizing the total weighted completion time in several scheduling environments. This amplifies the importance of (appropriate) polyhedral formulations in the design of approximation algorithms with good worst-case performance guarantees.

Proceedings ArticleDOI
28 Oct 1996
TL;DR: This paper presents CPU inheritance scheduling, a novel processor scheduling framework in which arbitrary threads can act as schedulers for other threads, and supports processor management techniques such as processor affinity and scheduler activations.
Abstract: Traditional processor scheduling mechanisms in operating systems are fairly rigid, often supportingonly one fixed scheduling policy, or, at most, a few “scheduling classes” whose implementations are closely tied together in the OS kernel. This paper presents CPU inheritance scheduling, a novel processor scheduling framework in which arbitrary threads can act as schedulers for other threads. Widely different scheduling policies can be implemented under the framework, and many different policies can coexist in a single system, providing much greater scheduling flexibility. Modular, hierarchical control can be provided over the processor utilization of arbitrary administrative domains, such as processes, jobs, users, and groups, and the CPU resources consumed can be accounted for and attributed accurately. Applications, as well as the OS, can implement customized local scheduling policies; the framework ensures that all the different policies work together logically and predictably. As a side effect, the framework also cleanly addresses priority inversion by providing a generalized form of priority inheritance that automatically works within and among diverse scheduling policies. CPU inheritance scheduling extends naturally to multiprocessors, and supports processor management techniques such as processor affinity[29] and scheduler activations[3]. We show that this flexibility can be provided with acceptable overhead in typical environments, depending on factors such as context switch speed and frequency.

Journal ArticleDOI
TL;DR: The (preemptive) distance constrained task system model is proposed which can serve as a more intuitive and adequate scheduling model for "repetitive" task executions and an efficient scheduling scheme for the model is designed, and a schedulability condition for the scheduling scheme is derived.
Abstract: In hard real time systems, each task must not only be functionally correct but also meet its timing constraints. A common approach to characterizing hard real time tasks with repetitive requests is the periodic task model. In the periodic task model, every task needs to be executed once during each of its periods. The execution of a task in one period is independent of the execution of the same task in another period. Hence, the executions of the same task in two consecutive periods may be right next to each other, or at the far ends of the two periods. While the periodic task model can serve as a simple paradigm for scheduling tasks with repetitive requests, it may not be suitable for all real time applications. For example, in some real time systems, the temporal distance between the finishing times of any two consecutive executions of the same task must be less than or equal to a given value. In other words, each execution of a task has a deadline relative to the finishing time of the previous execution of the same task. Scheduling algorithms designed for the periodic task model may not provide efficient solutions for tasks with temporal distance constraints. We propose the (preemptive) distance constrained task system model which can serve as a more intuitive and adequate scheduling model for "repetitive" task executions. We design an efficient scheduling scheme for the model, and derive a schedulability condition for the scheduling scheme. We also discuss how to apply the scheduling scheme to real time sporadic task scheduling and to real time communications.

Journal ArticleDOI
TL;DR: An algorithm based on constraint satisfaction techniques to handle the multiple capacitated job shop scheduling problem effectively is presented and it is shown that the algorithm performs well for both sets of instances.

Proceedings ArticleDOI
06 Aug 1996
TL;DR: This paper introduces the concept of application-centric scheduling in which everything about the system is evaluated in terms of its impact on the application, and describes AppLeS (Application-Level Scheduling) agents which generalize the application-focused scheduling approach.
Abstract: Metacomputing is the aggregation of distributed and high-performance resources on coordinated networks. With careful scheduling, resource-intensive applications can be implemented efficiently on metacomputing systems at the sizes of interest to developers and users. In this paper, we focus on the problem of scheduling applications on metacomputing systems. We introduce the concept of application-centric scheduling in which everything about the system is evaluated in terms of its impact on the application. Application-centric scheduling is used by virtually all metacomputer programmers to achieve performance on metacomputing systems. We describe two successful metacomputing applications to illustrate this approach, and describe AppLeS (Application-Level Scheduling) agents which generalize the application-centric scheduling approach. Finally, we show preliminary results which compare AppLeS-derived schedules with conventional strip and blocked schedules for a 2D Jacobi code.

Journal ArticleDOI
TL;DR: A relation between this problem and the parallel machine scheduling problem is identified, which enables the establishment of complexity results and algorithms for the former problem based on known results for the latter problem.

Journal ArticleDOI
TL;DR: Two Genetic Algorithms (GA) based approaches are proposed to solve the two-stage bicriteria flow shop scheduling problem with the objective of minimizing the total flow time subject to obtaining the optimal makespan.

Journal ArticleDOI
TL;DR: The proposed genetic algorithm is compared with the existing multi-criterion heuristic, and results of the computational evaluation are presented, and it is found to perform well for scheduling in a flowline-based CMS.
Abstract: The problem of scheduling in flowshop and flowline-based cellular manufacturing systems (CMS) is considered with the objectives of minimizing makespan, total flowtime and machine idletime. We first discuss the formulation of time-tabling in a flowline-based CMS. A genetic algorithm is then presented for scheduling in a flowshop. The proposed genetic algorithm is compared with the existing multi-criterion heuristic, and results of the computational evaluation are presented. We introduce some modifications in the heuristic seed sequences, while using them to initialize subpopulations in the algorithm for scheduling in a flowline-based CMS. The proposed algorithm is also found to perform well for scheduling in a flowline-based CMS.

Proceedings ArticleDOI
01 Jun 1996
TL;DR: This paper presents a scheduling algorithm which maximizes the "shut-down" period of execution units in a system and shows that this scheduling technique can save up to 40% in power dissipation.
Abstract: "Shut-down" techniques are effective in reducing the power dissipation of logic circuits. Recently, methods have been developed that identify conditions under which the output of a module in a logic circuit is not used for a given clock cycle. When these conditions are met, input latches for that module are disabled, thus eliminating any switching activity and power dissipation. In this paper, we introduce these power management techniques in behavioral synthesis. We present a scheduling algorithm which maximizes the "shut-down" period of execution units in a system. Given a throughput constraint and the number of execution units available, the algorithm first schedules operations that generate controlling signals and activates only those modules whose result is eventually used. We present results which show that this scheduling technique can save up to 40% in power dissipation.

01 Jan 1996
TL;DR: This work shows how the meeting scheduling performance is more stable and constant when agents try to keep their calendar and preference information private, and investigates the tradeoffs between different parameters.
Abstract: We view meeting scheduling as a distributed task where each agent knows its user’s preferences and calendar availability in order to act on behalf of its user. Although we may have some intuitions about how some parameters could affect the meeting scheduling efficiency and meeting quality, we run several experiments in order to explore the tradeoffs between different parameters. Our experiments show how the calendar and preference privacy affect the efficiency and the meeting joint quality under different experimental scenarios. The results show how the meeting scheduling performance is more stable and constant when agents try to keep their calendar and preference information private. We believe that these parameters play a key role in the distributed meeting scheduling task, specially if we are interested in building distributed systems with truly autonomous and independent agents where there is not a fixed control agent.

Journal ArticleDOI
01 May 1996
TL;DR: In this article, an enhanced algorithm for hydro-thermal power system generation scheduling is presented by applying tabu search, a decomposition method and taking into account the nonlinearity of time-varying starting costs, an effective algorithm is proposed to increase the computing accuracy of the dynamic scheduling process.
Abstract: In this paper, an enhanced algorithm for hydro-thermal power system generation scheduling is presented. By applying the tabu search, a decomposition method and taking into account the nonlinearity of time-varying starting costs, an effective algorithm is proposed to increase the computing accuracy of the dynamic scheduling process. The proposed approach may start from any traditional scheduling method proposed earlier, and improve the sub-optimal solution by a neighborhood search method. In this regard, additional constraints can be added to the problem formulation which provides a fast scheduling or rescheduling solution to large scale hydro-thermal power systems. The results show that the proposed algorithm is both efficient and reliable.

Journal ArticleDOI
TL;DR: This paper investigates the problem of scheduling a set of TVF-based tasks under the criterion of maximizing the sum of tasks' contributions, and proposes an algorithm which yields sub-optimal scheduling and finds out the optimal decomposition.
Abstract: Some Real-Time systems may need a multivalence description of tasks. A generic way to achieve it consists in characterizing each task by a Time Value Function (TVF), which gives the contribution of the related task at its actual completion time. This approach can be viewed as a complementary paradigm to the bivalent deadline-driven paradigm, especially in the case of overload. In this paper, we investigate the problem of scheduling a set of TVF-based tasks under the criterion of maximizing the sum of tasks' contributions. To deal with this NP-hard problem, we use a decomposition approach. The latter consists in partitionning the initial task set into several subsets for which we can establish a scheduling order (on the subset level). We propose an algorithm which yields sub-optimal scheduling and finds out the optimal decomposition. This O(n 3 ) on-line scheduling algorithm yields sequences which are equal or statistically very close to the optimum, as suggested by our simulation study for various scenarii.