{"title":"Implementing Powerlists with Bulk Synchronous Parallel ML","authors":"F. Loulergue, Virginia Niculescu, J. Tesson","doi":"10.1109/SYNASC.2014.51","DOIUrl":null,"url":null,"abstract":"Tools and methods able to simplify the development process of parallel software, but also to assure a high level of performance and robustness, are necessary. Power lists and their variants are data structures that can be successfully used in a simple, provably correct, functional description of parallel programs, which are divide-and-conquer in nature. The paper presents how programs defined based on power lists could be implemented in the functional language OCaml plus calls to the parallel functional programming library Bulk Synchronous Parallel ML. BSML functions follow the BSP model requirements, and so its advantages are introduced in OCaml parallel code. In order to write power list programs in BSML we provide a data type for power lists and a set of skeletons (higher-order functions implemented in parallel) to manipulate them. Examples are given and concrete experiments for their executions are conducted.","PeriodicalId":150575,"journal":{"name":"2014 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SYNASC.2014.51","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
Tools and methods able to simplify the development process of parallel software, but also to assure a high level of performance and robustness, are necessary. Power lists and their variants are data structures that can be successfully used in a simple, provably correct, functional description of parallel programs, which are divide-and-conquer in nature. The paper presents how programs defined based on power lists could be implemented in the functional language OCaml plus calls to the parallel functional programming library Bulk Synchronous Parallel ML. BSML functions follow the BSP model requirements, and so its advantages are introduced in OCaml parallel code. In order to write power list programs in BSML we provide a data type for power lists and a set of skeletons (higher-order functions implemented in parallel) to manipulate them. Examples are given and concrete experiments for their executions are conducted.