Détails sur le séminaire


Room 206 (2nd floor, badged access)

21 janvier 2019 - 14h00
Formal specification and implementation of an automated pattern-based parallel-code generation framework
par Sergio Yovine de Universidad ORT Uruguay



Abstract: Formal specification and implementation of an automated pattern-based parallel-code generation framework
Gervasio Pérez and Sergio Yovine
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 shows that the framework allows achieving performance metrics which
are comparable with hand-written code but with assured correctness and
significantly less coding effort. 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 wellknown 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 re-writing, which automatically generates






Contact | Plan du site | Site réalisé avec SPIP 4.2.16 + AHUNTSIC [CC License]

info visites 4159437