Soon, we’ll have computers with 1024 cores but that won’t help unless software developers write code that make use of them.
To do that, you need a fundamental understanding on how threads work and what parallel algorithms are and what the real-world problems might be.
Dmitry Vyukov has created a web site “1024cores” which gives you both an introduction to the basics (what are we talking about? which tools to we have? what is a memory model and why should I care?) as well as some practical algorithms like concurrent skip lists with detailed descriptions of the problems that you will encounter and how to fix them.
If you want to know what the discussion is all about or if you want to polish your knowledge or if you need a specific solution, this is a good place to start 🙂