Paralloy : learning y restart en un Sat Solver distribuido

Autores
Pérez, Matías Hernando
Año de publicación
2016
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Rosner, Nicolás Leandro
Vissani, Ignacio
Descripción
El problema de satisfactoriedad, también conocido como problema SAT, es uno de los problemas con mayor estudio dentro de las Ciencias de la Computación. En el año 1971, Stephen Cook definió lo que hoy llamamos NP-completitud en términos de este problema, que se convirtió en el primer problema NP-completo. En la actualidad tiene una amplia variedad de aplicaciones prácticas, entre ellas la verificación automática de software y hardware. Dada la importancia de este problema, existe un gran interés en el desarrollo de piezas de software que sean capaces de resolverlo de forma eficiente, los SAT-solver . Paralloy es un SAT-solver que, mediante un esquema de Divide & Conquer, realiza la resolución de forma paralela y distribuida. En este trabajo se analizan los efectos de agregar un esquema de learning y restart distribuido a la herramienta, ya que al realizar la división en sub-problemas independientes la información que estos generan queda aislada, haciéndola visible sólo localmente. Asimismo, los restarts que se generan en cada nodo también tienen un efecto exclusivamente local. Este trabajo intenta romper con este aislamiento de cada una de las resoluciones de los sub-problemas. Luego de evaluar distintas estrategias de distribución de la información entre las unidades de cómputo del sistema (learning), se logró una reducción del 30 % en el tiempo de ejecución total promedio para los problemas considerados. En algunos casos la mejora alcanzada fue de 50× con respecto a la velocidad original de la herramienta. De esta forma se logra expandir el alcance de la herramienta, posibilitando la resolución de un nuevo conjunto de problemas en tiempos tolerables. Si bien la estrategia de restart global implementada no logró reducir el tiempo de ejecución promedio, sí se observó una disminución en el tiempo de ejecución a lo largo de las distintas interaciones de restart. Este fenómeno promisorio amerita ser investigado, y abre un posible camino para un trabajo futuro.
The satisfiability problem, also known as SAT problem, is among the most studied in Computer Science. In 1971, Stephen Cook defined what we currently call NP-completeness in terms of it, making it the first NP-complete problem. There are many practical applications of this problem, including automatic verification of software and hardware. Given the importance of this problem, there is broad interest in developing software tools that are capable of tackling it in a highly efficient way, known as SAT-solvers. Paralloy is a SAT-solver that uses a Divide & Conquer approach in order to parallelise and distribute the solving effort. In this thesis we study the effects of adding learning and global restarts to the tool. The motivation to do this arises from the fact that, when a problem is divided into independent sub-problems, the information learned by the solver is isolated, limiting its usefulness to the local context. In the same way, the restarts performed at each node do not have a global impact. This work aims at breaking this isolation and strengthening the interaction between nodes of the system. After analyzing various strategies for the distribution of information between system nodes, we observed reductions of up to 30 % in the average total execution time for the problems in our benchmark. In some cases the improvement reached a factor of 50x with respect to the original execution time. Thus, the techniques incorporated in this work were able to expand the proving power of the tool, enabling it to solve more complex and time consuming problems. Although the global restart strategy implemented in this work did not achieve a reduction in mean execution time, we did observe decreasing execution times across successive iterations of restart. This promising result deserves further exploration and opens a path for future research.
Fil: Pérez, Matías Hernando. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
PARALELO
DISTRIBUIDO
SAT SOLVING
PARALLEL
DISTRIBUTED
LEARNING
RESTART
PARALLOY
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000675_Perez

