Skip to content

Distributed Implementation

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 6

Step 6

Reducing coupling between the "Local Controller" and the "Gol workers" is desirable. To initiate communication, the "Local Controller" connects to the broker machine via RPC. This allows the "Local Controller" to start the game by calling the main "Broker" method, which returns the final game state once it is finished. Likewise, the "Broker" connects to the "Gol workers". It is then able to give them slices of the game world and ask them to return the result of iterating on it.

It is fine to have the Broker and Local Controller running on the same machine to get around firewall / port forwarding issues.

Largest Image

We created a 5120x5120 pgm file if you wish to test or benchmark your solution with a very large image.