Ecenaz Ozmen (eo2419) Yefri Gaitan (yg2548)
Parallel Functional Programming 4995 - Final Project
There are 2 different implementations of parallel MapReduce for word counting in this folder. wc_eval.hs contains our initial attempt at parallelizing the task using the Eval Monad. wc_eval also has the option to run sequentially, by using the seq option when running as listed below.
to compile: stack ghc -- -O2 -Wall -threaded -rtsopts -eventlog wc
to run sequantial word count: ./wc big.txt seq +RTS -N8 -ls (for sequential) to run parallel word count: ./wc big.txt par +RTS -N8 -ls (for parallel)
wc_par.hs contains our improved solution to this problem by using the Par Monad.
to compile: stack ghc -- -O2 -Wall -threaded -rtsopts -eventlog wc
to run: ./wc big.txt +RTS -N4 -ls
Dependencies: stack install parallel stack install monad-par