A Verified Generate-Test-Aggregate Coq Library for Parallel Programs Extraction
Authors: Kento Emoto, Frédéric Loulergue and Julien Tesson
Paper Information
| Title: | A Verified Generate-Test-Aggregate Coq Library for Parallel Programs Extraction |
| Authors: | Kento Emoto, Frédéric Loulergue and Julien Tesson |
| Proceedings: | ITP 2014 LNCS Proceedings |
| Editors: | Gerwin Klein and Ruben Gamboa |
| Keywords: | list homomorphisms, functional programming, automatic program calculation, semi-ring computation, bulk synchronous parallelism, Coq |
| Abstract: | ABSTRACT. The integration of the generate-and-test paradigm and semi-rings for the aggregation of results provides a parallel programming framework for large scale data-intensive applications. The so-called GTA framework allows a user to define an inefficient specification of his/her problem as a composition of a generator of all the candidate solutions, a tester of valid solutions, and an aggregator to combine the solutions. Through two calculation theorems a GTA specification is transformed into a divide-and-conquer efficient program that can be efficiently implemented in parallel. In this paper we present a verified implementation of this framework in the Coq proof assistant: efficient bulk synchronous parallel functional programs can be extracted from naive GTA specifications. We show how to apply this framework on an example, including performance experiments on parallel machines. |
| Pages: | 16 |
| Talk: | Jul 15 11:15 |
| Paper: | ![]() |
