Introduction To Parallel Computing by Ananth Grama