Mohamed Elmujtaba Elwasila Logo Image
Mohamed Elmujtaba Elwasila

Distributed Conway's Game of Life

A distributed implementation of Conway's Game of Life built with Go, featuring concurrent processing, RPC communication, and AWS deployment demonstrating advanced distributed systems principles.

Distributed Conway's Game of Life

Project Overview

This is a distributed implementation of Conway's Game of Life that demonstrates advanced distributed systems principles. Built with Go, the system features a three-tier architecture with a controller managing SDL visualization, a broker cluster handling coordination through leader election, and worker nodes performing parallel computation using Goroutines. The implementation was deployed on AWS EC2 instances.

The project achieves significant performance optimizations with 97.7% reduction in network traffic through zero-copy state management and direct halo exchange patterns between workers. It includes automatic leader election with fault tolerance, primary-backup broker replication, and linear scaling with worker count, delivering 50-200 turns per second depending on configuration.

Tools Used

Go
RPC (Remote Procedure Call)
Goroutines & Concurrency
SDL (Visualization)
AWS EC2
Distributed Systems
Leader Election