FTDR: Tolerancia a fallos, en clusters de computadores geográficamente distribuidos, basada en Replicación de Datos

Author

Rodrigues de Souza, Josemar

Director

Rexachs del Rosario, Dolores Isabel

Date of defense

2006-06-01

ISBN

8468999873

Legal Deposit

B-33209-2006



Department/Institute

Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius

Abstract

El crecimiento de los clusters de computadores, y en concreto de sistemas multicluster incrementa los potenciales puntos de fallos, exigiendo la utilización de esquemas de tolerancia a fallos que proporcionen la capacidad de terminar el procesamiento. El objetivo general planteado a sistemas de tolerancia a fallos es que el trabajo total se ejecute correctamente, aún cuando falle algún elemento del sistema, perdiendo el mínimo trabajo realizado posible, teniendo en cuenta que las prestaciones disminuyen debido al overhead necesario introducido para tolerar fallos y a la perdida de una parte del sistema. Esta Tesis presenta un modelo de tolerancia a fallos en clusters de computadores geográficamente distribuidos, utilizando Replicación de Datos denominado FTDR (Fault Tolerant Data Replication). Está basado en la replicación inicial de los procesos y una replicación de datos dinámica durante la ejecución, con el objetivo de preservar los resultados críticos. Está orientado a aplicaciones con un modelo de ejecución Master/Worker y ejecutado de forma transparente al usuario. El sistema de tolerancia a fallos diseñado, es configurable y cumple el requisito de escalabilidad. Se ha diseñado un modelo funcional, e implementado un Middleware. Se propone una metodología para incorporarlo en el diseño de aplicaciones paralelas. El modelo está basado en detectar fallos en cualquiera de los elementos funcionales del sistema (nodos de cómputo y redes de interconexión) y tolerar estos fallos a partir de la replicación de programas y datos realizada, garantizando la finalización del trabajo, y preservando la mayor parte del cómputo realizado antes del fallo, para ello es necesario, cuando se produce un fallo, recuperar la consistencia del sistema y reconfigurar el multicluster de una forma transparente al usuario. El Middleware desarrollado para la incorporación de la tolerancia a fallos en el entorno multicluster consigue un sistema más fiable, sin incorporar recursos hardware extra, de forma que partiendo de los elementos no fiables del cluster, permite proteger el cómputo realizado por la aplicación frente a fallos, de tal manera que si un ordenador falla otro se encarga de terminar su trabajo y el cómputo ya realizado está protegido por la Replicación de Datos. Este Middleware se puede configurar para soportar más de un fallo simultáneo, seleccionar un esquema centralizado o distribuido, también se pueden configurar parámetros relativos a aspectos que influyen en el overhead introducido, frente a la pérdida de más o menos computo realizado. Para validar el sistema se ha diseñado un sistema de inyección de fallos. Aunque añadir la funcionalidad de tolerancia a fallos, implica una pérdida de prestaciones, se ha comprobado experimentalmente, que utilizando este sistema, el overhead introducido sin fallos, es inferior al 3% y en caso de fallo, después de un tiempo de ejecución, es mejor el tiempo de ejecución (runtime) tolerando el fallo que relanzar la aplicación.


The growth of the clusters computers and in special multi-cluster systems increases the potential failures points, demanding the utilization of fault tolerance schemes that provide the capacity of finishing the processing. The general goal proposed for fault tolerance systems is that the total work executes correctly, still when it fails with some elements of the system, losing the minimum possible performed work, having in mind that performance decreases due to the necessary overhead introduced to tolerate failures and to the loss of a part of the system. This Thesis presents a fault tolerance model in clusters computers geographically distributed, using Data Replication denominated FTDR (Fault Tolerant Data Replication). It is based on initial process replication and a dynamic data replication during the execution, with the goal of preserving the critical results. It is guided to the applications with an execution model Master/Worker and executed in a transparent way to the user. The design of fault tolerance system is configurable and accomplishes scalability requisites. A functional model has been drawn, and a Middleware has been implemented. A methodology to incorporate it in the parallels applications design is proposed. The model is based on failures detection for any of the functional elements of the system (nodes of compute and network interconnection) and to tolerate these failures starting from programs replication and data, guaranteeing the conclusion of work, and preserving most of the compute performed before the fault, for that it is necessary, when a failure takes place, to recover the consistency of the system and recon figurate the multicluster in a transparent way to the user. The Middleware developed to incorporate fault tolerance in the multicluster environment gets a more reliable system, without incorporating extra hardware resources, so that starting from the non reliable elements of cluster, it allows to protect the computation performed by the application in front of failures, that is if a computer fails another takes care of finishing its work and compute yet performed is protected by Data Replication. This Middleware can be configured to tolerate more than one simultaneous failure, select a centralized or distributed scheme; relative parameters for aspects that influence in the introduced overhead can also be configured, adapting to the loss of more or less performed compute. To validate the system we drew a failure injection system. Despite adding the fault tolerance functionality implies a loss of installments, it is experimentally proved, that using this system, the overhead introduced without failures, is lower than 3% and in case of failure, after an execution time, the runtime is better tolerating the failure than relaunching the application.

Keywords

Replicación de datos; Tolerancia a fallos; Cluster de computadores

Subjects

004 - Computer science and technology. Computing. Data processing

Knowledge Area

Tecnologies

Documents

jrs1de1.pdf

1.222Mb

 

Rights

ADVERTIMENT. L'accés als continguts d'aquesta tesi doctoral i la seva utilització ha de respectar els drets de la persona autora. Pot ser utilitzada per a consulta o estudi personal, així com en activitats o materials d'investigació i docència en els termes establerts a l'art. 32 del Text Refós de la Llei de Propietat Intel·lectual (RDL 1/1996). Per altres utilitzacions es requereix l'autorització prèvia i expressa de la persona autora. En qualsevol cas, en la utilització dels seus continguts caldrà indicar de forma clara el nom i cognoms de la persona autora i el títol de la tesi doctoral. No s'autoritza la seva reproducció o altres formes d'explotació efectuades amb finalitats de lucre ni la seva comunicació pública des d'un lloc aliè al servei TDX. Tampoc s'autoritza la presentació del seu contingut en una finestra o marc aliè a TDX (framing). Aquesta reserva de drets afecta tant als continguts de la tesi com als seus resums i índexs.

This item appears in the following Collection(s)