CS267: Lecture 4, Jan 28 1999

More about Shared Memory Processors and Programming

Abstract

We begin with basic performance tradeoffs in parallel programming by using the simple example of summing n numbers in parallel. Then we describe shared memory architectures in a little more detail than the last lecture, including the cache coherence problem, discuss the shared memory programming model using Solaris threads, barriers and locks, and finally discuss an example called Sharks and Fish in some detail.
This lecture was given by the TA, Fred Wong.

Lecture Notes

  • Power Point version
  • PDF version
  • Updated Sharks and Fish code discussed in lecture
  • main.cc
  • worker.cc
  • Primary Readings

  • Notes from the Lecture 6 from CS267, Spring 1996
  • Secondary Readings and References

  • An Introduction to Programming with Threads by Andrew Birrell
  • SUN Threads Page, useful documentation, papers, programming tips, etc. for programming with threads
  • Barrier code written using SUN threads discussed in class
  • Sharks and Fish, detailed programming examples of several simple physical simulations written in several programming models, including shared memory