Sequential abstraction has enabled software to manage the complex demands of constructing computing applications, debugging software and hardware, and program composition. However, with the end of Dennard scaling (see Section 3.3.4), we have been unable to create sequential computers with sufficient speed and capacity to meet the needs of ever-larger computing applications. As a result, computer hardware systems were forced to adopt explicit parallelism, both within a single chip (multicore CPUs) and at datacenter scale (supercomputers and cloud computing). In this chapter, we describe this shift to parallelism. In single-chip CPUs, the shift has produced multicore processors with first 2 or 4 cores, but growing rapidly to 64 cores (2020) and beyond. Understanding of multicore chips, parallel building blocks used in even larger parallel computers, provides an invaluable perspective on how to understand and increase performance.
Review the options below to login to check your access.
Log in with your Cambridge Aspire website account to check access.
If you believe you should have access to this content, please contact your institutional librarian or consult our FAQ page for further information about accessing our content.