On the specification and verification of the PCR parallel programming pattern in TLA+

Solsona Giossa, José Eduardo

Resumen:

Las limitaciones físicas en el diseño de procesadores han hecho que la industria informática desde 2005 pasara de mejorar la velocidad de un solo procesador a aumentar el número de unidades de proceso. Un diseño de software que explote la potencia de procesamiento paralelo de forma correcta y efectiva es una tarea desafiante que requiere un alto grado de experiencia. En 2017, Pérez y Yovine propusieron una herramienta basada en patrones de diseño para facilitar el desarrollo de software paralelo. En particular, la herramienta está basada en un patrón de programación paralela, agnóstico de la plataforma, denominado PCR, que describe las computaciones realizadas en forma concurrente por Productores, Consumidores y Reductores que se comunican entre sí. Este combina en un único patrón componible varios conceptos como operaciones colectivas, programación basada en flujos, iteración no acotada y recursividad. En la presente tesis se formaliza la semántica del patrón PCR en términos de TLA+. De esta manera, se puede aprovechar las herramientas asociadas a TLA+ para demostrar las propiedades de diseños de PCR de alto nivel, tales como su corrección funcional y refinamientos entre diferentes diseños de PCR. TLA+ es un lenguaje de especificación formal para sistemas concurrentes que se está utilizando en lugares como Intel, Amazon y Microsoft. Se contribuye al estado del arte en los refinamientos de programas paralelos a partir de modelos abstractos, especialmente utilizando una caracterización alternativa del patrón PCR general y el framework TLA+. La investigación que da origen a los resultados presentados en la presente tesis, recibió fondos de la Agencia Nacional de Investigación e Innovación bajo el código POS NAC 2018 1 152201.


