Skip to content

Map Reduce, Raft implementation using golang. 6.824 MIT

License

Notifications You must be signed in to change notification settings

ddeka0/distributed-system

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

distributed system

This is a cloned repository from MIT's distributed system course

Project Structure:

This project uses Go Programming Language Following is the project directory structure:

├── go.mod
├── LICENSE
├── Makefile
├── README.md
└── src
    ├── kvraft
    ├── labgob
    ├── labrpc
    ├── main
    ├── models
    ├── mr
    ├── mrapps
    ├── porcupine
    ├── raft
    ├── shardkv
    └── shardmaster

This project is added with go.mod file. Therefore no need to set GOPATH for this project. Simply clone the repository and following test run should pass.

Check more on Go Module (https://github.com/golang/go/wiki/Modules#faqs--gomod-and-gosum)

Using Map Reduce Application:

Testing word count application

[new terminal]
1. cd main
2. go build -buildmode=plugin ../mrapps/wc.go && go run mrmaster.go pg-*.txt

[another terminal]
1. cd main
2. go run mrworker.go wc.so

Testing all the application inside /mrapps/

1. sh ./test-mr.sh

Using the Raft application:

1. cd raft
2. go test run 2A / 2B or 2C

Demo:

Map reduce & Raft Demo

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.8%
  • Shell 1.6%
  • Makefile 0.6%