Parallel Programming by Barry Wilkinson