scispace - formally typeset
Search or ask a question

Showing papers by "Charles E. Leiserson published in 2007"


Proceedings ArticleDOI
14 Mar 2007
TL;DR: The performance of A-Steal is analyzed using "trim analysis," which allows us to prove that the thread scheduler performs poorly on at most a small number of time steps, while exhibiting near-optimal behavior on the vast majority.
Abstract: We present an adaptive work-stealing thread scheduler, A-Steal, for fork-join multithreaded jobs, like those written using the Cilk multithreaded language or the Hood work-stealing library. The A-Steal algorithm is appropriate for large parallel servers where many jobs share a common multiprocessor resource and in which the number of processors available to a particular job may vary during the job's execution. A-Steal provides continual parallelism feedback to a job scheduler in the form of processor requests, and the job must adaptits execution to the processors allotted to it. Assuming that the job scheduler never allots any job more processors than requested by thejob's thread scheduler, A-Steal guarantees that the job completes in near-optimal time while utilizing at least a constant fraction of the allotted processors.Our analysis models the job scheduler as the thread scheduler's adversary, challenging the thread scheduler to be robust to the system environment and the job scheduler's administrative policies. We analyze the performance of A-Steal using "trim analysis," which allows us to prove that our thread scheduler performs poorly on at most a small number of time steps, while exhibiting near-optimal behavior on the vast majority. To be precise, suppose that a job has work T1 and span (critical-path length)T∞. On a machine with P processors, A-Steal completes the job in expected O(T1/P + T∞ + L lg P) time steps, where L is the length of a scheduling quantum and P denotes the O(T∞ + L lg P)-trimmed availability. This quantity is the average of the processor availability over all but the O(T∞ + L lg P)time steps having the highest processor availability. When the job's parallelism dominates the trimmed availability, that is, P « T1/T∞, the job achieves nearly perfect linear speedup. Conversely, when the trimmed mean dominates the parallelism, the asymptotic running time of the job is nearly its span.

95 citations


Proceedings ArticleDOI
26 Mar 2007
TL;DR: G-RAD and S-R AD are the first non-clairvoyant scheduling algorithms that guarantee provable efficiency, fairness and minimal overhead, and are described as O(1)-competitive for arbitrary batched jobs.
Abstract: Scheduling competing jobs on multiprocessors has always been an important issue for parallel and distributed systems. The challenge is to ensure global, system-wide efficiency while offering a level of fairness to user jobs. Various degrees of successes have been achieved over years. However, few existing schemes address both efficiency and fairness over a wide range of work loads. Moreover, in order to obtain analytical results, most of them require prior information about jobs, which may be difficult to obtain in real applications. This paper presents a novel adaptive scheduling algorithm GRAD that ensures fair allocation under all levels of workload, and it offers provable efficiency without requiring prior information of job's parallelism. Moreover, it provides effective control over the scheduling overhead and ensures efficient utilization of processors. Specifically, we show that GRAD is O(1)-competitive against an optimal offline scheduling algorithm with respect to both mean response time and makespan for batched jobs and non-batched jobs respectively. To the best of our knowledge, GRAD is the first non-clairvoyant scheduling algorithm that offers such guarantees. We also believe that our new approach of resource request-allotment protocol deserves further exploration. The simulation results show that, for non-batched jobs, the makespan produced by GRAD is no more than 1.39 times of the optimal on average. For batched jobs, the mean response time produced by GRAD is no more than 2.37 times of the optimal on average.

42 citations


Patent
28 Mar 2007
TL;DR: In this article, the authors present a system and method for scheduling jobs on a multiprocessor system, which includes schedulers for use in both work-sharing and work-stealing environments.
Abstract: The present invention describes a system and method for scheduling jobs on a multiprocessor system. The invention includes schedulers for use in both work-sharing and work-stealing environments. Each system utilizes a task scheduler using historical usage information, in conjunction with a job scheduler to achieve its results. In one embodiment, the task scheduler measures the time spent on various activities, in conjunction with its previous processor allocation or previous desire, to determine an indication of its current processor desire. In another embodiment of the present invention, the task scheduler measures the resources used by the job on various activities. Based on these measurements, the task scheduler determines the efficiency of the job and an indication of its current processor desire. In another embodiment, the task scheduler measures the resources consumed executing the job and determines its efficiency and an indication of its current processor desire.

42 citations


