Introduction to Parallel Computing Serial Computing Parallel Computing Why Parallel Computing? The Power Wall The Single-Core Performance Wall “The major processor manufacturers and architectures, from Intel and AMD to Sparc and PowerPC, have run out of room with most of their traditional approaches to boosting CPU performance. Instead of driving clock speeds and straight-line instruction throughput ever higher, they are instead turning en masse to hyperthreading and multicore architectures.” The Free Lunch Is Over A Fundamental Turn Toward Concurrency in Software By Herb Sutter The Future Why Learn Parallel Computing? • • • • • Entertainment Industry Performance Challenge Massive Data Real-time Analytics Algorithmic Opportunities Entertainment Industry Performance Challenge Advanced research has moved beyond the capacity of a single computer for detailed multi-level simulations, data analysis, and largescale computations. Electron localization function in the cubic NaCl3 structure. Massive Data Real-time Analytics Algorithmic Opportunities Different molecular forces cause proteins to fold into unique, complex shapes. (Image courtesy of Justin MacCallum, Stony Brook University) Examples of Parallel Computing Summary • The computers of today, and tomorrow, have tremendous processing power that require parallel programming to fully utilize. • There are significant differences between sequential and parallel programming, that can be challenging. • With early exposure to these differences, students are capable of achieving performance improvements with multicore programming.