Detalles Bibliográficos
2021
PROYECTOS-MI
DESARROLLO DE SOFTWARE
ALGORITMO PARALELO
SOFTWARE-DESARROLLO
MÉTODOS FORMALES
TLA+
DISEÑO DE PATRONES
Inglés
Universidad ORT Uruguay
RAD
http://hdl.handle.net/20.500.11968/4555
Acceso abierto
_version_ 1807261360866721792
author Solsona Giossa, José Eduardo
author_facet Solsona Giossa, José Eduardo
author_role author
bitstream.checksum.fl_str_mv 0e43340276437e8cccfaa0c5240b6aac
3bc0cc52137251713c15bec452d8699b
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
bitstream.url.fl_str_mv https://rad.ort.edu.uy/bitstreams/c860c3d8-5ddd-4541-b912-bd6ef44d35e3/download
https://rad.ort.edu.uy/bitstreams/07df6dcc-0a59-49a5-b6f7-354dddd20fc0/download
collection RAD
dc.contributor.advisor.none.fl_str_mv Tasistro Souto, Álvaro Daniel
Yovine, Sergio Fabián
dc.contributor.tribunal.none.fl_str_mv Schneider, Gerardo
Copello Gigirey, Ernesto Sebastián
dc.creator.none.fl_str_mv Solsona Giossa, José Eduardo
dc.date.issued.none.fl_str_mv 2021
dc.description.abstract.none.fl_txt_mv Las limitaciones físicas en el diseño de procesadores han hecho que la industria informática desde 2005 pasara de mejorar la velocidad de un solo procesador a aumentar el número de unidades de proceso. Un diseño de software que explote la potencia de procesamiento paralelo de forma correcta y efectiva es una tarea desafiante que requiere un alto grado de experiencia. En 2017, Pérez y Yovine propusieron una herramienta basada en patrones de diseño para facilitar el desarrollo de software paralelo. En particular, la herramienta está basada en un patrón de programación paralela, agnóstico de la plataforma, denominado PCR, que describe las computaciones realizadas en forma concurrente por Productores, Consumidores y Reductores que se comunican entre sí. Este combina en un único patrón componible varios conceptos como operaciones colectivas, programación basada en flujos, iteración no acotada y recursividad. En la presente tesis se formaliza la semántica del patrón PCR en términos de TLA+. De esta manera, se puede aprovechar las herramientas asociadas a TLA+ para demostrar las propiedades de diseños de PCR de alto nivel, tales como su corrección funcional y refinamientos entre diferentes diseños de PCR. TLA+ es un lenguaje de especificación formal para sistemas concurrentes que se está utilizando en lugares como Intel, Amazon y Microsoft. Se contribuye al estado del arte en los refinamientos de programas paralelos a partir de modelos abstractos, especialmente utilizando una caracterización alternativa del patrón PCR general y el framework TLA+. La investigación que da origen a los resultados presentados en la presente tesis, recibió fondos de la Agencia Nacional de Investigación e Innovación bajo el código POS NAC 2018 1 152201.
dc.description.none.fl_txt_mv Incluye bibliografía y anexos.
dc.format.extent.none.fl_str_mv 352 p. tbls., diagrs., grafs.
dc.identifier.citation.none.fl_str_mv Solsona Giossa, J. E. (2021). On the specification and verification of the PCR parallel programming pattern in TLA+ (Desarrollo de Tesis). Universidad ORT Uruguay, Facultad de Ingeniería.
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/20.500.11968/4555
dc.language.iso.none.fl_str_mv Inglés.
eng
dc.publisher.none.fl_str_mv Universidad ORT Uruguay
dc.relation.other.none.fl_str_mv https://sisbibliotecas.ort.edu.uy/bib/91974
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.source.none.fl_str_mv reponame:RAD
instname:Universidad ORT Uruguay
instacron:Universidad ORT
dc.subject.none.fl_str_mv PROYECTOS-MI
DESARROLLO DE SOFTWARE
ALGORITMO PARALELO
SOFTWARE-DESARROLLO
MÉTODOS FORMALES
TLA+
DISEÑO DE PATRONES
dc.title.none.fl_str_mv On the specification and verification of the PCR parallel programming pattern in TLA+
dc.type.none.fl_str_mv Trabajo final de carrera
info:eu-repo/semantics/bachelorThesis
dc.type.version.none.fl_str_mv info:eu-repo/semantics/publishedVersion
description Incluye bibliografía y anexos.
eu_rights_str_mv openAccess
format bachelorThesis
id RAD_512e26fcc727811f1bc39f8a93175d97
identifier_str_mv Solsona Giossa, J. E. (2021). On the specification and verification of the PCR parallel programming pattern in TLA+ (Desarrollo de Tesis). Universidad ORT Uruguay, Facultad de Ingeniería.
instacron_str Universidad ORT
institution Universidad ORT
instname_str Universidad ORT Uruguay
language eng
language_invalid_str_mv Inglés.
network_acronym_str RAD
network_name_str RAD
oai_identifier_str oai:rad.ort.edu.uy:20.500.11968/4555
publishDate 2021
publisher.none.fl_str_mv Universidad ORT Uruguay
reponame_str RAD
repository.mail.fl_str_mv rodriguez_v@ort.edu.uy
repository.name.fl_str_mv RAD - Universidad ORT Uruguay
repository_id_str 3927
spelling Tasistro Souto, Álvaro DanielYovine, Sergio FabiánSchneider, GerardoCopello Gigirey, Ernesto SebastiánSolsona Giossa, José Eduardo2021Incluye bibliografía y anexos.Las limitaciones físicas en el diseño de procesadores han hecho que la industria informática desde 2005 pasara de mejorar la velocidad de un solo procesador a aumentar el número de unidades de proceso. Un diseño de software que explote la potencia de procesamiento paralelo de forma correcta y efectiva es una tarea desafiante que requiere un alto grado de experiencia. En 2017, Pérez y Yovine propusieron una herramienta basada en patrones de diseño para facilitar el desarrollo de software paralelo. En particular, la herramienta está basada en un patrón de programación paralela, agnóstico de la plataforma, denominado PCR, que describe las computaciones realizadas en forma concurrente por Productores, Consumidores y Reductores que se comunican entre sí. Este combina en un único patrón componible varios conceptos como operaciones colectivas, programación basada en flujos, iteración no acotada y recursividad. En la presente tesis se formaliza la semántica del patrón PCR en términos de TLA+. De esta manera, se puede aprovechar las herramientas asociadas a TLA+ para demostrar las propiedades de diseños de PCR de alto nivel, tales como su corrección funcional y refinamientos entre diferentes diseños de PCR. TLA+ es un lenguaje de especificación formal para sistemas concurrentes que se está utilizando en lugares como Intel, Amazon y Microsoft. Se contribuye al estado del arte en los refinamientos de programas paralelos a partir de modelos abstractos, especialmente utilizando una caracterización alternativa del patrón PCR general y el framework TLA+. La investigación que da origen a los resultados presentados en la presente tesis, recibió fondos de la Agencia Nacional de Investigación e Innovación bajo el código POS NAC 2018 1 152201.352 p. tbls., diagrs., grafs.Solsona Giossa, J. E. (2021). On the specification and verification of the PCR parallel programming pattern in TLA+ (Desarrollo de Tesis). Universidad ORT Uruguay, Facultad de Ingeniería.http://hdl.handle.net/20.500.11968/4555Inglés.engUniversidad ORT Uruguayhttps://sisbibliotecas.ort.edu.uy/bib/91974PROYECTOS-MIDESARROLLO DE SOFTWAREALGORITMO PARALELOSOFTWARE-DESARROLLOMÉTODOS FORMALESTLA+DISEÑO DE PATRONESOn the specification and verification of the PCR parallel programming pattern in TLA+Trabajo final de carrerainfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionreponame:RADinstname:Universidad ORT Uruguayinstacron:Universidad ORTinfo:eu-repo/semantics/openAccessFI - Master en Ingeniería - MIFacultad de IngenieríaMasterMaster en IngenieríaDesarrollo de TesisDesarrollo de Tesis (Master). Universidad ORT Uruguay, Facultad de IngenieríaTHUMBNAILMaterial completo.pdf.jpgMaterial completo.pdf.jpgGenerated Thumbnailimage/jpeg3494https://rad.ort.edu.uy/bitstreams/c860c3d8-5ddd-4541-b912-bd6ef44d35e3/download0e43340276437e8cccfaa0c5240b6aacMD53ORIGINALMaterial completo.pdfMaterial completo.pdfdescriptionapplication/pdf3102326https://rad.ort.edu.uy/bitstreams/07df6dcc-0a59-49a5-b6f7-354dddd20fc0/download3bc0cc52137251713c15bec452d8699bMD5120.500.11968/45552024-07-22 16:08:29.359oai:rad.ort.edu.uy:20.500.11968/4555https://rad.ort.edu.uyUniversidadhttps://www.ort.edu.uy/https://rad.ort.edu.uy/server/oai/requestrodriguez_v@ort.edu.uyUruguayopendoar:39272024-07-22T16:08:29RAD - Universidad ORT Uruguayfalse
spellingShingle On the specification and verification of the PCR parallel programming pattern in TLA+
Solsona Giossa, José Eduardo
PROYECTOS-MI
DESARROLLO DE SOFTWARE
ALGORITMO PARALELO
SOFTWARE-DESARROLLO
MÉTODOS FORMALES
TLA+
DISEÑO DE PATRONES
status_str publishedVersion
title On the specification and verification of the PCR parallel programming pattern in TLA+
title_full On the specification and verification of the PCR parallel programming pattern in TLA+
title_fullStr On the specification and verification of the PCR parallel programming pattern in TLA+
title_full_unstemmed On the specification and verification of the PCR parallel programming pattern in TLA+
title_short On the specification and verification of the PCR parallel programming pattern in TLA+
title_sort On the specification and verification of the PCR parallel programming pattern in TLA+
topic PROYECTOS-MI
DESARROLLO DE SOFTWARE
ALGORITMO PARALELO
SOFTWARE-DESARROLLO
MÉTODOS FORMALES
TLA+
DISEÑO DE PATRONES
url http://hdl.handle.net/20.500.11968/4555