Practical Parallel Programming, by Gregory V. Wilson