By: A. Sane, R. Campbell
Summary: To manage resources shared among multiple processes, let processes act as generators or acceptors of resources. Acceptors register themselves with an Exchanger.
In a concurrent system, servers do more work than clients, so they can become computation and communication bottlenecks. Further, servers on one machine compete for shared facilities, so one busy server can starve another. To manage resources shared among multiple processes, let processes act as generators or acceptors of resources. Acceptors register themselves with an exchanger. When an acceptor requests a resource, it must have a resource to exchange. Each acceptor has a pool of resources based on the credit it has with the system. If acceptors keep resources too long, its pool will eventually be exhausted.