GoingDeep: C++ and Beyond 2012: Herb Sutter - Concurrency and Parallelism

GoingDeep

Herb Sutter presents Concurrency and Parallelism. This was filmed at C++ and Beyond 2012.Herb says:I've spoken and written on these topics before. Here's what's different about this talk: *Brand new: This material goes beyond what I've written and taught about before in my Effective

Running time
3h17m
File size
69.00MB

Download Original File | View original post

Episode synopsis

Herb Sutter presents Concurrency and Parallelism. This was filmed at C++ and Beyond 2012.

Herb says:

I've spoken and written on these topics before. Here's what's different about this talk:

  • Brand new: This material goes beyond what I've written and taught about before in my Effective Concurrency articles and courses.
  • Cutting-edge current: It covers the best-practices state of the art techniques and shipping tools, and what parts of that are standardized in C++11 already (the answer to that one may surprise you!) and what's en route to near-term standardization and why, with coverage of the latest discussions.
  • Mainstream hardware – many kinds of parallelism: What's the relationship among multi-core CPUs, hardware threads, SIMD vector units (Intel SSE and AVX, ARM Neon), and GPGPU (general-purpose computation on GPUs, which I covered at C++ and Beyond 2011)? Which are most interesting, what technologies are available now, and what's being considered for near-term standardization?
  • Blocking vs. non-blocking: What's the difference between blocking and non-blocking styles, why on earth would you care, which kinds does C++11 support, and how are we looking at rounding it out in C++1y?
  • Task and data parallelism: What's the difference between task parallelism and data parallelism, which kind of hardware does each allow you to exploit, and why?
  • Work stealing: What's the difference between thread pools and work stealing, what are the major flavors of work stealing, which of these (if any) does C++11 already support and is already shipping on some advanced commercial C++ compilers today (this answer will likely surprise you), and what needs to be done in the next round for a complete state-of-the-art parallelism story in C++1y?

The answers all matter to you – even the ones not yet in the C++ standard – because they are real, available in shipping products, and affect how you design your software today.

This will be a broad and deep dive. At C++ and Beyond 2011, the attendees (audience!) included some of the world's leading experts on parallelism and compilers. At this session of C&B 2012, I expect anyone who wasn't personally at the SG1 meeting this month, even world-class experts, will learn something new in this talk. I certainly did, and that's why I'm motivated to turn the information into a talk and share. This isn't just cool stuff – it's important and useful in production code today.

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“In order to understand recursion, one must first understand recursion.”