Skip to content

A small Map Reduce library written in Haskell for a Parallel Functional Programming class.

Notifications You must be signed in to change notification settings

yefrig/map-reduce

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mapreduce Wordcount

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

About

A small Map Reduce library written in Haskell for a Parallel Functional Programming class.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 100.0%