Processor sharing for cooperative multi-task applications

A processor sharing system allows busy users in a networked environment to take advantage of the processing power of idle machines. Experimental systems have demonstrated the usefulness of the concept, but processor sharing has yet to achieve widespread acceptance. Simplistic sharing policies and programming difficulty are two factors that combine to limit the use and acceptance of processor sharing. Group management, a new approach to processor sharing presented here, addresses these problems. Group management is designed to support processor sharing applications that consist of multiple cooperating tasks. This new approach provides a framework for the development of sophisticated sharing policies that can support a variety of applications with differing execution characteristics. In addition, it provides services to programmers that ease the task of writing programs for, and running programs in, a processor sharing environment. This dissertation introduces group management and describes its implementation in the ARCADE distributed system. In addition, a number of processor sharing applications that have been implemented and used in ARCADE are discussed.

[1]  Phillip Krueger,et al.  The Diverse Objectives of Distributed Scheduling Policies , 1987, ICDCS.

[2]  Marvin Theimer,et al.  Finding idle machines in a workstation-based distributed system , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[3]  John N. Tsitsiklis,et al.  Parallel and distributed computation , 1989 .

[4]  Roger B. Dannenberg Resource sharing in a network of personal computers , 1982 .

[5]  Henri E. Bal,et al.  Experience with distributed programming in Orca , 1990, Proceedings. 1990 International Conference on Computer Languages.

[6]  Anna Hác,et al.  Dynamic Load Balancing in a Distributed System Using a Decentralized Algorithm , 1987, ICDCS.

[7]  Edward R. Zayas,et al.  Attacking the process migration bottleneck , 1987, SOSP '87.

[8]  Henri E. Bal,et al.  A Distributed Implementation of the Shared Data-object Model , 1989 .

[9]  S. Zhou,et al.  A Trace-Driven Simulation Study of Dynamic Load Balancing , 1987, IEEE Trans. Software Eng..

[10]  Erik H. Baalbergen Design and Implementation of Parallel Make , 1988, Comput. Syst..

[11]  Raphael A. Finkel,et al.  Designing a process migration facility: the Charlotte experience , 1989, Computer.

[12]  Fred Douglis,et al.  Process Migration in the Sprite Operating System , 1987, ICDCS.

[13]  Jonathan Schaeffer,et al.  A Template-Based Approach to the Generation of Distributed Applications Using a Network of Workstations , 1991, IEEE Trans. Parallel Distributed Syst..

[14]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[15]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[16]  Fred Douglis,et al.  Transparent Process Migration for Personal Workstations , 1989 .

[17]  David A. Nichols,et al.  Using idle workstations in a shared computing environment , 1987, SOSP '87.

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

[19]  Miron Livny,et al.  Scheduling Remote Processing Capacity in a Workstation-Processor Bank Network , 1987, ICDCS.

[20]  ReportFred Douglis,et al.  Process Migration in Sprite : A Status , 1989 .

[21]  Marvin Theimer,et al.  Preemptable remote execution facilities for the V-system , 1985, SOSP '85.

[22]  Domenico Ferrari,et al.  A Measurement Study of Load Balancing Performance , 1987, IEEE International Conference on Distributed Computing Systems.

[23]  Bruce J. Walker,et al.  The LOCUS Distributed System Architecture , 1986 .

[24]  Jeffrey S. Chase,et al.  The Amber system: parallel programming on a network of multiprocessors , 1989, SOSP '89.

[25]  Barton P. Miller,et al.  Process migration in DEMOS/MP , 1983, SOSP '83.

[26]  Karsten Schwan,et al.  StarOS, a multiprocessor operating system for the support of task forces , 1979, SOSP '79.

[27]  Phillip Krueger,et al.  A comparison of preemptive and non-preemptive load distributing , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[28]  Kemal Efe,et al.  Heuristic Models of Task Assignment Scheduling in Distributed Systems , 1982, Computer.

[29]  Kai Hwang,et al.  A Unix-Based Local Computer Network with Load Balancing , 1982, Computer.

[30]  Donald F. Ferguson,et al.  Microeconomic algorithms for load balancing in distributed computer systems , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[31]  Yung-Terng Wang,et al.  Load Sharing in Distributed Systems , 1985, IEEE Transactions on Computers.

[32]  Fred Douglis Experience with Process Migration in Sprite , 1989 .

[33]  Thomas L. Casavant,et al.  Analysis of Three Dynamic Distributed Load-Balancing Strategies with Varying Global Information Requirements , 1987, ICDCS.

[34]  John K. Ousterhout,et al.  Medusa: An experiment in distributed operating system structure (Summary) , 1979, SOSP '79.

[35]  Marvin M. Theimer Preemptable remote execution facilities for loosely-coupled distributed systems (migration, transparency, scheduling) , 1986 .

[36]  Fred Douglis Transparent process migration in the Sprite operating system , 1990 .

[37]  E. Baalbergen Parallel and Distributed Compilations in Loosely-Coupled Systems: A Case Study , 1986 .

[38]  M. R. Casey,et al.  Data Units : A Process Interaction Paradigm , 1991 .

[39]  High-performance Implicit Communication in a Distributed System , 1990 .

[40]  Of references. , 1966, JAMA.

[41]  Roger T. Stevens Fractal programming in C , 1989 .

[42]  Jane W.-S. Liu,et al.  Dynamic Load Balancing Algorithms in Homogeneous Distributed Systems , 1986, IEEE International Conference on Distributed Computing Systems.

[43]  William P. Delaney,et al.  Unifying Kernel-level and Language-level Approaches to Distributed Shared Data , 1989 .

[44]  David L. Cohn,et al.  ARCADE: A Platform for Heterogeneous Distributed Operating Systems , 1989 .

[45]  Rafael Alonso,et al.  Sharing jobs among independently owned processors , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[46]  Robert B. Hagmann,et al.  Process Server: Sharing Processing Power in a Workstation Environment , 1986, ICDCS.

[47]  Donald F. Towsley,et al.  Imbedding gradient estimators in load balancing algorithms , 1988, [1988] Proceedings. The 8th International Conference on Distributed.