Instructor: Prof. Amr El Abbadi
This repository contains a series of course projects of UCSB CS271 (Distributed Systems) in Winter 2023, about implementations of classical distributed computing systems algorithms/protocols from scratch. I frequently used Python/Pydantic/FastAPI/Cryptography and multi-thread techniques.
- Project 1: Implementation of a blockchain demo based on Lamport Logic Clocks protocol
- Project 2: Implementation of Chandy-Lamport global snapshot algorithm to take global snapshots of a simple token-passing application
- Final Project: Implementation of Raft protocol and a distributed shared dictionary system replicated on a set of clients based on Raft
See README files in each project folder for more details.