Skip to content

Distributed Implementation

This guide is for the Rust version of the coursework, which is offered as an optional extension.

In this stage, you are required to create an implementation that uses a number of AWS nodes to cooperatively calculate the new state of the Game of Life board, and communicate state between machines over a network.

Below is a series of suggested steps for approaching the problem, but you are not required to follow this sequence, and can jump straight to implementing the more advanced versions of the system if you feel confident about it.

Your implementation will be marked against the success criteria outlined here.

Step 2

You should report the number of cells that are still alive every 2 seconds to the local controller.

It is anticipated that you will run a ticker on the local controller and make an RPC call to the AWS node (worker/server/broker) every 2 seconds.

The controller should then send an AliveCellsCount event to the events channel.

Step 2

Test

To test your implementation, type the following in the terminal of your local controller.

bash
cargo test --release --test count