Beitrag in einem Sammelband
Palovca: Describing and Executing Graph Algorithms in Haskell
Details zur Publikation
Autor(inn)en: | Lesniak, M. |
Herausgeber: | Russo C, Zhou N |
Verlag: | Springer Berlin Heidelberg |
Verlagsort / Veröffentlichungsort: | Philadelphia |
Publikationsjahr: | 2012 |
Seitenbereich: | 153-167 |
Buchtitel: | Practical Aspects of Declarative Languages |
Titel der Buchreihe: | Lecture Notes in Computer Science |
Jahrgang/Band : | 7149 |
ISBN: | 978-3-642-27693-4 |
DOI-Link der Erstveröffentlichung: |
Zusammenfassung, Abstract
Graph algorithms have fundamental applications in the real world but can be both cumbersome to implement in traditional languages and difficult to execute efficiently on modern multicore hardware. The Bulk Synchronous Parallel model of computation has recently been used to define vertex-centric computations on graphs. We describe an em- bedded domain specific language (using Haskell as the underlying host language) for specifying such algorithms, and show an implementation of an execution platform that allows to execute them on multicore systems in parallel. For several benchmarks varying in algorithm, graph size and edge distribution, we achieved speedups ranging from 9 up to 11 for 16 threads.
Graph algorithms have fundamental applications in the real world but can be both cumbersome to implement in traditional languages and difficult to execute efficiently on modern multicore hardware. The Bulk Synchronous Parallel model of computation has recently been used to define vertex-centric computations on graphs. We describe an em- bedded domain specific language (using Haskell as the underlying host language) for specifying such algorithms, and show an implementation of an execution platform that allows to execute them on multicore systems in parallel. For several benchmarks varying in algorithm, graph size and edge distribution, we achieved speedups ranging from 9 up to 11 for 16 threads.