📄 node2.html
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 95.1 (Fri Jan 20 1995) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE> Preface</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Preface">
<meta name="keywords" value="book">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
<BR> <HR><a href="msgs0.htm#2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#2"><img ALIGN=MIDDLE src="asm_color_tiny.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/asm_color_tiny.gif" alt="[DBPP]"></a> <A NAME=tex2html1809 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="previous" SRC="previous_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/previous_motif.gif"></A> <A NAME=tex2html1817 HREF="node3.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node3.html"><IMG ALIGN=MIDDLE ALT="next" SRC="next_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/next_motif.gif"></A> <A NAME=tex2html1815 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="up" SRC="up_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/up_motif.gif"></A> <A NAME=tex2html1819 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="contents" SRC="contents_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/contents_motif.gif"></A> <A NAME=tex2html1820 HREF="node133.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node133.html"><IMG ALIGN=MIDDLE ALT="index" SRC="index_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/index_motif.gif"></A> <a href="msgs0.htm#3" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#3"><img ALIGN=MIDDLE src="search_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/search_motif.gif" alt="[Search]"></a> <BR>
<B> Next:</B> <A NAME=tex2html1818 HREF="node3.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node3.html"> Terminology</A>
<B>Up:</B> <A NAME=tex2html1816 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html">Contents</A>
<B> Previous:</B> <A NAME=tex2html1810 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html">Contents</A>
<BR><HR><P>
<H1><A NAME=SECTION01100000000000000000> Preface</A></H1>
<P>
Welcome to <em> Designing and Building Parallel Programs
</em>! My
goal in this book is to provide a practitioner's guide for students,
programmers, engineers, and scientists who wish to design and build
efficient and cost-effective programs for parallel and distributed
computer systems. I cover both the techniques used to design parallel
programs and the tools used to implement these programs. I assume
familiarity with sequential programming, but no prior exposure to
parallel computing.
<P>
<P>
<em> Designing and Building Parallel Programs</em> promotes a view of
parallel programming as an engineering discipline, in which programs
are developed in a methodical fashion and both cost and performance
are considered in a design. This view is reflected in the structure
of the book, which is divided into three parts. The first part, <em>
Concepts</em>, provides a thorough discussion of parallel algorithm
design, performance analysis, and program construction, with numerous
examples to illustrate fundamental principles. The second part, <em>
Tools</em>, provides an in-depth treatment of four parallel programming
tools: the parallel languages Compositional C++
(CC++
), Fortran M
(FM), and High Performance Fortran (HPF), and the Message Passing
Interface (MPI) library. HPF and MPI are standard parallel
programming systems, and CC++
and FM are modern languages
particularly well-suited for parallel software engineering. Part II
also describes tools for collecting and analyzing performance data.
The third part, <em> Resources</em> surveys some fundamental parallel
algorithms and provides many pointers to other sources of information.
<P>
<H2><A NAME=SECTION01101000000000000000> How to Use This Book</A></H2>
<P>
In writing this book, I chose to decouple the presentation of
fundamental parallel programming <em> concepts
</em> from the
discussion of the parallel <em> tools
</em> used to realize these
concepts in programs. This separation allowed me to present concepts
in a tool-independent manner; hence, commonalities between different
approaches are emphasized, and the book does not become a manual for a
particular programming language.
<P>
However, this separation also has its dangers. In particular, it may
encourage you to think that the concepts introduced in Part I can be
studied independently of the practical discipline of writing parallel
programs. This assumption would be a serious mistake. Parallel
programming, like most engineering activities, is best learned by
doing. Practical experience is essential! Hence, I recommend that
chapters from Parts I and II be studied concurrently. This approach
will enable you to acquire the hands-on experience needed to translate
knowledge of the concepts introduced in the book into the intuition
that makes a good programmer. For the same reason, I also recommend
that you attempt as many of the end-of-chapter exercises as possible.
<P>
<em> Designing and Building Parallel Programs
</em> can be used as
both a textbook for students and a reference book for professionals.
Because the hands-on aspects of parallel programming are so important,
professionals may find it useful to approach the book with a
programming problem in mind and make the development of a solution to
this problem part of the learning process. The basic materials have
been classroom tested. For example, I have used them to teach a
two-quarter graduate-level course in parallel computing to students
from both computer science and noncomputer science backgrounds. In
the first quarter, students covered much of the material in this book;
in the second quarter, they tackled a substantial programming project.
Colleagues have used the same material to teach a one-semester
undergraduate introduction to parallel computing, augmenting this
book's treatment of design and programming with additional readings in
parallel architecture and algorithms.
<P>
<H2><A NAME=SECTION01102000000000000000> Acknowledgments</A></H2>
<P>
It is a pleasure to thank the colleagues with whom and from whom I
have gained the insights that I have tried to distill in this book: in
particular Mani Chandy, Bill Gropp, Carl Kesselman, Ewing Lusk, John
Michalakes, Ross Overbeek, Rick Stevens, Steven Taylor, Steven Tuecke,
and Patrick Worley. In addition, I am grateful to the many people who
reviewed the text. Enrique Castro-Leon, Alok Choudhary, Carl
Kesselman, Rick Kendall, Ewing Lusk, Rob Schreiber, and Rick Stevens
reviewed one or more chapters. Gail Pieper, Brian Toonen, and Steven
Tuecke were kind enough to read the entire text. Addison-Wesley's
anonymous reviewers also provided invaluable comments. Nikos Drakos
provided the <tt> latex2html</tt> software used to construct the online
version, and Cris Perez helped run it. Brian Toonen tested all the
programs and helped in other ways too numerous to mention. Carl
Kesselman made major contributions to Chapter <A HREF="node51.html#chapccpp" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node51.html#chapccpp">5</A>.
Finally, all the staff at Addison-Wesley, and in particular editor Tom
Stone and editorial assistant Kathleen Billus, were always a pleasure
to work with.
<P>
Many of the tools and techniques described in this book stem from the
pioneering work of the National Science Foundation's
<A HREF="msgs0.htm#4" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#4">Center for Research in
Parallel Computation</A>,
<P>
without which this book would not have been possible. I am also
grateful to the Office of Scientific Computing of the U.S. Department
of Energy for their continued support.
<P>
<P>
Here is a
<A HREF="msgs0.htm#5" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#5">Web Tour</A>
providing access to other educational resources related to parallel
and distributed computing.
<BR> <HR><a href="msgs0.htm#2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#2"><img ALIGN=MIDDLE src="asm_color_tiny.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/asm_color_tiny.gif" alt="[DBPP]"></a> <A NAME=tex2html1809 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="previous" SRC="previous_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/previous_motif.gif"></A> <A NAME=tex2html1817 HREF="node3.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node3.html"><IMG ALIGN=MIDDLE ALT="next" SRC="next_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/next_motif.gif"></A> <A NAME=tex2html1815 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="up" SRC="up_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/up_motif.gif"></A> <A NAME=tex2html1819 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="contents" SRC="contents_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/contents_motif.gif"></A> <A NAME=tex2html1820 HREF="node133.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node133.html"><IMG ALIGN=MIDDLE ALT="index" SRC="index_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/index_motif.gif"></A> <a href="msgs0.htm#3" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#3"><img ALIGN=MIDDLE src="search_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/search_motif.gif" alt="[Search]"></a> <BR>
<B> Next:</B> <A NAME=tex2html1818 HREF="node3.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node3.html"> Terminology</A>
<B>Up:</B> <A NAME=tex2html1816 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html">Contents</A>
<B> Previous:</B> <A NAME=tex2html1810 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html">Contents</A>
<BR><HR><P>
<P><ADDRESS>
<I>© Copyright 1995 by <A href="msgs0.htm#6" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#6">Ian Foster</a></I>
</ADDRESS>
</BODY>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -