2
Montecito
The Free Lunch Is Over (Unless We Reenable It)
Intel CPU Introductions
 (sources: Intel, Wikipedia)
Pentium
386
Pentagon: P D/EE
P D/EE
•Nonconcurrent apps aren’t going to get faster (expect some regressions). We need killer apps with lots of latent parallelism. •The state of concurrency in the industry is terrible. Nobody does concurrency well for mainstream languages and platforms.
The world’s best frameworks are just getting away with it. •A generational advance >OO is necessary to get above the “thread + lock” concurrency programming model.
Key Ongoing Themes
•unmanaged × managed; standards; concurrency
A Convergence of Fundamental Building Blocks
•for each (C++/CLI, C++0x, …)
automatic type inference (C++0x, Concur, Linq)
lambda functions (C++0x?, Concur, Linq)
concepts (C++0x, Concur)
Concurrency In C++: A Snapshot of Thinking
•Concur basics: active objects; messages; futures
•loop/data parallel: parallel loops; parallel STL algorithms
Summary
Overview