Parallel Programming by Michael Allen, Barry Wilkinson & C. Michael Allen