Skip to content

Parallel 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 write code to evolve Game of Life using multithreading on a single machine.

The following pages are some suggested steps to help you get started, you are not required to follow them.

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

Success Criteria

  • Pass all test cases under gol_test, count_test, pgm_test and sdl_test.
  • Use the correct number of workers as requested in struct Params.
  • Display the live progress of the game using SDL.
  • Ensure that all keyboard control rules work correctly.
  • Use benchmarks to measure the performance of your parallel program.
  • The implementation must scale well with the number of worker threads.
  • The implementation must be free of deadlocks and race conditions.