CMPUT 399: Computational Science and Clusters

Paul Lu
Department of Computing Science
January 2008

Sample Midterm Question

An example of a short answer, synthesis question:

A shared-memory computer can also run software designed for a distributed-memory computer (e.g., use the memory bus/interconnection network to carry the data normally sent across a network). Specifically, a network send/receive can be implemented (via an abstraction layer) using a series of load/stores (aka reads/writes to shared memory) so that the distributed-memory software can run without any modifications.

What are two significant advantages and two significant disadvantages of running distributed-memory software on shared-memory hardware? Explain briefly. Consider the points of view of economics, performance, energy, etc.