Due: Thursday September 18, 2008 in class.
(a) Describe an algorithm to compute the prefix sums on a PRAM with n processors in O(log n) time. Analyze the running time of your algorithm and argue, at least informally, its correctness. Which PRAM model does your algorithm use (e.g., EREW, CREW, CRCW)? Does your algorithm require a synchronous PRAM?
(b) Describe an algorithm to compute the prefix sums on an n processor mesh in O(sqrt(n)) time. Assume sqrt(n) is an integer. Analyze the running time of your algorithm and argue, at least informally, its correctness.
(c) Describe an algorithm to compute the prefix sums on an n processor hypercube in O(log2 n) time (or faster). Assume n is a power of 2. Analyze the running time of your algorithm and argue, at least informally, its correctness.