id BDUBAFCEN_132e3ddd3535a31bead8c619a25a93c9
oai_identifier_str seminario:seminario_nCOM000675_Perez
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Paralloy : learning y restart en un Sat Solver distribuidoParalloy : learning and restart for a distributed Sat SolverPérez, Matías HernandoPARALELODISTRIBUIDOSAT SOLVINGPARALLELDISTRIBUTEDLEARNINGRESTARTPARALLOYEl problema de satisfactoriedad, también conocido como problema SAT, es uno de los problemas con mayor estudio dentro de las Ciencias de la Computación. En el año 1971, Stephen Cook definió lo que hoy llamamos NP-completitud en términos de este problema, que se convirtió en el primer problema NP-completo. En la actualidad tiene una amplia variedad de aplicaciones prácticas, entre ellas la verificación automática de software y hardware. Dada la importancia de este problema, existe un gran interés en el desarrollo de piezas de software que sean capaces de resolverlo de forma eficiente, los SAT-solver . Paralloy es un SAT-solver que, mediante un esquema de Divide & Conquer, realiza la resolución de forma paralela y distribuida. En este trabajo se analizan los efectos de agregar un esquema de learning y restart distribuido a la herramienta, ya que al realizar la división en sub-problemas independientes la información que estos generan queda aislada, haciéndola visible sólo localmente. Asimismo, los restarts que se generan en cada nodo también tienen un efecto exclusivamente local. Este trabajo intenta romper con este aislamiento de cada una de las resoluciones de los sub-problemas. Luego de evaluar distintas estrategias de distribución de la información entre las unidades de cómputo del sistema (learning), se logró una reducción del 30 % en el tiempo de ejecución total promedio para los problemas considerados. En algunos casos la mejora alcanzada fue de 50× con respecto a la velocidad original de la herramienta. De esta forma se logra expandir el alcance de la herramienta, posibilitando la resolución de un nuevo conjunto de problemas en tiempos tolerables. Si bien la estrategia de restart global implementada no logró reducir el tiempo de ejecución promedio, sí se observó una disminución en el tiempo de ejecución a lo largo de las distintas interaciones de restart. Este fenómeno promisorio amerita ser investigado, y abre un posible camino para un trabajo futuro.The satisfiability problem, also known as SAT problem, is among the most studied in Computer Science. In 1971, Stephen Cook defined what we currently call NP-completeness in terms of it, making it the first NP-complete problem. There are many practical applications of this problem, including automatic verification of software and hardware. Given the importance of this problem, there is broad interest in developing software tools that are capable of tackling it in a highly efficient way, known as SAT-solvers. Paralloy is a SAT-solver that uses a Divide & Conquer approach in order to parallelise and distribute the solving effort. In this thesis we study the effects of adding learning and global restarts to the tool. The motivation to do this arises from the fact that, when a problem is divided into independent sub-problems, the information learned by the solver is isolated, limiting its usefulness to the local context. In the same way, the restarts performed at each node do not have a global impact. This work aims at breaking this isolation and strengthening the interaction between nodes of the system. After analyzing various strategies for the distribution of information between system nodes, we observed reductions of up to 30 % in the average total execution time for the problems in our benchmark. In some cases the improvement reached a factor of 50x with respect to the original execution time. Thus, the techniques incorporated in this work were able to expand the proving power of the tool, enabling it to solve more complex and time consuming problems. Although the global restart strategy implemented in this work did not achieve a reduction in mean execution time, we did observe decreasing execution times across successive iterations of restart. This promising result deserves further exploration and opens a path for future research.Fil: Pérez, Matías Hernando. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesRosner, Nicolás LeandroVissani, Ignacio2016info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000675_Perezspainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-09-29T13:43:33Zseminario:seminario_nCOM000675_PerezInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-09-29 13:43:34.065Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Paralloy : learning y restart en un Sat Solver distribuido
Paralloy : learning and restart for a distributed Sat Solver
title Paralloy : learning y restart en un Sat Solver distribuido
spellingShingle Paralloy : learning y restart en un Sat Solver distribuido
Pérez, Matías Hernando
PARALELO
DISTRIBUIDO
SAT SOLVING
PARALLEL
DISTRIBUTED
LEARNING
RESTART
PARALLOY
title_short Paralloy : learning y restart en un Sat Solver distribuido
title_full Paralloy : learning y restart en un Sat Solver distribuido
title_fullStr Paralloy : learning y restart en un Sat Solver distribuido
title_full_unstemmed Paralloy : learning y restart en un Sat Solver distribuido
title_sort Paralloy : learning y restart en un Sat Solver distribuido
dc.creator.none.fl_str_mv Pérez, Matías Hernando
author Pérez, Matías Hernando
author_facet Pérez, Matías Hernando
author_role author
dc.contributor.none.fl_str_mv Rosner, Nicolás Leandro
Vissani, Ignacio
dc.subject.none.fl_str_mv PARALELO
DISTRIBUIDO
SAT SOLVING
PARALLEL
DISTRIBUTED
LEARNING
RESTART
PARALLOY
topic PARALELO
DISTRIBUIDO
SAT SOLVING
PARALLEL
DISTRIBUTED
LEARNING
RESTART
PARALLOY
dc.description.none.fl_txt_mv El problema de satisfactoriedad, también conocido como problema SAT, es uno de los problemas con mayor estudio dentro de las Ciencias de la Computación. En el año 1971, Stephen Cook definió lo que hoy llamamos NP-completitud en términos de este problema, que se convirtió en el primer problema NP-completo. En la actualidad tiene una amplia variedad de aplicaciones prácticas, entre ellas la verificación automática de software y hardware. Dada la importancia de este problema, existe un gran interés en el desarrollo de piezas de software que sean capaces de resolverlo de forma eficiente, los SAT-solver . Paralloy es un SAT-solver que, mediante un esquema de Divide & Conquer, realiza la resolución de forma paralela y distribuida. En este trabajo se analizan los efectos de agregar un esquema de learning y restart distribuido a la herramienta, ya que al realizar la división en sub-problemas independientes la información que estos generan queda aislada, haciéndola visible sólo localmente. Asimismo, los restarts que se generan en cada nodo también tienen un efecto exclusivamente local. Este trabajo intenta romper con este aislamiento de cada una de las resoluciones de los sub-problemas. Luego de evaluar distintas estrategias de distribución de la información entre las unidades de cómputo del sistema (learning), se logró una reducción del 30 % en el tiempo de ejecución total promedio para los problemas considerados. En algunos casos la mejora alcanzada fue de 50× con respecto a la velocidad original de la herramienta. De esta forma se logra expandir el alcance de la herramienta, posibilitando la resolución de un nuevo conjunto de problemas en tiempos tolerables. Si bien la estrategia de restart global implementada no logró reducir el tiempo de ejecución promedio, sí se observó una disminución en el tiempo de ejecución a lo largo de las distintas interaciones de restart. Este fenómeno promisorio amerita ser investigado, y abre un posible camino para un trabajo futuro.
The satisfiability problem, also known as SAT problem, is among the most studied in Computer Science. In 1971, Stephen Cook defined what we currently call NP-completeness in terms of it, making it the first NP-complete problem. There are many practical applications of this problem, including automatic verification of software and hardware. Given the importance of this problem, there is broad interest in developing software tools that are capable of tackling it in a highly efficient way, known as SAT-solvers. Paralloy is a SAT-solver that uses a Divide & Conquer approach in order to parallelise and distribute the solving effort. In this thesis we study the effects of adding learning and global restarts to the tool. The motivation to do this arises from the fact that, when a problem is divided into independent sub-problems, the information learned by the solver is isolated, limiting its usefulness to the local context. In the same way, the restarts performed at each node do not have a global impact. This work aims at breaking this isolation and strengthening the interaction between nodes of the system. After analyzing various strategies for the distribution of information between system nodes, we observed reductions of up to 30 % in the average total execution time for the problems in our benchmark. In some cases the improvement reached a factor of 50x with respect to the original execution time. Thus, the techniques incorporated in this work were able to expand the proving power of the tool, enabling it to solve more complex and time consuming problems. Although the global restart strategy implemented in this work did not achieve a reduction in mean execution time, we did observe decreasing execution times across successive iterations of restart. This promising result deserves further exploration and opens a path for future research.
Fil: Pérez, Matías Hernando. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description El problema de satisfactoriedad, también conocido como problema SAT, es uno de los problemas con mayor estudio dentro de las Ciencias de la Computación. En el año 1971, Stephen Cook definió lo que hoy llamamos NP-completitud en términos de este problema, que se convirtió en el primer problema NP-completo. En la actualidad tiene una amplia variedad de aplicaciones prácticas, entre ellas la verificación automática de software y hardware. Dada la importancia de este problema, existe un gran interés en el desarrollo de piezas de software que sean capaces de resolverlo de forma eficiente, los SAT-solver . Paralloy es un SAT-solver que, mediante un esquema de Divide & Conquer, realiza la resolución de forma paralela y distribuida. En este trabajo se analizan los efectos de agregar un esquema de learning y restart distribuido a la herramienta, ya que al realizar la división en sub-problemas independientes la información que estos generan queda aislada, haciéndola visible sólo localmente. Asimismo, los restarts que se generan en cada nodo también tienen un efecto exclusivamente local. Este trabajo intenta romper con este aislamiento de cada una de las resoluciones de los sub-problemas. Luego de evaluar distintas estrategias de distribución de la información entre las unidades de cómputo del sistema (learning), se logró una reducción del 30 % en el tiempo de ejecución total promedio para los problemas considerados. En algunos casos la mejora alcanzada fue de 50× con respecto a la velocidad original de la herramienta. De esta forma se logra expandir el alcance de la herramienta, posibilitando la resolución de un nuevo conjunto de problemas en tiempos tolerables. Si bien la estrategia de restart global implementada no logró reducir el tiempo de ejecución promedio, sí se observó una disminución en el tiempo de ejecución a lo largo de las distintas interaciones de restart. Este fenómeno promisorio amerita ser investigado, y abre un posible camino para un trabajo futuro.
publishDate 2016
dc.date.none.fl_str_mv 2016
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000675_Perez
url https://hdl.handle.net/20.500.12110/seminario_nCOM000675_Perez
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1844618753700003840
score 13.070432