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 5 (Consider going straight to Step 6)

Step 5

Split up the computation of the Gol board state (from the Gol server) across multiple worker machines (AWS nodes).

You will need some means of distributing work between multiple AWS machines and gathering results together in one place while avoiding any errors in the collected board state.

Try to design your solution so it takes advantage of the possible scalability of many worker machines.

Make sure to keep the communication between nodes as efficient as possible. For example, consider a halo exchange scheme where only the edges are communicated between the nodes.