dc.contributor
Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius
dc.contributor.author
Villamayor Leguizamón, Jorge Luis
dc.date.accessioned
2019-03-04T08:27:31Z
dc.date.available
2019-03-04T08:27:31Z
dc.date.issued
2018-11-30
dc.identifier.isbn
9788449084645
en_US
dc.identifier.uri
http://hdl.handle.net/10803/666057
dc.description.abstract
Los sistemas de computación de alto rendimiento (HPC) continúan creciendo exponencialmente en términos de
cantidad y densidad de componentes para lograr mayor potencia de cálculo. Al mismo tiempo, cloud computing se
está volviendo popular, ya que las características clave tales como escalabilidad, pay-per-use y alta disponibilidad
continúan evolucionando. También se está convirtiendo en una plataforma competitiva para ejecutar aplicaciones
paralelas HPC debido al rendimiento cada vez mayor de instancias virtualizadas y de alta disponibilidad. Sin embargo,
aumentar la cantidad de componentes para crear sistemas más grandes tiende a incrementar la frecuencia de fallos
tanto en clústeres como en cloud. Hoy en día, los sistemas HPC tienen una tasa de fallos de alrededor de 1000 por
año, lo que significa un fallo cada aproximadamente 8 horas.
La mayoría de las aplicaciones paralelas distribuidas se construyen sobre una interfaz de paso de mensajes (MPI). Las
implementaciones MPI siguen una semántica fail-stop predeterminada, que aborta la ejecución en caso de fallos de
host en un clúster. En este caso, el propietario de la aplicación debe reiniciar la ejecución, lo que afecta el tiempo total
esperado del mismo y, además, el costo, ya que requiere adquirir más recursos durante periodos de tiempo más largos.
Las técnicas de Tolerancia a Fallos (TF) deben aplicarse a las ejecuciones paralelas de MPI tanto en clúster como en
cloud. Con las técnicas de TF, se garantiza una alta disponibilidad para aplicaciones paralelas. Para aplicar algunas
soluciones de TF, se requieren privilegios de administrador para instalarlas en los nodos del clúster. Además, cuando
aparecen fallos, se requiere intervención humana para reiniciar la aplicación. Se prefiere una solución que minimice
la intervención de usuarios y administradores.
Una contribución de esta tesis es un Fault Tolerance Manager (FTM) para checkpoints coordinados, que proporciona
a los usuarios la recuperación automática de fallos al perder nodos de clúster. FTM aprovecha el almacenamiento local
en los nodos para guardar los checkpoints, y distribuye sus copias entre los nodos de computo, evitando el cuello de
botella de un almacenamiento centralizado.
También aprovechamos FTM para utilizar protocolos de rollback-recovery no-coordinados y semi-coordinados. En
esta contribución, FTM se implementa en la capa de aplicación. Además, se agrega un controlador dinámico de
recursos al FTM, que monitoriza el uso de recursos destinados para la protección FT y realiza acciones para mantener
un nivel aceptable de protección.
Otra contribución apunta a la configuración de tareas de protección y recuperación de la TF. Se presentan dos modelos:
el modelo First Protection Point (FPP) determina el punto de partida para introducir la protección de TF de modo a
obtener beneficios en términos de tiempo total de ejecución, incluyendo fallos, eliminando checkpoints innecesarios.
El segundo modelo permite mejorar la configuración de recursos de la TF para la tarea de recuperación.
Con respecto a entornos cloud, proponemos Resilience as a Service (RaaS), un servicio que provee TF para
aplicaciones HPC, que utiliza FTM. RaaS proporciona al cloud un servicio de TF distribuido, escalable y altamente
disponible. Rediseña los mecanismos tradicionales de protección y recuperación de HPC, para aprovechar de forma
nativa las capacidades del cloud y sus múltiples alternativas para implementar tareas de TF.
En resumen, esta tesis contribuye a proporcionar un gestor de tolerancia a fallos multi-plataforma “Multi-Platform
Resilience Manager” (MRM), adecuado para entornos de clústers y clouds (públicos y privados). La solución
presentada proporciona TF de forma automática, distribuida y transparente en las capas de aplicación y usuario según
los requisitos de usuarios, aplicaciones y entorno de ejecución. Brinda además, a los usuarios información crítica de
la TF, lo que les permite compensar entre costos y protección, manteniendo el tiempo medio de reparación dentro de
rangos aceptables.
Durante las validaciones experimentales se utilizaron varios entornos experimentales, como clústeres tradicionales y
cloud (públicos y privados), ejecutando diferentes aplicaciones paralelas. Los experimentos verifican la funcionalidad
y la mejora de las contribuciones. Además, también muestran que el tiempo medio de reparación se encuentra limitado
y dentro de rangos aceptables.
en_US
dc.description.abstract
High Performance Computing (HPC) systems continue growing exponentially in terms of components quantity and
density to achieve demanding computational power. At the same time, cloud computing is becoming popular, as key
features such as scalability, pay-per-use and availability continue to evolve. It is also becoming a competitive platform
for running parallel HPC applications due to the increasing performance of virtualized, highly-available instances.
Although, augmenting the amount of components to create larger systems tends to increment the frequency of failures
in both clusters and cloud environments. Nowadays, HPC systems have a failure rate of around 1000 per year, meaning
a failure every approximately 8 hours.
Most of the parallel distributed applications are built on top of a Message Passing Interface (MPI). MPI
implementations follow a default fail-stop semantic, which aborts the execution in case of host failure in a cluster. In
this case, the application owner needs to restart the execution, which affects the wall clock time and, also, the cost
since it requires to acquire computing resources for longer periods of time.
Fault Tolerance (FT) techniques need to be applied to MPI parallel executions in both, cluster and cloud environments.
With FT techniques, high availability is ensured for parallel applications. In order to apply some FT solutions,
administrator privileges are required, to install them in the cluster nodes. Moreover, when failures appear human
intervention is required to recover the application. A solution, which minimizes users and administrators intervention
is preferred.
A contribution of this thesis is a Fault Tolerance Manager (FTM) for coordinated checkpoint, which provides the
application's users with automatic recovery from failures when losing computing nodes. It takes advantage of node
local storage to save checkpoints, and it distributes copies of them along all the computation nodes, avoiding the
bottleneck of a central stable storage. We also leverage the FTM to use uncoordinated and semi-coordinated rollback
recovery protocols. In this contribution, FTM is implemented in the application-layer. Furthermore, a dynamic
resource controller is added to the FTM, which monitors the FT protection resource usage and performs actions to
maintain an acceptable level of protection.
Another contribution aims to the FT protection and recovery tasks configuration. Two models are introduced. The
First Protection Point model (FPP) determines the starting point to introduce FT protection gaining benefits in terms
of total execution time including failures, by removing unnecessary checkpoints. The second model allows improving
the FT resource configuration for the recovery task.
Regarding cloud environments, we propose Resilience as a Service (RaaS), a fault tolerant framework for HPC
applications, which uses FTM. RaaS provides clouds with a highly available, distributed and scalable fault-tolerant
service. It redesigns traditional HPC protection and recovery mechanisms, to natively leverage cloud capabilities and
its multiple alternatives for implementing FT tasks.
To summarize, this thesis contributes on providing a multi-platform resilience manager, suitable for traditional baremetal
clusters and clouds (public and private). The presented solution provides FT in an automatic, distributed and
transparent manner in the application and user levels according to the users, applications, and runtime requirements.
It gives the users critical FT information, allowing them to trade-off cost and protection keeping the mean time to
repair within acceptable ranges.
Several experimental environments such as bare-metal clusters and cloud (public and private), running different
parallel applications were used during the experimental validations. The experiments verify the functionality and
improvement of the contributions. Moreover, they also show that the Mean Time To Repair is bounded within
acceptable ranges.
en_US
dc.format.extent
146 p.
en_US
dc.format.mimetype
application/pdf
dc.language.iso
eng
en_US
dc.publisher
Universitat Autònoma de Barcelona
dc.rights.license
L'accés als continguts d'aquesta tesi queda condicionat a l'acceptació de les condicions d'ús establertes per la següent llicència Creative Commons: http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.uri
http://creativecommons.org/licenses/by-nc-nd/4.0/
*
dc.source
TDX (Tesis Doctorals en Xarxa)
dc.subject
Tolerància a fallos
en_US
dc.subject
Tolerancia a fallos
en_US
dc.subject
Faulth tolerance
en_US
dc.subject
Computació d'altes prestacions
en_US
dc.subject
Computación de altas prestaciones
en_US
dc.subject
High performance computing
en_US
dc.subject
Cloud computing
en_US
dc.subject.other
Tecnologies
en_US
dc.title
Fault tolerance configuration and management for HPC applications using RADIC architecture
en_US
dc.type
info:eu-repo/semantics/doctoralThesis
dc.type
info:eu-repo/semantics/publishedVersion
dc.contributor.authoremail
jorvillamayor@gmail.com
en_US
dc.contributor.director
Rexachs del Rosario, Dolores Isabel
dc.embargo.terms
cap
en_US
dc.rights.accessLevel
info:eu-repo/semantics/openAccess