Proceedings ArticleDOI
26 Mar 2007
TL;DR: This paper provides an overview of several adaptive thread schedulers developed that provide provably good history-based feedback about the job's parallelism without knowing the future of the job, and develops the first nonclairvoy-ant scheduling algorithms to offer such guarantees.
Abstract: Multiprocessor scheduling in a shared multiprogramming environment can be structured as two-level scheduling, where a kernel-level job scheduler allots processors to jobs and a user-level thread scheduler schedules the work of a job on the allotted processors. In this context, the number of processors allotted to a particular job may vary during the job's execution, and the thread scheduler must adapt to these changes in processor resources. For overall system efficiency, the thread scheduler should also provide parallelism feedback to the job scheduler to avoid allotting a job more processors than it can use productively. This paper provides an overview of several adaptive thread schedulers we have developed that provide provably good history-based feedback about the job's parallelism without knowing the future of the job. These thread schedulers complete the job in near-optimal time while guaranteeing low waste. We have analyzed these thread schedulers under stringent adversarial conditions, showing that the thread schedulers are robust to various system environments and allocation policies. To analyze the thread schedulers under this adversarial model, we have developed a new technique, called trim analysis, which can be used to show that the thread scheduler provides good behavior on the vast majority of time steps, and performs poorly on only a few. When our thread schedulers are used with dynamic equipartitioning and other related job scheduling algorithms, they are O(1)-competitive against an optimal offline scheduling algorithm with respect to both mean response time and makespan for batched jobs and nonbatched jobs, respectively. Our algorithms are the first nonclairvoy-ant scheduling algorithms to offer such guarantees.

9 citations


01 Jan 2007
TL;DR: This paper presents two novel adaptive scheduling algorithms – GRAD for centralized scheduling, and WRAD for distributed scheduling, which are the first non-clairvoyant scheduling algorithms that offer provable efficiency without requiring prior information of job’s parallelism.
Abstract: Scheduling competing jobs on multiprocessors has always been an important issue for parallel and distributed systems. The challenge is to ensure global, systemwide efficiency while offering a level of fairness to user jobs. Various degrees of successes have been achieved over the years. However, few existing schemes address both efficiency and fairness over a wide range of work loads. Moreover, in order to obtain analytical results, most of them require prior information about jobs, which may be difficult to obtain in real applications. This paper presents two novel adaptive scheduling algorithms – GRAD for centralized scheduling, and WRAD for distributed scheduling. Both GRAD and WRAD ensure fair allocation under all levels of workload, and they offer provable efficiency without requiring prior information of job’s parallelism. Moreover, they provide effective control over the scheduling overhead and ensure efficient utilization of processors. To the best of our knowledge, they are the first non-clairvoyant scheduling algorithms that offer such guarantees. We also believe that our new approach of resource request-allotment protocol deserves further exploration. Specifically, both GRAD and WRAD are O(1)competitive with respect to mean response time for batched jobs, and O(1)-competitive with respect to makespan for nonbatched jobs with arbitrary release times. The simulation results show that, for non-batched jobs, the makespan produced by GRAD is no more than 1.39 times of the optimal on average and it never exceeds 4.5 times. For batched jobs, the mean response time produced by GRAD is no more than 2.37 times of the optimal on average, and it never exceeds 5.5 times.

3 citations


Book ChapterDOI
27 May 2007
TL;DR: The Planet-in-a-Bottle DDDAS consists of two interacting parts: a fluid lab experiment and a numerical simulator, which employs data assimilation in which actual observations are fed into the simulator to keep the models on track with reality and employs sensitivity-driven observations.
Abstract: Humanity's understanding of the Earth's weather and climate depends critically on accurate forecasting and state-estimation technology. It is not clear how to build an effective dynamic data-driven application system (DDDAS) in which computer models of the planet and observations of the actual conditions interact, however. We are designing and building a laboratory-scale dynamic data-driven application system (DDDAS), called Planet-in-a-Bottle , as a practical and inexpensive step toward a planet-scale DDDAS for weather forecasting and climate model. The Planet-in-a-Bottle DDDAS consists of two interacting parts: a fluid lab experiment and a numerical simulator. The system employs data assimilation in which actual observations are fed into the simulator to keep the models on track with reality, and employs sensitivity-driven observations in which the simulator targets the real-time deployment of sensors to particular geographical regions and times for maximal effect, and refines the mesh to better predict the future course of the fluid experiment. In addition, the feedback loop between targeting of both the observational system and mesh refinement will be mediated, if desired, by human control.

1 citations