Scheduling Adaptively Parallel Jobs

An adaptively parallel job is one in which the number of processors which can be used without waste changes during execution. When allocating processors to multiple adap-tively parallel jobs, a job scheduler should attempt to be fair-meaning that no job gets fewer processors than another, unless it demands fewer-and efficient-meaning that the scheduler does not waste processors on jobs that do not need them. Moreover, the scheduler should adapt quickly and be implementable in a distributed fashion. In this thesis, I present and analyze a randomized processor allocation algorithm, the SRLBA algorithm, which allocates processors to adaptively parallel jobs in a distributed system of P processors and J jobs. The algorithm consists of rounds of load-balancing steps in which processor migration may occur. In the case that each job has a demand which is more than its fair share P/J of the processors, I show that after O(ig P) rounds, the system is in an almost fair and efficient allocation with high probability. To analyze the algorithm, I use a two-phase analysis with a potential-function argument. In Phase 1, I show that after O(lg P) rounds every job has at least a constant fraction of P/J processors. Then I show that in Phase 2, after an additional O(lg P) rounds, the system converges to an almost fair and efficient configuration. Finally, I conclude my thesis with some directions for future work.

[1]  Shikharesh Majumdar,et al.  Scheduling in multiprogrammed parallel systems , 1988, SIGMETRICS 1988.

[2]  Kenneth C. Sevcik Characterizations of parallelism in applications and their use in scheduling , 1989, SIGMETRICS '89.

[3]  Anoop Gupta,et al.  Process control and scheduling issues for multiprogrammed shared-memory multiprocessors , 1989, SOSP '89.

[4]  Mary K. Vernon,et al.  The performance of multiprogrammed multiprocessor scheduling algorithms , 1990, SIGMETRICS '90.

[5]  The Performance of Multiprogrammed Multiprocessor Scheduling Policies , 1990, SIGMETRICS.

[6]  Raj Vaswani,et al.  A dynamic processor allocation policy for multiprogrammed shared-memory multiprocessors , 1993, TOCS.

[7]  Kurt Windisch,et al.  Non-contiguous Processor Allocation Algorithms for Mesh-connected Multicomputers 1 , 1994 .

[8]  Mary K. Vernon,et al.  Use of application characteristics and limited preemption for run-to-completion parallel processor scheduling policies , 1994, SIGMETRICS.

[9]  Robert D. Blumofe,et al.  Executing multithreaded programs efficiently , 1995 .

[10]  Philip Andrew Lisiecki,et al.  Macro-level scheduling in the Cilk Network of Workstations environment , 1996 .

[11]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[12]  Bill Nitzberg,et al.  Noncontiguous Processor Allocation Algorithms for Mesh-Connected Multicomputers , 1997, IEEE Trans. Parallel Distributed Syst..

[13]  Matteo Frigo,et al.  The implementation of the Cilk-5 multithreaded language , 1998, PLDI.