The process of writing large parallel programs is complicated by the need to specify both the parallel behaviour of the program and the algorithm that is t...The process of writing large parallel programs is complicated by the need to specify both the parallel behaviour of the program and the algorithm that is to be used to compute its result.