- Notifications
You must be signed in to change notification settings - Fork0
A MPI-based map-reduce program designed to take in some documents and to output frequency of words in every document.
License
NotificationsYou must be signed in to change notification settings
Vasile2k/ReduceMyMap
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A MPI-based map-reduce program designed to take in some documents and to output frequency of words in every document.
- Sometin' able to compile C++17
- Visual Studio may help but it's not necessary
- Microsoft MPI if you're on Windows orOpen MPI if you're on Linux
- nlohmann/json
This should be obvious, but build the application and run the application you just built.The program should receive 2 arguments:
-i /path/to/input
to tell the program where to read files from-o /path/to/output
to tell the program where to write files to
A temporary directory will also be created, but you should live with the idea that you can't change that easily.
The program will loop through all files in the directory, read them and apply the mapping to each one.
Pseudocode for whatever the fuck happens here:
initTaskList();whilenotdone:checkForAvailableSlaves();ifnextTaskisbarrier:waitForAllSlavesToFinish();sendJobsToSlaves();killAllSlaves();
whilenotdone:tellMasterImNotBusy();getNextJob();ifnextJobismap:map(document);ifnextJobisreduce:reduce(letter);ifnextJobisfinish:die();
- This thing is distributed under Apache 2.0. SeeLICENSE.
- This thing usesnlohmann/json which is distributed underMIT License
- Gitignore file fromgithub/gitignore.
You can find mehere to ask questions.