A fault-tolerant algorithm for distributed resource allocation

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 art...

Descripción completa

Detalles Bibliográficos
Autores: Pessolani, Pablo, Jara, Oscar, Gonnet, Silvio, Cortés, Toni|||0000-0002-2537-8937, Tinetti, Fernando
Tipo de recurso: artículo
Fecha de publicación:2017
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:español
OAI Identifier:oai:upcommons.upc.edu:2117/113545
Acceso en línea:https://hdl.handle.net/2117/113545
https://dx.doi.org/10.1109/TLA.2017.8070421
Access Level:acceso abierto
Palabra clave:Electronic data processing -- Distributed processing
Fault-tolerant computing
Computer network protocols
Fault tolerance
Fault tolerant systems
IP networks
Algorithm design and analysis
Resource management
Irrigation
Processament distribuït de dades
Tolerància als errors (Informàtica)
Protocols de xarxes d'ordinadors
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
Descripción
Sumario: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.