Introduction To High Performance Computing For Scientists And Engineers by Georg Hager & Gerhard Wellein