Efficient fault-tolerant algorithms for distributed resource allocation

Solutions to resource allocation problems and other related synchronization problems in distributed systems are examined with respect to the measures of response time, message complexity, and failure locality. Response time measures the time it takes for an algorithm to respond to the requests of a process; message complexity measures the number of messages sent and received by a process; and failure locality characterizes the size of the network that is affected by the failure of a single process. An algorithm for the resource allocation problem that achieves a constant failure locality of four along with a quadratic response time and a quadratic message complexity is presented. Applications of the algorithm to other process synchronization problems in distributed systems are also demonstrated.

[1]  Nancy A. Lynch,et al.  Fast allocation of nearby resources in a distributed system , 1980, STOC '80.

[2]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[3]  Arthur Charlesworth,et al.  The multiway rendezvous , 1987, TOPL.

[4]  K. Mani Chandy,et al.  The drinking philosophers problem , 1984, ACM Trans. Program. Lang. Syst..

[5]  Abraham Silberschatz,et al.  An Effective Implementation for the Generalized Input-Output Construct of CSP , 1983, TOPL.

[6]  Myunghwan Kim,et al.  A Distributed Synchronization Scheme for Fair Multi-Process Handshakes , 1990, Inf. Process. Lett..

[7]  Rajive L. Bagrodia,et al.  Process Synchronization: Design and Performance Evaluation of Distributed Algorithms , 1989, IEEE Trans. Software Eng..

[8]  D. Kumar An implementation of N-party synchronization using tokens , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[9]  Michael J. Fischer,et al.  Economical solutions for the critical section problem in a distributed system (Extended Abstract) , 1977, STOC '77.

[10]  Yih-Kuen Tsay,et al.  Fault-Tolerant Algorithms for Fair Interprocess Synchronization , 1994, IEEE Trans. Parallel Distributed Syst..

[11]  Michael E. Saks,et al.  A dining philosophers algorithm with polynomial response time , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[12]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[13]  S. Ramesh,et al.  A New and Efficient Implementation of Multiprocess Synchronization , 1987, PARLE.

[14]  Nissim Francez,et al.  Script: A communication abstraction mechanism , 1983, PODC '83.

[15]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[16]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[17]  A. Prasad Sistla,et al.  Distributed algorithms for ensuring fair interprocess communicatons , 1984, PODC '84.

[18]  G. S. Graham A New Solution of Dijkstra ' s Concurrent Programming Problem , 2022 .

[19]  Rajive L. Bagrodia,et al.  Synchronization of asynchronous processes in CSP , 1989, ACM Trans. Program. Lang. Syst..

[20]  Eugene Styer,et al.  Improved algorithms for distributed resource allocation , 1988, PODC '88.

[21]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[22]  Nissim Francez,et al.  Script: A Communication Abstraction Mechanism and Its Verification , 1989, Sci. Comput. Program..

[23]  Vassos Hadzilacos,et al.  A first-come-first-served mutual-exclusion algorithm with small communication variables , 1991, TOPL.