This paper introduces a new distributed data object called Resource Controller that provides an abstraction for managing the consumption of a global resource in a distributed system. Examples of resources that may be managed by such an object include number of messages sent, number of nodes participating in the protocol, and total CPU time consumed.
The Resource Controller object is accessed through a procedure that can be invoked at any node in the network. Before consuming a unit of resource at some node, the controlled algorithm should invoke the procedure at this node, requesting a permit to consume a unit of the resource. The procedure returns either a permit or a rejection.
The key characteristics of the Resource Controller object are the constraints that it imposes on the global resource consumption. An (M, W)-Controller guarantees that the total number of permits granted is at most M; it also ensures that, if a request is rejected, then at least M - W permits are eventually granted, even if no more requests are made after the rejected one.
In this paper, we describe several message and space-efficient implementations of the Resource Controller object. In particular, we present an (M, W)-Controller whose message complexity is O(n log^2 n log(M/(W + 1))) where n is the total number of nodes. This is in contrast to the O(nM) message complexity of a fully centralized controller which maintains a global counter of the number of granted permits at some distinguished node and relays all the requests to that node.
The abstract is also available as a LaTeX file, a DVI file, or a PostScript file.
A preliminary version of these results was presented in: Yehuda Afek, Baruch Awerbuch, Serge A. Plotkin, and Michael Saks. Local management of a global resource in a communication network. In 28th Annual Symposium on Foundations of Computer Science, pages 347-357, Los Angeles, California, 12-14 October 1987. IEEE.
Categories and Subject Descriptors: C.2.3 [Computer-Communication Networks]: Network Operations; C.2.4 [Computer-Communication Networks]: Distributed Systems; F.2.2 [Analysis of Algorithms and Problem Complexity]: Nonnumerical Algorithms and Problems; G.2.2 [Discrete Mathematics]: Graph Theory
General Terms: Algorithms, Theory
Additional Key Words and Phrases: Diffusing computations, distributed computation, distributed network management, resource management
- Yehuda Afek, Baruch Awerbuch, and Eli Gafni. Applying static network protocols to dynamic networks. In 28th Annual Symposium on Foundations of Computer Science, pages 358-370, Los Angeles, California, 12-14 October 1987. IEEE.
- Yehuda Afek, Baruch Awerbuch, Serge A. Plotkin, and Michael Saks. Local management of a global resource in a communication network. In 28th Annual Symposium on Foundations of Computer Science, pages 347-357, Los Angeles, California, 12-14 October 1987. IEEE.
- Baruch Awerbuch. Complexity of network synchronization. Journal of the ACM, 32(4):804-823, October 1985.
- Baruch Awerbuch. On the effects of feedback in dynamic network protocols (preliminary version). In 29th Annual Symposium on Foundations of Computer Science, pages 231-245, White Plains, New York, 24-26 October 1988. IEEE.
- Reuven Bar-Yehuda and Shay Kutten. Fault tolerant distributed majority commitment. Journal of Algorithms, 9(4):568-582, December 1988.
- R. G. Gallager, P. A. Humblet, and Philip M. Spira. A distributed algorithm for minimum-weight spanning trees. ACM Transactions on Programming Languages and Systems, 5(1):66-77, January 1983.
- Nancy A. Lynch, Nancy D. Griffeth, Michael J. Fischer, and Leonidas J. Guibas. Probabilistic analysis of a network resource allocation algorithm. Information and Control, 68(1-3):47-85, January/February/March 1986.