| | |
Summary: Implicit Coscheduling:
Coordinated Scheduling with Implicit Information
in Distributed Systems
Andrea Carol ArpaciDusseau
Computer Sciences Department
University of Wisconsin -- Madison
Abstract
In modern distributed systems, coordinated timesharing is required for communicating processes to
leverage the improved performance of switchbased networks and low overhead protocols. Coordinated
timesharing has traditionally been achieved with gang scheduling or explicit coscheduling, implemen
tations of which often suffer from many deficiencies: multiple points of failure, high contextswitch
overheads, and poor interaction with clientserver, interactive, and I/Ointensive workloads.
Implicit coscheduling dynamically coordinates communicating processes across distributed machines
without these structural deficiencies. In implicit coscheduling, no communication is required across op
erating system schedulers; instead, cooperating processes achieve coordinated scheduling by reacting to
implicit information carried by naturallyoccurring communication within the parallel application. The
implementation of this approach is simple and allows participating nodes to act autonomously.
We introduce two key mechanisms in implicit coscheduling. The first component is conditional two
phase waiting, a generalization of traditional twophase waiting in which spintime may be increased
depending upon events that occur while the process spins. The second component is a fair and preemptive
|