Better Implicit Parallelism; Improving ApplicativeDo Heuristics Through Weight Annotations

Examensarbete för masterexamen

Please use this identifier to cite or link to this item:
Download file(s):
File Description SizeFormat 
256249.pdfFulltext1.02 MBAdobe PDFView/Open
Type: Examensarbete för masterexamen
Master Thesis
Title: Better Implicit Parallelism; Improving ApplicativeDo Heuristics Through Weight Annotations
Authors: Hübinette, Edvard
Thune, Fredrik
Abstract: ApplicativeDo tries to remove the monad binds where possible when desugaring Haskells’ do-notation. It does this by looking at inter-statement dependencies and connecting them with applicative operations when possible; this introduces implicit parallelism in the code. Deciding which structure to generate is tricky, since many different are usually possible. Currently, this is solved with simple minimum cost analysis with an unit cost model, assuming each statement takes the same amount of time to evaluate. By extending the cost model inside the ApplicativeDo algorithm for variable evaluation costs, we perform smarter generation of code by prioritising parallelisation of heavy statements. At Facebook, Marlow et al. developed Haxl, a data-fetching library that can use applicative structure in expressions for free parallelism. To our knowledge, it is the only library that can do automatic parallelism on applicative expressions. We observe significant wall-clock speedups in many cases when running benchmarks with Haxl, compared to the original ApplicativeDo-desugared programs, given relative costs of statements. The ApplicativeDo extension is agnostic to the source of costs, but one way of providing them is investigated as optional weight annotations on do-statements. This works well when the relative costs are known, but this kind of run-time estimation is notoriously difficult, particularly in Haskell. We suggest different directions for future work relating to sources of costs.
Keywords: Data- och informationsvetenskap;Computer and Information Science
Issue Date: 2018
Publisher: Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers)
Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)
Collection:Examensarbeten för masterexamen // Master Theses

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.