Skip to content

Fast and Scalable Decentralized Learning Simulation

Notifications You must be signed in to change notification settings

UT-MPC/overmind

Repository files navigation

Overmind

logo

Overmind is a fast, scalable, and highly configurable simulator for decentralized machine learning in mobile environments.

Setting Up Overmind

To run Overmind, you'll need to set up the following components:

  • Overmind Containers
  • Postgres Database
  • File Storage Service

Overmind can be set up on either AWS or personal workstations. In the future, we will support other cloud platforms like GCP or Azure.

Prerequisites

To configure and run Overmind containers, install docker, Kubernetes Command Line Tool kubectl, and create resources on AWS EKS. To run Overmind containers locally, install minicube.

Configure Overmind Containers

Build your own overmind image with docker. You would need to update the image for every change you make to your code that implements device behavior of your decentralized learning algorithm. Here, we'll proceed with pre-built algorithms. Deploy the overmind containers by updating kubernetes configuration.

kubectl apply -f configs/k8s/ovm.yaml

Check if the services are running with kubectl get all command.

Kick off examplar simulation

Start off a simulation by running driver.py with a tag (name of the simulation) and associated configuration file.

python3 driver.py --tag mass_test_droppcl --cfg configs/dist_swarm/example_gossip.json

About

Fast and Scalable Decentralized Learning Simulation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages