A loosely-coupled distributed system consisting of a cluster of workstations and server machines represents a large amount of computational power, much of which is frequently idle. Users would like to take advantage of this idle processing power by running one or more jobs in parallel on underutilized workstations. The use of underutilized workstations as computation servers not only increases the processing power available to users, but also improves the utilization of the hardware base.
However, this use must not compromise a workstation owner's claim to his machine: A user must be able to quickly reclaim his workstation to avoid interference with personal activities, implying removal of "guest" programs within a few seconds time. In addition, use of remote machines as computation servers should not require programs to be written with special provisions for executing remotely. That is, remote execution should be preemptable and transparent. On the other hand, rather than simply terminate the guest program it should be possible to migrate it to another available workstation.
In this thesis, we study the key design and performance issues that affect preemptable remote execution in a loosely-coupled distributed system. Five major topics are addressed in our work: (1) provision of network-transparent execution environments for programs, (2) structuring migration facilities such that they interfere with the normal operation of the system in a minimal manner, (3) elimination of residual dependencies that occur when a program migrates but has state information left in machine-relative servers on the original machine, (4) provision of global scheduling facilities for finding idle/lightly loaded machines for remote execution and migration of programs, and (5) provision of fair access to global resources among the programs and users of a system. In the process of addressing these topics we delineate when remote execution facilities, with or without migration facilities, are useful and under what conditions they are easy (or difficult) to provide.
Cited By
- Shub C Native code process-originated migration in a heterogeneous environment Proceedings of the 1990 ACM annual conference on Cooperation, (266-270)
- Lauwers J and Lantz K Collaboration awareness in support of collaboration transparency: requirements for the next generation of shared window systems Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (303-311)
- Dubach F and Shub C Process-originated migration in a heterogeneous environment Proceedings of the 17th conference on ACM Annual Computer Science Conference, (98-102)
- Nichols D (1987). Using idle workstations in a shared computing environment, ACM SIGOPS Operating Systems Review, 21:5, (5-12), Online publication date: 1-Nov-1987.
- Nichols D Using idle workstations in a shared computing environment Proceedings of the eleventh ACM Symposium on Operating systems principles, (5-12)
Recommendations
Preemptable ticket spinlocks: improving consolidated performance in the cloud
VEE '13When executing inside a virtual machine environment, OS level synchronization primitives are faced with significant challenges due to the scheduling behavior of the underlying virtual machine monitor. Operations that are ensured to last only a short ...
Preemptable ticket spinlocks: improving consolidated performance in the cloud
VEE '13: Proceedings of the 9th ACM SIGPLAN/SIGOPS international conference on Virtual execution environmentsWhen executing inside a virtual machine environment, OS level synchronization primitives are faced with significant challenges due to the scheduling behavior of the underlying virtual machine monitor. Operations that are ensured to last only a short ...