$1,500

Raft from the Ground Up

Event Information

Share this event

Date and Time

Location

Location

Dabeaz LLC

5412 N Clark Street #218

Chicago, IL 60640

View Map

Event description

Description

You know why most tutorials on network programming and concurrency use simple examples like echo servers and HTTP? It's because these examples aren't anything like implementing a distributed consensus algorithm. In this intense week, you're going to shatter your head as you and five other programmers attempt to implement the Raft distributed consensus algorithm from scratch, using nothing more than your favorite programming language, sockets, and your own ingenuity.

This is a project-focused course that may involve all of the following topics:

  • Low level network programming with sockets.
  • Thread programming.
  • Processes and subprocesses.
  • Asynchronous concurrency (i.e., async/await, asyncio, etc.)
  • Message passing.
  • Remote procedure call.
  • Testing.
  • Formal verification (e.g., TLA+)
  • State machines
  • Software architecture/object oriented programming.
  • Operating systems.
  • Reading.

Even if you have done network programming before, you are likely to find this project to be rather challenging. A significant portion of the week will involve group discussion concerning the operation of the algorithm itself, design choices, implementation strategies, and tradeoffs. You will learn a lot. Others will learn from your knowledge.

Prerequisites: You should be an experienced programmer in some programming language. Some prior experience with network and/or concurrent programming is advised, but is not a strict requirement. Programming examples will be given in Python, but you are free to use any programming language that you want to use for the project.


Share with friends

Date and Time

Location

Dabeaz LLC

5412 N Clark Street #218

Chicago, IL 60640

View Map

Save This Event

Event Saved