CMSC 4818Z Midterm (Spring 1999)


1. (20 points) Define the following terms:

A. Fat Tree

B. Iso-speedup

C. Eureka (synchronization)

D. data parallelism

2. (20 points) In PVM, messages must be copied before being sent over the network, but MPI ensures that it is possible to create implementations that copy directly from the user's data structure onto the network.  Explain the implications of each of these two policies on performance, deadlock, heterogeneity, and the programmer's ability to modify their data.

3. (15 points) Explain why busy waiting (spinning) is generally considered bad for single processor machines, but can actually improve performance compared to kernel-based semaphores on multi-processors.

4. (20 points) Both OpenMP and HPF are defined as annotations to traditional sequential languages. Explain the major similarities and differences between the two languages.  What types of machines would likely support efficient execution of each language?

5. (10 points) Explain why bus-based symmetric multi-processors are generally limited to at most a couple of dozen processors per bus and why this is not likely to change in the future.

6. (15 points) A crossbar switch is often used to build small-scale interconnection networks, but almost never for large ones.  Explain why it is both good for small configurations, and bad for large ones.