Parallel Computation of Prime Numbers with SIEVE OF ERATHOSTHENES (Braunl'94) Source Code: ------------ MODULE prime; CONFIGURATION list [2..200]; (* Use a list of PEs labelled 2..200 *) CONNECTION ; (* no connections needed here *) VAR next_prime: INTEGER; (* scalar variable *) removed : list OF BOOLEAN; (* vector variable *) BEGIN REPEAT next_prime:= REDUCE.FIRST(DIM(list,1)); (* get next value from remaining list *) WriteInt(next_prime,10); WriteLn; (* print it *) removed := DIM(list,1) MOD next_prime = 0 (* remove all multiples in parallel *) UNTIL removed END prime. Program output: --------------- 2 3 5 7 11 13 17 19 23 29 ...