Building Parallel Programs: SMPs, Clusters & Java (Computing)
This text is intended for parallel programming courses within computer science departments at both four-year and two-year colleges. More specifically, this text is ideal for those courses in parallel programming and parallel computing where Java is the preferred language. Parallel programming is an elective course offered within most computer science programs. Parallel programming teaches students how to run programs across several computers, as opposed to running a single program on one computer. One advantage of being able to perform parallel programming is the ability of a computer scientist to test many versions of one problem simultaneously. The course, while an elective, is offered within most computer science departments at most universities. Parallel computing is a stable subdiscipline within computer science - some say that with the more powerful microcomputers being developed, it has the potential to gain more interest in coming years. With the prevalence of Java as a programming language, this book offers a more modern take on parallel programming, which will appeal to customers. This book is much more up to date than any other choices on the market today, particularly the market leader from Morgan-Kaufmann, which has not been updated since 1996. The market is looking for a new, up-to-date option and this book delivers with its Java focus and the credentials of the author. Reviewers commented positively on the author's clear writing style, which will be beneficial to students who often are forced to grapple with muddled texts at these higher levels. The author will make unique Java code samples and toolkits available (student downloads on course.com and also on the instructor's website). This book will help further our advancement into higher level portions of the computer science market as we seek to publish a full breadth of choices for the computer science curriculum.
By Kenyon Ralph - September 16, 2009
This is a good book. I used it for a parallel computing undergraduate course at UCSD. It has many interesting case studies that go from sequential versions to parallel versions. The parallel versions usually start out slow and naive, and progress to an improved solution, helping you learn the techniques for parallel programming along the way. Software development is fun using the author's GPL'd Parallel Java library.