Professor Brian Vinter Concurrency vs. Parallelism Designing parallel systems is very hard • But sometimes necessary • Designing concurrent systems is surprisingly easy Concurrent systems can transparently utilize an underlying parallel system If your program is concurrent, and with sufficient concurrent operations, you don’t have to design for a specific number of processors Parallelism News flash: Moore’s law is dead since October 2004

This means that increased performance must come from using more processors How much of a Pentium 4 processor is actual processing power? Next generation processors are all multi-core Concurrency Concurrency it the natural way of things Serial algorithms are just the way we are trained… All (most) new CPUs are hardware threaded • Why? (hint: how far is a nano-second?) The basic assumption behind hardware threading is that your application is multithreaded • Otherwise there is little advantage

Download Taming the Multi-core Beast