Better Implicit Parallelism; Improving ApplicativeDo Heuristics Through Weight Annotations

Examensarbete för masterexamen

Använd denna länk för att citera eller länka till detta dokument: https://hdl.handle.net/20.500.12380/256249
Ladda ner:
Fil Beskrivning StorlekFormat 
256249.pdfFulltext1.02 MBAdobe PDFVisa
Typ: Examensarbete för masterexamen
Master Thesis
Titel: Better Implicit Parallelism; Improving ApplicativeDo Heuristics Through Weight Annotations
Författare: Hübinette, Edvard
Thune, Fredrik
Sammanfattning: 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.
Nyckelord: Data- och informationsvetenskap;Computer and Information Science
Utgivningsdatum: 2018
Utgivare: Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers)
Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)
URI: https://hdl.handle.net/20.500.12380/256249
Samling:Examensarbeten för masterexamen // Master Theses



Materialet i Chalmers öppna arkiv är upphovsrättsligt skyddat och får ej användas i kommersiellt syfte!