Multi‐ and Many‐Cores, Architectural Overview for Programmers
Lasse Natvig, Alexandru C. Iordan, Mujahed Eleyat, Magnus Jahre, Jørn Amundsen · 2017
Current trends in multi- and many-core architectures are increased parallelism, increased heterogeneity, use of accelerators and energy efficiency as a first-order design constraint. The 5 P's of parallel processing: performance, predictability, power efficiency, programmability and portability are all important goals that people strive to meet when they build or program multicore systems. Multicores have become a necessity due to some technological and economical constraints. This chapter gives a high-level introduction to these constraints. The term multicomputer has been used to denote parallel computers built of autonomous processors, often called nodes. The nodes normally have I/O units, and today the mostly used term for these parallel machines is cluster. The chapter introduces heterogeneous multicores - processors where one or some of the cores are significantly different than the others. The difference can be as fundamental as the instruction set used, or it can be the processor speed or cache/memory capacity of the different cores.