ABSTRACT

In the multicore world, one-socket single-core systems have all but vanished except for the embedded market. The price vs. performance “sweet spot” lies mostly in the two-socket regime, with multiple cores (and possibly multiple chips) on a socket. Parallel programming in a basic form should thus start at the shared-memory level, although it is entirely possible to run multiple processes without a concept of shared memory. See Chapter 9 for details on distributed-memory parallel programming.