Midterm (Spring 1999)
points) Define the following terms:
A. Fat Tree
D. data parallelism
(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.
(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.
(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?
(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.
(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.