System Complications

This section aims to introduce some of the motivating factors and technologies that are driving the multicore and manycore revolution.  As a good developer, one needs to be able to match the algorithm and language/library as best as possible to the target hardware.  The hardware and operating system support for parallelism is rapidly changing, but certain features are prominent enough that all savvy programmers should be aware of them.