CS 450: Project 4B: MapReduce

Overview

For this project, you will implement a MapReduce framework using threads. This time you won't be given a pre-existing testing framework. Instead, you'll have to test for correctness on your own. You can see the project description from the Github classroom link. Clone from there as well.

As before, you should go to the Github classroom link posted in Piazza. You should accept the invitation and then go to the link it gives you, and follow the same clone procedure as you did in in prior projects to get the starter code. For this project, you should be able to reuse your docker container from p1b and p2b (any of the others should work too).

            
[you@machine] git clone https://github.com/IIT-CS450-F20/p4b-mapreduce-yourid
[you@machine] cd p4b-mapreduce
[you@machine] docker run -it --volume $PWD:/p4b p1b bash
            
            

Notice here we're reusing our p1b container that we built before. If your container has been blown away for some reason (it should appear in the output of docker ps), just rebuild the p1b or p2b container and you should be good.

Notes

This project can be done in teams (of no more than two)! You'll want to reflect this in your github classroom setup and in your info.txt for the project. Note that while you can collaborate/share code within a team, sharing code between teams is of course considered cheating. Don't do it!

Getting the Starter Code

As before, you should go to the Github classroom link posted in Piazza. You should accept the invitation and then go to the link it gives you, and follow the same clone procedure as you did in the previous projects to get the starter code.

Due Dates and Logistics

This project is due Friday, December 4, 2020 at 11:59PM. Late submissions will be penalized as per the syllabus.

Handing In

IMPORANT:Before you hand in, make sure to add (and commit) a file named "info.txt" which contains your full name and e-mail address (for all team members). If I cannot associate your Github account with you, you cannot expect your code to be graded! No exceptions to this rule will be made.

As you go, you should be making commits using git to your local repository (again, if you've not used git, you should go to the link above). When you're ready to hand in your code, you can just run:

            
[you@machine] make handin
            
            
If you have modified files you haven't commited, the handin script will warn you. This handin script actually just invokes git push.

Remember that you will be docked points for late work as per the syllabus.

Questions?

If you have questions, please first post them on Piazza so others can get the benefit of the instructor/TA's answer. Avoid posting code that will give away your solution or allow others to cheat. If this does not resolve your issue, contact the instructor or TA, or come to office hours.