SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones

Autores
Montezanti, Diego Miguel
Año de publicación
2020
Idioma
español castellano
Tipo de recurso
tesis doctoral
Estado
versión aceptada
Colaborador/a o director/a de tesis
De Giusti, Armando Eduardo
Rexachs del Rosario, Dolores
Naiouf, Marcelo
Luque Fadón, Emilio
Descripción
El manejo de fallos es una preocupación creciente en el contexto del HPC; en el futuro, se esperan mayores variedades y tasas de errores, intervalos de detección más largos y fallos silenciosos. Se proyecta que, en los próximos sistemas de exa-escala, los errores ocurran incluso varias veces al día y se propaguen en grandes aplicaciones paralelas, generando desde caídas de procesos hasta corrupciones de resultados debidas a fallos no detectados. En este trabajo se propone SEDAR, una metodología que mejora la fiabilidad, frente a los fallos transitorios, de un sistema que ejecuta aplicaciones paralelas de paso de mensajes. La solución diseñada, basada en replicación de procesos para la detección, combinada con diferentes niveles de checkpointing (checkpoints de nivel de sistema o de nivel de aplicación) para recuperar automáticamente, tiene el objetivo de ayudar a los usuarios de aplicaciones científicas a obtener ejecuciones confiables con resultados correctos. La detección se logra replicando internamente cada proceso de la aplicación en threads y monitorizando los contenidos de los mensajes entre los threads antes de enviar a otro proceso; además, los resultados finales se validan para prevenir la corrupción del cómputo local. Esta estrategia permite relanzar la ejecución desde el comienzo ni bien se produce la detección, sin esperar innecesariamente hasta la conclusión incorrecta. Para la recuperación, se utilizan checkpoints de nivel de sistema, pero debido a que no existe garantía de que un checkpoint particular no contenga errores silenciosos latentes, se requiere el almacenamiento y mantenimiento de múltiples checkpoints, y se implementa un mecanismo para reintentar recuperaciones sucesivas desde checkpoints previos si el mismo error se detecta nuevamente. La última opción es utilizar un único checkpoint de capa de aplicación, que puede ser verificado para asegurar su validez como punto de recuperación seguro. En consecuencia, SEDAR se estructura en tres niveles: (1) sólo detección y parada segura con notificación al usuario; (2) recuperación basada en una cadena de checkpoints de nivel de sistema; y (3) recuperación basada en un único checkpoint válido de capa de aplicación. Cada una de estas variantes brinda una cobertura particular, pero tiene limitaciones inherentes y costos propios de implementación; la posibilidad de elegir entre ellos provee flexibilidad para adaptar la relación costo-beneficio a las necesidades de un sistema particular. Se presenta una descripción completa de la metodología, su comportamiento en presencia de fallos y los overheads temporales de emplear cada una de las alternativas. Se describe un modelo que considera varios escenarios de fallos y sus efectos predecibles sobre una aplicación de prueba para realizar una verificación funcional. Además, se lleva a cabo una validación experimental sobre una implementación real de la herramienta SEDAR, utilizando diferentes benchmarks con patrones de comunicación disímiles. El comportamiento en presencia de fallos, inyectados controladamente en distintos momentos de la ejecución, permite evaluar el desempeño y caracterizar el overhead asociado a su utilización. Tomando en cuenta esto, también se establecen las condiciones bajo las cuales vale la pena comenzar con la protección y almacenar varios checkpoints para recuperar, en lugar de simplemente detectar, detener la ejecución y relanzar. Las posibilidades de configurar el modo de uso, adaptándolo a los requerimientos de cobertura y máximo overhead permitido de un sistema particular, muestran que SEDAR es una metodología eficaz y viable para la tolerancia a fallos transitorios en entornos de HPC.
Tesis con dirección conjunta por convenio de colaboración entre la Universidad Nacional de La Plata (UNLP) y la Universidad Autónoma de Barcelona (UAB).
Doctor en Ciencias Informáticas
Universidad Nacional de La Plata
Facultad de Informática
Materia
Ciencias Informáticas
Fallos transitorios
Soft errors
Detección
Replicación de procesos
Recuperación automática
Corrupción silenciosa de datos
Aplicaciones de HPC
Clusters de multicores
Inyección de fallos
Checkpoint de nivel de sistema
Checkpoint de capa de aplicación
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-nd/4.0/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/98816

