E-Book Overview
This accessible text covers the techniques of parallel programming in a practical manner that enables readers to write and evaluate their parallel programs. Supported by the National Science Foundation and exhaustively class-tested, it is the first text of its kind that does not require access to a special multiprocessor system, concentrating instead on parallel programs that can be executed on networked computers using freely available parallel software tools. The book covers the timely topic of cluster programming, interesting to many programmers due to the recent availability of low-cost computers. Uses MPI pseudocodes to describe algorithms and allows different programming tools to be implemented, and provides readers with thorough coverage of shared memory programming, including Pthreads and OpenMP. Useful as a professional reference for programmers and system administrators.
E-Book Content
WilkFMff.fm Page i Saturday, February 7, 2004 11:54 AM
PARALLEL PROGRAMMING TECHNIQUES AND APPLICATIONS USING NETWORKED WORKSTATIONS AND PARALLEL COMPUTERS 2nd Edition
BARRY WILKINSON University of North Carolina at Charlotte Western Carolina University
MICHAEL ALLEN University of North Carolina at Charlotte
Upper Saddle River, NJ 07458
WilkFMff.fm Page ii Friday, January 23, 2004 10:51 AM
Library of Congress CataIoging-in-Publication Data CIP DATA AVAILABLE.
Vice President and Editorial Director, ECS: Marcia Horton Executive Editor: Kate Hargett Vice President and Director of Production and Manufacturing, ESM: David W. Riccardi Executive Managing Editor: Vince O’Brien Managing Editor: Camille Trentacoste Production Editor: John Keegan Director of Creative Services: Paul Belfanti Art Director: Jayne Conte Cover Designer: Kiwi Design Managing Editor, AV Management and Production: Patricia Burns Art Editor: Gregory Dulles Manufacturing Manager: Trudy Pisciotti Manufacturing Buyer: Lisa McDowell Marketing Manager: Pamela Hersperger © 2005, 1999 Pearson Education, Inc. Pearson Prentice Hall Pearson Education, Inc. Upper Saddle River, NJ 07458
All rights reserved. No part of this book may be reproduced in any form or by any means, without permission in writing from the publisher. Pearson Prentice Hall® is a trademark of Pearson Education, Inc. The author and publisher of this book have used their best efforts in preparing this book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The author and publisher make no warranty of any kind, expressed or implied, with regard to these programs or the documentation contained in this book. The author and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs. Printed in the United States of America 10 9 8 7 6 5 4 3 2 1 ISBN: 0-13-140563-2 Pearson Education Ltd., London Pearson Education Australia Pty. Ltd., Sydney Pearson Education Singapore, Pte. Ltd. Pearson Education North Asia Ltd., Hong Kong Pearson Education Canada, Inc., Toronto Pearson Educación de Mexico, S.A. de C.V. Pearson Education—Japan, Tokyo Pearson Education Malaysia, Pte. Ltd. Pearson Education, Inc., Upper Saddle River, New Jersey
WilkFMff.fm Page iii Friday, January 23, 2004 10:51 AM
To my wife, Wendy, and my daughter, Johanna Barry Wilkinson
To my wife, Bonnie Michael Allen
WilkFMff.fm Page iv Friday, January 23, 2004 10:51 AM
iv
WilkFMff.fm Page v Friday, January 23, 2004 10:51 AM
Preface
The purpose of this text is to introduce parallel programming techniques. Parallel programming is programming multiple computers, or computers with multiple internal processors, to solve a problem at a greater com