Diseño de un middleware tolerante a fallas basado en el protocolo Paxos

Ricardo Adán Madrid Trejo, Ricardo Marcelín Jiménez, Orlando Muñoz Texzocotetla

Resumen


El consenso, de manera genérica, consiste en un conjunto de procesos tales que cada uno registra algún valor de entrada y, basados en estos valores, deben coincidir en un valor de salida. Paxos es un algoritmo que resuelve el problema del consenso para el manejo consistente de registros duplicados en una red de procesos expuestos al riesgo de fallas de paro y recuperación. Es utilizado en la construcción de sistemas con requerimientos de alta disponibilidad. En este artículo se describe el sistema de archivos Babel y la experiencia al implementar Paxos para la administración de metadatos en dicho sistema. El énfasis de la exposición está puesto en la metodología
con la que se probó la implementación, los problemas que se detectaron que hacen imposible ejecutar correctamente el protocolo Paxos, así como y las soluciones que se propone para estos escenarios particulares.

Palabra(s) Clave(s): consenso, consistencia, metadatos, paxos.


Texto completo:

1587-1607 PDF

Referencias


M. J. Fischer, N. A. Lynch, M. S. Paterson, "Impossibility of Distributed Consensus with One Faulty Process”. J. ACM. Vol. 32. No. 2. April 1985. 374-382 pp.

H. Attiya, J. Welch, Distributed Computing: Fundamentals, Simulations and Advanced Topics. 2004. John Wiley & Sons.

T. D. Chandra, S. Toueg, "Unreliable Failure Detectors for Reliable Distributed Systems”. J. ACM. Vol. 43. No. 2. March 1996. 225-267 pp.

L. Lamport, "The Part-time Parliament”. ACM Trans. Comput. Syst. Vol. 16. No. 2. May 1998. 133-169 pp.

L. Lamport, "Paxos made simple”. ACM SIGACT News. Vol. 32. No. 4. Dec 2001. 51—58 pp.

D. Stamatakis, N. Tsikoudis, O. Smyrnaki, K. Magoutis. “Scalability of replicated metadata services in distributed file systems”. En KarlMichael Göschka y Seif Haridi, editors, Distributed Applications and Interoperable Systems. Vol. 7272 of Lecture Notes in Computer Science. Springer Berlin Heidelberg. 2012. 31-44 pp.

D. Ongaro, J. Ousterhout. “In search of an understandable consensus algorithm”. Proceedings of the 2014 USENIX. Conference on USENIX Annual Technical Conference. Berkeley, CA, USA. 2014. 305-320 pp.

Fred B. Schneider, "Implementing Fault-tolerant Services Using the State Machine Approach: A Tutorial”. ACM Comput. Surv. Vol. 22. No. 4. Dec. 1990. 299-319 pp.

Keidar, S. Rajsbaum, “On the cost of fault-tolerant consensus when there are no faults - a tutorial”. In R. de Lemos, T. S. Weber, and J. B. C. Jr., editors. LADC. Vol. 2847 of Lecture Notes in Computer Science. 2003. 366–368 pp.






URL de la licencia: https://creativecommons.org/licenses/by/3.0/deed.es

Barra de separación

Licencia Creative Commons    Pistas Educativas está bajo la Licencia Creative Commons Atribución 3.0 No portada.    

TECNOLÓGICO NACIONAL DE MÉXICO / INSTITUTO TECNOLÓGICO DE CELAYA

Antonio García Cubas Pte #600 esq. Av. Tecnológico, Celaya, Gto. México

Tel. 461 61 17575 Ext 5450 y 5146

pistaseducativas@itcelaya.edu.mx

http://pistaseducativas.celaya.tecnm.mx/index.php/pistas