Previous | Next --- Slide 65 of 69
Back to Lecture Thumbnails

Exercise for your minds: (and someone please post their design)

For each of the following scenario, tell me which programming model(s) are suited for a)intra-communication for local computation b) inter-communication on a network or cluster. There's no best answer. Just provide your reasoning and explanation.

  1. You have a bunch of slower CPUs that are wired up and you want to make them work together to count the 'A's in a human DNA sequence. (no inter-communication here)

  2. You are going to design a Hadoop-like MapReduce ( system that can run on a cluster of servers. The normal workloads are locally computation intensive jobs with small-sized results that need to be 'reduced'.

  3. You are working on a distributed systems application without central control (a.k.a P2P). Each node needs to monitor a nuclear power plant and alert the others if something bad happens locally or it doesn't hear from any node within a timeout period.


Note that in each of those cases, the hardware you have will only be used in the way described. Choose the best model for the job!


If the data parallel model also utilizes a shared address space, why should we consider it as a different communication model from the shared address space model?