Parallel evaluation of code dependencies

Hi Cafe, Suppose that I have a representation of a DSL in Haskell (a physical number crunching simulation using quasiquoting for instance) and I want to evaluate the resulting Haskell representation by splitting it into chunks and send these chunk to some cluster, a supercomputer, etc. It doesn't matter for the moment the distribution protocol. My advisor suggested me that the best way of doing such a thing, is through a call by value strategy. Where I simply evaluate in parallel all the arguments of the functions. The problem with this alternative is that I must manipulate the Haskell representation and use some library ( or write some code) to identify the dependencies and evaluate them in parallel. Can please someone suggest me the best way to tackle this problem? I really appreciate any help. Felipe Z.

If you can infer dependencies from the DSL, it should be reasonable to use those dependencies to inform your use of something like Control.Parallel.Strategies. I’ve been working through Simon Marlow’s Parallel and Concurrent Haskell book, and it covers the latter half of this. The first half (inferring dependencies from the DSL) depends a lot on how your DSL is structured.
http://chimera.labs.oreilly.com/books/1230000000929/ch03.html
–
Kyle Marek-Spartz
On Sep 4, 2014, 1:00:46 PM, felipe zapata
participants (2)
-
felipe zapata
-
Kyle Marek-Spartz