A Fault-Tolerant Algorithm For Distributed Resource Allocation - Pessolani, Pablo (2017)
Resource allocation is a usual problem that must be faced during a distributed system design. Despite the large number of algorithms proposed in literature to solve this problem, most papers lack of detailed descriptions about how to turn these algorithms into real-world reliable protocols. This article presents a fault-tolerant algorithm for distributed resource allocation named SLOTS which is implemented as an executable protocol. It allocates resources among members in a fairly manner using simple heuristics and employing a donation approach. SLOTS supports the dynamic behavior of clusters and provides high availability services. It bases its fault-tolerance properties and membership changes in atomic sets of operations (like transactions) using services provided by an underlying Group Communication System.