Credit: Tilera
Exploiting the multiprocessors that have recently become ubiquitous requires high-performance and reliable concurrent systems code. However, concurrent programming, which is always challenging, is made much more so by two problems.