Computing devices with multiple processing cores are now the norm. Most smartphones, tablets, game consoles, and of course personal computers and servers, can process software tasks in true parallel fashion. This trend will keep on going, and the number of cores per device will grow to dozens and hundreds, which will enable us to run more complex applications, and more of them at the same time. Ho ...