Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • 4 452-labs
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Irene Y Zhang
  • 452-labs
  • Wiki
  • Lab 1

Lab 1 · Changes

Page history
Update due date authored Jan 02, 2016 by Irene Y Zhang's avatar Irene Y Zhang
Hide whitespace changes
Inline Side-by-side
Lab-1.md
View page @ a39e9938
......@@ -7,12 +7,12 @@
In this lab you'll build a MapReduce library as a way to learn the Go programming language and as a way to learn about fault tolerance in distributed systems. In the first part you will write a simple MapReduce program. In the second part you will write a Master that hands out jobs to workers, and handles failures of workers. The interface to the library and the approach to fault tolerance is similar to the one described in the original [MapReduce paper](http://research.google.com/archive/mapreduce-osdi04.pdf).
### Collaboration Policy
You must write all the code you hand in for 452, except for code that we give you as part of the assignment. You are not allowed to look at anyone else's solution, and you are not allowed to look at code from previous years. You may discuss the assignments with other students, but you may not look at or copy each others' code. Please do not publish your code or make it available to future 452 students -- for example, please do not make your code visible on github.
You must write all the code you hand in for 452, except for code that we give you as part of the assignment. You are not allowed to look at anyone else's solution, and you are not allowed to look at code from previous years. You may discuss the assignments with other students, but you may not look at or copy each others' code. Please do not publish your code or make it available to future 452 students -- for example, please do not make your code public on github.
Undergrads taking 452 may do the labs with a partner. Masters students should complete the labs individually.
### Software
You'll implement this lab (and all the labs) in [Go 1.3](http://www.golang.org/) (the last released version). This version is available as packages for Linux and Mac OSX through [MacPorts](https://www.macports.org/). You can also download binaries from the Go web site.
You'll implement this lab (and all the labs) in [Go 1.5](http://www.golang.org/) (the last released version). This version is available as packages for Linux and Mac OSX through [MacPorts](https://www.macports.org/). You can also download binaries from the Go web site.
The Go web site contains lots of tutorial information which you may want to look at. We supply you with a non-distributed MapReduce implementation, and a partial implementation of a distributed implementation (just the boring bits).
......
Clone repository
  • Lab 1
  • Lab 2
  • Lab 3
  • Lab 4
  • Lab 5
  • Home
  • submission