Output Guards and Nondeterminism in “Communicating Sequential Processes”
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Unbounded speed variability in distributed communication systems
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A preliminary architecture for a basic data-flow processor
ISCA '75 Proceedings of the 2nd annual symposium on Computer architecture
A difference in efficiency between synchronous and asynchronous systems
STOC '81 Proceedings of the thirteenth annual ACM symposium on Theory of computing
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
Local and global properties in networks of processors (Extended Abstract)
STOC '80 Proceedings of the twelfth annual ACM symposium on Theory of computing
Real-Time Synchronization of Interprocess Communications
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Generalized Scheme for Mapping Parallel Algorithms
IEEE Transactions on Parallel and Distributed Systems
Refinement-based verification of local synchronization algorithms
FM'11 Proceedings of the 17th international conference on Formal methods
Efficient distributed handshake using mobile agents
ICDCN'06 Proceedings of the 8th international conference on Distributed Computing and Networking
Hi-index | 0.00 |
In this paper we consider a resource allocation problem which is local in the sense that the maximum number of users competing for a particular resource at any time instant is bounded and also at any time instant the maximum number of resources that a user is willing to get is bounded. The problem may be viewed as that of achieving matchings in dynamically changing hypergraphs, via a distributed algorithm. We show that this problem is related to the fundamental problem of handshake communication (which can be viewed as achieving matchings in a dynamically changing graph, via distributed algorithms) in that an efficient solution to each of them implies an efficient solution to the other. We provide real-time solutions to the resource allocation problem (that is, we give distributed algorithms with real time response). We make essential use of probabilistic techniques as first used by [Rabin, 80b], where processes are allowed to make independent probabilistic choices. On the other hand, no probability assumptions about the system behavior are made. One of our solutions assumes the existence of an underlying real-time handshake communication system, as described in [Reif, Spirakis, 81]. Our other solution is based on efficient synchronization by flag variables, which are written only by one process and read by at most one other process. The special case of equi-speed processes is first examined. Then we generalize to asynchronous processes. Applications are made to dining philosophers, scheduling and two-phase locking in databases.