Parallel Computing coursework - Distributed Memory