Structured Parallel Programming by Michael McCool