CS 574: Parallel and Distributed Systems Midterm Study Questions Describe Pfister's main arguments for the need to study cluster technology versus other popular aggregate computing systems. Describe the architectural characteristics of Clusters, SMPs, and NUMA architectures, and describe the workload characteristics that each is best at. Describe typical race conditions one might find involving applications of each of shared memory, message-passing, shared I/O , and multi-threaded computations. Describe the differences between descriptive and prescriptive programming models, and give examples of each. Describe how the BSP model accounts for communication costs, and describe how the model enables the reduction of communication costs at a systems level. Describe why standard communication protocols like TCP/IP have such high overheads. Describe how "shared nothing" differs from "multi-tailed" architectures. Describe what is meant by the term "cluster operating system" and how does it differ from SMP OSs and typical "distributed" operating systems.