Paralloy : learning y restart en un Sat Solver distribuido - Pérez, Matías Hernando (2016)
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.