6.1 Introduction6.2 The Difficulty of Creating Parallel Processing Programs6.3 SISD, MIMD, SIMD, SPMD, and Vector6.4 Hardware Multithreading6.5 Multicore and Other Shared Memory Multiprocessors6.6 Introduction to Graphics Processing Units6.7 Domain Specific Architectures6.8 Clusters, Warehouse Scale Computers, and Other Message-Passing Multiprocessors