id SEDICI_f75e616f16df1776e8b86f411c7fa810
oai_identifier_str oai:sedici.unlp.edu.ar:10915/98816
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestacionesMontezanti, Diego MiguelCiencias InformáticasFallos transitoriosSoft errorsDetecciónReplicación de procesosRecuperación automáticaCorrupción silenciosa de datosAplicaciones de HPCClusters de multicoresInyección de fallosCheckpoint de nivel de sistemaCheckpoint de capa de aplicaciónEl manejo de fallos es una preocupación creciente en el contexto del HPC; en el futuro, se esperan mayores variedades y tasas de errores, intervalos de detección más largos y fallos silenciosos. Se proyecta que, en los próximos sistemas de exa-escala, los errores ocurran incluso varias veces al día y se propaguen en grandes aplicaciones paralelas, generando desde caídas de procesos hasta corrupciones de resultados debidas a fallos no detectados. En este trabajo se propone SEDAR, una metodología que mejora la fiabilidad, frente a los fallos transitorios, de un sistema que ejecuta aplicaciones paralelas de paso de mensajes. La solución diseñada, basada en replicación de procesos para la detección, combinada con diferentes niveles de checkpointing (checkpoints de nivel de sistema o de nivel de aplicación) para recuperar automáticamente, tiene el objetivo de ayudar a los usuarios de aplicaciones científicas a obtener ejecuciones confiables con resultados correctos. La detección se logra replicando internamente cada proceso de la aplicación en threads y monitorizando los contenidos de los mensajes entre los threads antes de enviar a otro proceso; además, los resultados finales se validan para prevenir la corrupción del cómputo local. Esta estrategia permite relanzar la ejecución desde el comienzo ni bien se produce la detección, sin esperar innecesariamente hasta la conclusión incorrecta. Para la recuperación, se utilizan checkpoints de nivel de sistema, pero debido a que no existe garantía de que un checkpoint particular no contenga errores silenciosos latentes, se requiere el almacenamiento y mantenimiento de múltiples checkpoints, y se implementa un mecanismo para reintentar recuperaciones sucesivas desde checkpoints previos si el mismo error se detecta nuevamente. La última opción es utilizar un único checkpoint de capa de aplicación, que puede ser verificado para asegurar su validez como punto de recuperación seguro. En consecuencia, SEDAR se estructura en tres niveles: (1) sólo detección y parada segura con notificación al usuario; (2) recuperación basada en una cadena de checkpoints de nivel de sistema; y (3) recuperación basada en un único checkpoint válido de capa de aplicación. Cada una de estas variantes brinda una cobertura particular, pero tiene limitaciones inherentes y costos propios de implementación; la posibilidad de elegir entre ellos provee flexibilidad para adaptar la relación costo-beneficio a las necesidades de un sistema particular. Se presenta una descripción completa de la metodología, su comportamiento en presencia de fallos y los overheads temporales de emplear cada una de las alternativas. Se describe un modelo que considera varios escenarios de fallos y sus efectos predecibles sobre una aplicación de prueba para realizar una verificación funcional. Además, se lleva a cabo una validación experimental sobre una implementación real de la herramienta SEDAR, utilizando diferentes benchmarks con patrones de comunicación disímiles. El comportamiento en presencia de fallos, inyectados controladamente en distintos momentos de la ejecución, permite evaluar el desempeño y caracterizar el overhead asociado a su utilización. Tomando en cuenta esto, también se establecen las condiciones bajo las cuales vale la pena comenzar con la protección y almacenar varios checkpoints para recuperar, en lugar de simplemente detectar, detener la ejecución y relanzar. Las posibilidades de configurar el modo de uso, adaptándolo a los requerimientos de cobertura y máximo overhead permitido de un sistema particular, muestran que SEDAR es una metodología eficaz y viable para la tolerancia a fallos transitorios en entornos de HPC.Tesis con dirección conjunta por convenio de colaboración entre la Universidad Nacional de La Plata (UNLP) y la Universidad Autónoma de Barcelona (UAB).Doctor en Ciencias InformáticasUniversidad Nacional de La PlataFacultad de InformáticaDe Giusti, Armando EduardoRexachs del Rosario, DoloresNaiouf, MarceloLuque Fadón, Emilio2020-03-18info:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/acceptedVersionTesis de doctoradohttp://purl.org/coar/resource_type/c_db06info:ar-repo/semantics/tesisDoctoralapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/98816https://doi.org/10.35537/10915/98816spainfo:eu-repo/semantics/reference/hdl/10915/108015info:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-nd/4.0/Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-29T11:21:39Zoai:sedici.unlp.edu.ar:10915/98816Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-29 11:21:39.613SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones
title SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones
spellingShingle SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones
Montezanti, Diego Miguel
Ciencias Informáticas
Fallos transitorios
Soft errors
Detección
Replicación de procesos
Recuperación automática
Corrupción silenciosa de datos
Aplicaciones de HPC
Clusters de multicores
Inyección de fallos
Checkpoint de nivel de sistema
Checkpoint de capa de aplicación
title_short SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones
title_full SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones
title_fullStr SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones
title_full_unstemmed SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones
title_sort SEDAR: Detección y recuperación automática de fallos transitorios en sistemas de cómputo de altas prestaciones
dc.creator.none.fl_str_mv Montezanti, Diego Miguel
author Montezanti, Diego Miguel
author_facet Montezanti, Diego Miguel
author_role author
dc.contributor.none.fl_str_mv De Giusti, Armando Eduardo
Rexachs del Rosario, Dolores
Naiouf, Marcelo
Luque Fadón, Emilio
dc.subject.none.fl_str_mv Ciencias Informáticas
Fallos transitorios
Soft errors
Detección
Replicación de procesos
Recuperación automática
Corrupción silenciosa de datos
Aplicaciones de HPC
Clusters de multicores
Inyección de fallos
Checkpoint de nivel de sistema
Checkpoint de capa de aplicación
topic Ciencias Informáticas
Fallos transitorios
Soft errors
Detección
Replicación de procesos
Recuperación automática
Corrupción silenciosa de datos
Aplicaciones de HPC
Clusters de multicores
Inyección de fallos
Checkpoint de nivel de sistema
Checkpoint de capa de aplicación
dc.description.none.fl_txt_mv El manejo de fallos es una preocupación creciente en el contexto del HPC; en el futuro, se esperan mayores variedades y tasas de errores, intervalos de detección más largos y fallos silenciosos. Se proyecta que, en los próximos sistemas de exa-escala, los errores ocurran incluso varias veces al día y se propaguen en grandes aplicaciones paralelas, generando desde caídas de procesos hasta corrupciones de resultados debidas a fallos no detectados. En este trabajo se propone SEDAR, una metodología que mejora la fiabilidad, frente a los fallos transitorios, de un sistema que ejecuta aplicaciones paralelas de paso de mensajes. La solución diseñada, basada en replicación de procesos para la detección, combinada con diferentes niveles de checkpointing (checkpoints de nivel de sistema o de nivel de aplicación) para recuperar automáticamente, tiene el objetivo de ayudar a los usuarios de aplicaciones científicas a obtener ejecuciones confiables con resultados correctos. La detección se logra replicando internamente cada proceso de la aplicación en threads y monitorizando los contenidos de los mensajes entre los threads antes de enviar a otro proceso; además, los resultados finales se validan para prevenir la corrupción del cómputo local. Esta estrategia permite relanzar la ejecución desde el comienzo ni bien se produce la detección, sin esperar innecesariamente hasta la conclusión incorrecta. Para la recuperación, se utilizan checkpoints de nivel de sistema, pero debido a que no existe garantía de que un checkpoint particular no contenga errores silenciosos latentes, se requiere el almacenamiento y mantenimiento de múltiples checkpoints, y se implementa un mecanismo para reintentar recuperaciones sucesivas desde checkpoints previos si el mismo error se detecta nuevamente. La última opción es utilizar un único checkpoint de capa de aplicación, que puede ser verificado para asegurar su validez como punto de recuperación seguro. En consecuencia, SEDAR se estructura en tres niveles: (1) sólo detección y parada segura con notificación al usuario; (2) recuperación basada en una cadena de checkpoints de nivel de sistema; y (3) recuperación basada en un único checkpoint válido de capa de aplicación. Cada una de estas variantes brinda una cobertura particular, pero tiene limitaciones inherentes y costos propios de implementación; la posibilidad de elegir entre ellos provee flexibilidad para adaptar la relación costo-beneficio a las necesidades de un sistema particular. Se presenta una descripción completa de la metodología, su comportamiento en presencia de fallos y los overheads temporales de emplear cada una de las alternativas. Se describe un modelo que considera varios escenarios de fallos y sus efectos predecibles sobre una aplicación de prueba para realizar una verificación funcional. Además, se lleva a cabo una validación experimental sobre una implementación real de la herramienta SEDAR, utilizando diferentes benchmarks con patrones de comunicación disímiles. El comportamiento en presencia de fallos, inyectados controladamente en distintos momentos de la ejecución, permite evaluar el desempeño y caracterizar el overhead asociado a su utilización. Tomando en cuenta esto, también se establecen las condiciones bajo las cuales vale la pena comenzar con la protección y almacenar varios checkpoints para recuperar, en lugar de simplemente detectar, detener la ejecución y relanzar. Las posibilidades de configurar el modo de uso, adaptándolo a los requerimientos de cobertura y máximo overhead permitido de un sistema particular, muestran que SEDAR es una metodología eficaz y viable para la tolerancia a fallos transitorios en entornos de HPC.
Tesis con dirección conjunta por convenio de colaboración entre la Universidad Nacional de La Plata (UNLP) y la Universidad Autónoma de Barcelona (UAB).
Doctor en Ciencias Informáticas
Universidad Nacional de La Plata
Facultad de Informática
description El manejo de fallos es una preocupación creciente en el contexto del HPC; en el futuro, se esperan mayores variedades y tasas de errores, intervalos de detección más largos y fallos silenciosos. Se proyecta que, en los próximos sistemas de exa-escala, los errores ocurran incluso varias veces al día y se propaguen en grandes aplicaciones paralelas, generando desde caídas de procesos hasta corrupciones de resultados debidas a fallos no detectados. En este trabajo se propone SEDAR, una metodología que mejora la fiabilidad, frente a los fallos transitorios, de un sistema que ejecuta aplicaciones paralelas de paso de mensajes. La solución diseñada, basada en replicación de procesos para la detección, combinada con diferentes niveles de checkpointing (checkpoints de nivel de sistema o de nivel de aplicación) para recuperar automáticamente, tiene el objetivo de ayudar a los usuarios de aplicaciones científicas a obtener ejecuciones confiables con resultados correctos. La detección se logra replicando internamente cada proceso de la aplicación en threads y monitorizando los contenidos de los mensajes entre los threads antes de enviar a otro proceso; además, los resultados finales se validan para prevenir la corrupción del cómputo local. Esta estrategia permite relanzar la ejecución desde el comienzo ni bien se produce la detección, sin esperar innecesariamente hasta la conclusión incorrecta. Para la recuperación, se utilizan checkpoints de nivel de sistema, pero debido a que no existe garantía de que un checkpoint particular no contenga errores silenciosos latentes, se requiere el almacenamiento y mantenimiento de múltiples checkpoints, y se implementa un mecanismo para reintentar recuperaciones sucesivas desde checkpoints previos si el mismo error se detecta nuevamente. La última opción es utilizar un único checkpoint de capa de aplicación, que puede ser verificado para asegurar su validez como punto de recuperación seguro. En consecuencia, SEDAR se estructura en tres niveles: (1) sólo detección y parada segura con notificación al usuario; (2) recuperación basada en una cadena de checkpoints de nivel de sistema; y (3) recuperación basada en un único checkpoint válido de capa de aplicación. Cada una de estas variantes brinda una cobertura particular, pero tiene limitaciones inherentes y costos propios de implementación; la posibilidad de elegir entre ellos provee flexibilidad para adaptar la relación costo-beneficio a las necesidades de un sistema particular. Se presenta una descripción completa de la metodología, su comportamiento en presencia de fallos y los overheads temporales de emplear cada una de las alternativas. Se describe un modelo que considera varios escenarios de fallos y sus efectos predecibles sobre una aplicación de prueba para realizar una verificación funcional. Además, se lleva a cabo una validación experimental sobre una implementación real de la herramienta SEDAR, utilizando diferentes benchmarks con patrones de comunicación disímiles. El comportamiento en presencia de fallos, inyectados controladamente en distintos momentos de la ejecución, permite evaluar el desempeño y caracterizar el overhead asociado a su utilización. Tomando en cuenta esto, también se establecen las condiciones bajo las cuales vale la pena comenzar con la protección y almacenar varios checkpoints para recuperar, en lugar de simplemente detectar, detener la ejecución y relanzar. Las posibilidades de configurar el modo de uso, adaptándolo a los requerimientos de cobertura y máximo overhead permitido de un sistema particular, muestran que SEDAR es una metodología eficaz y viable para la tolerancia a fallos transitorios en entornos de HPC.
publishDate 2020
dc.date.none.fl_str_mv 2020-03-18
dc.type.none.fl_str_mv info:eu-repo/semantics/doctoralThesis
info:eu-repo/semantics/acceptedVersion
Tesis de doctorado
http://purl.org/coar/resource_type/c_db06
info:ar-repo/semantics/tesisDoctoral
format doctoralThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/98816
https://doi.org/10.35537/10915/98816
url http://sedici.unlp.edu.ar/handle/10915/98816
https://doi.org/10.35537/10915/98816
dc.language.none.fl_str_mv spa
language spa
dc.relation.none.fl_str_mv info:eu-repo/semantics/reference/hdl/10915/108015
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-nd/4.0/
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1844616091962179584
score 13.070432