Output Guards and Nondeterminism in “Communicating Sequential Processes”
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communications of the ACM
Distributed algorithms for synchronizing interprocess communication within real time
STOC '81 Proceedings of the thirteenth annual ACM symposium on Theory of computing
Fast allocation of nearby resources in a distributed system
STOC '80 Proceedings of the twelfth annual ACM symposium on Theory of computing
Graphs and Hypergraphs
Synchronization of asynchronous processes in CSP
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient fault tolerant algorithms for resource allocation in distributed systems
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
An introduction to assertional reasoning for concurrent systems
ACM Computing Surveys (CSUR)
Bounds on the efficiency of message-passing protocols for parallel computers
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
Efficient fault-tolerant algorithms for distributed resource allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Localizing Failures in Distributed Synchronization
IEEE Transactions on Parallel and Distributed Systems
Strong Interaction Fairness Via Randomization
IEEE Transactions on Parallel and Distributed Systems
Self-Stabilizing Strong Fairness under Weak Fairness
IEEE Transactions on Parallel and Distributed Systems
Fault-Tolerant Algorithms for Fair Interprocess Synchronization
IEEE Transactions on Parallel and Distributed Systems
Some impossibility results in interprocess synchronization
Distributed Computing
Hi-index | 0.00 |
Message passing is one of the primary methods of information exchange between communicating processes. Many programming languages (e.g., CSP, ADA) provide interprocess communication through a rendezvous in which a sender (receiver) process waits until the receiver (sender) is ready to receive (send) a message; thus there is no buffering of messages. Many of these languages also allow non-deterministic constructs by which a process may wait to communication with any of a set of other processes. In this paper we consider the problem of ensuring different fairness properties in such a system of processes. In a natural model we prove a simple lower bound on the time complexity to ensure weak fairness and present near optimal algorithms in special cases. We also give new efficient algorithms to ensure strong fairness. In this paper we introduce a formal model for processes and consider two different fairness properties: weak fairness and strong fairness. We investigate different distributed scheduling algorithms for ensuring the various fairness properties in a model where neighboring schedulers interact with each other using shared variables. We use the time complexity measure as defined in [Ly80].