Output Guards and Nondeterminism in “Communicating Sequential Processes”
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communications of the ACM
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A difference in efficiency between synchronous and asynchronous systems
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
Local and global properties in networks of processors (Extended Abstract)
STOC '80 Proceedings of the twelfth annual ACM symposium on Theory of computing
Deadlock- and livelock-free packet switching networks
STOC '80 Proceedings of the twelfth annual ACM symposium on Theory of computing
Termination of Probabilistic Concurrent Program
ACM Transactions on Programming Languages and Systems (TOPLAS)
Real-Time Synchronization of Interprocess Communications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Termination of probabilistic concurrent programs: (extended abstract)
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Unbounded speed variability in distributed communication systems
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Real time resource allocation in distributed systems
PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Distributed algorithms for ensuring fair interprocess communicatons
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Hi-index | 0.00 |
This paper considers a fixed (possibly infinite) set &pgr; of distributed asynchronous processes which at various times are willing to communicate with each other. We describe probabilistic algorithms for synchronizing this communication with boolean “flag” variables, each of which can be written by only one process and read by at most one other process. With very few assumptions (the speeds of processes may vary in time within fixed arbitrary bounds, and the processes may be willing to communicate with a time varying set of processes (but bounded in number), and no probability assumptions about system behavior) we show our synchronization algorithms have real time response: If a pair of processes are mutually willing to communicate within a constant time interval, they establish communication in that interval, with high likelihood (for the worst case behavior of the system). Our communication model and synchronization algorithms are quite robust. They are applied to solve a large class of real time resource synchronization problems, as well as real time implementation of the synchronization primitives of Hoare's multiprocessing language CSP.