[Rp] Reproducing and replicating the OCamlP3l experiment - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Article Dans Une Revue The ReScience journal Année : 2020

[Rp] Reproducing and replicating the OCamlP3l experiment

Résumé

This article provides a full report on the effort to reproduce the work described in the article "Parallel Functional Programming with Skeletons: the OCamlP3L experiment" [1], written in 1998. It presented OCamlP3l [2], a parallel programming system written in the OCaml programming language [3]. The system described in [1] was a breakthrough in many respects: it showed that it was possible to implement parallel skeletons [4] a combinators in a functional programming language; it showed how this parallel programming style allowed to write a single source code that produced executables targeted for sequential execution, hence enabling usual debugging techniques, and executables for parallel execution; and it led to the introduction in OCaml of the ability to marshal functional closures, used later on by a wealth of different applications. The article consists of two main parts, the system description, and the system evaluation, so replicating the results involves the following: 1. recover the source code of the OCamlP3l system 2. make it compile and run on a modern OCaml 4.x system 3. recover the tests used in the system evaluation 4. verify we can get speedup in performance similar to the one reported in the article. When starting this replication effort, we had the following expectations: 1. recover the source code should be easy: just look in the paper directory on our machines 2. compile and run might be difficult: the code was designed 23 years ago for OCaml 1.07 3. recover tests should be easy: just look in the paper directory on our machines 4. verify speedup might be challenging: many parameters may have changed in microprocessors and network. The reality turned out to be surprisingly different. In the following we sum up the steps that we performed to address each of these four challenges, and the final outcome. Copyright © 2020 R. Di Cosmo and M. Danelutto, released under a Creative Commons Attribution 4.0 International license. Correspondence should be addressed to Di Cosmo, Roberto (roberto@dicosmo.org) The authors have declared that no competing interests exist. Code is available at https://archive.softwareheritage.org/swh:1:rev:2db189928c94d62a3b4757b3eec68f0a4d4113f0;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git/.-SWH swh:1:rev:2db189928c94d62a3b4757b3eec68f0a4d4113f0;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git/.
Fichier principal
Vignette du fichier
article.pdf (91.55 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-02885664 , version 1 (30-06-2020)

Identifiants

Citer

Roberto Di Cosmo, Marco Danelutto. [Rp] Reproducing and replicating the OCamlP3l experiment. The ReScience journal, 2020, ⟨10.5281/zenodo.3763416⟩. ⟨hal-02885664⟩
1034 Consultations
176 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More