Mostrar el registro sencillo del ítem
dc.contributor.author
Perez, Gervasio Daniel
dc.contributor.author
Yovine, Sergio Fabian
dc.date.available
2018-09-17T20:33:14Z
dc.date.issued
2017-08
dc.identifier.citation
Perez, Gervasio Daniel; Yovine, Sergio Fabian; Formal specification and implementation of an automated pattern-based parallel-code generation framework; Springer Verlag Berlín; International Journal on Software Tools for Technology Transfer; 8-2017; 1-20
dc.identifier.issn
1433-2779
dc.identifier.uri
http://hdl.handle.net/11336/59977
dc.description.abstract
Programming correct parallel software in a cost-effective way is a challenging task requiring a high degree of expertise. As an attempt to overcoming the pitfalls undermining parallel programming, this paper proposes a pattern-based, formally grounded tool that eases writing parallel code by automatically generating platform-dependent programs from high-level, platform-independent specifications. The tool builds on three pillars: (1) a platform-agnostic parallel programming pattern, called PCR, (2) a formal translation of PCRs into a parallel execution model, namely Concurrent Collections (CnC), and (3) a program rewriting engine that generates code for a concrete runtime implementing CnC. The experimental evaluation carried out gives evidence that code produced from PCRs can deliver performance metrics which are comparable with handwritten code but with assured correctness. The technical contribution of this paper is threefold. First, it discusses a parallel programming pattern, called PCR, consisting of producers, consumers, and reducers which operate concurrently on data sets. To favor correctness, the semantics of PCRs is mathematically defined in terms of the formalism FXML. PCRs are shown to be composable and to seamlessly subsume other well-known parallel programming patterns, thus providing a framework for heterogeneous designs. Second, it formally shows how the PCR pattern can be correctly implemented in terms of a more concrete parallel execution model. Third, it proposes a platform-agnostic C++ template library to express PCRs. It presents a prototype source-to-source compilation tool, based on C++ template rewriting, which automatically generates parallel implementations relying on the Intel CnCC++ library.
dc.format
application/pdf
dc.language.iso
eng
dc.publisher
Springer Verlag Berlín
dc.rights
info:eu-repo/semantics/openAccess
dc.rights.uri
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
dc.subject
Automated Code Generation
dc.subject
Formal Methods
dc.subject
Parallel Programming
dc.subject
Software Design Patterns
dc.subject.classification
Ciencias de la Computación
dc.subject.classification
Ciencias de la Computación e Información
dc.subject.classification
CIENCIAS NATURALES Y EXACTAS
dc.title
Formal specification and implementation of an automated pattern-based parallel-code generation framework
dc.type
info:eu-repo/semantics/article
dc.type
info:ar-repo/semantics/artículo
dc.type
info:eu-repo/semantics/publishedVersion
dc.date.updated
2018-09-17T19:30:35Z
dc.identifier.eissn
1433-2787
dc.journal.pagination
1-20
dc.journal.pais
Alemania
dc.description.fil
Fil: Perez, Gervasio Daniel. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
dc.description.fil
Fil: Yovine, Sergio Fabian. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
dc.journal.title
International Journal on Software Tools for Technology Transfer
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/doi/http://dx.doi.org/10.1007/s10009-017-0465-2
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/url/https://link.springer.com/article/10.1007/s10009-017-0465-2
Archivos asociados