📄 node48.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> Chapter Notes</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Chapter Notes">
<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=tex2html2434 HREF="node47.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node47.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=tex2html2440 HREF="node49.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node49.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=tex2html2438 HREF="node39.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node39.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=tex2html2442 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=tex2html2443 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=tex2html2441 HREF="node49.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node49.html">Part II: Tools</A>
<B>Up:</B> <A NAME=tex2html2439 HREF="node39.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node39.html">4 Putting Components Together</A>
<B> Previous:</B> <A NAME=tex2html2435 HREF="node47.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node47.html"> Exercises</A>
<BR><HR><P>
<H1><A NAME=SECTION02590000000000000000> Chapter Notes</A></H1>
<P>
The merits of modular design are described in landmark papers by
Parnas [<A HREF="node132.html#Parnas" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Parnas">220</A>,<A HREF="node132.html#Parnas2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Parnas2">221</A>,<A HREF="node132.html#Parnas3" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Parnas3">223</A>] and Wirth [<A HREF="node132.html#Wirth" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Wirth">295</A>]. The book
by McConnell [<A HREF="node132.html#McConnell" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#McConnell">198</A>] provides an excellent survey of the
software construction process. Booch [<A HREF="node132.html#OOD" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#OOD">40</A>] and Cox and
Novobilski [<A HREF="node132.html#OOP" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#OOP">66</A>] provide good introductions to modularity and
object-oriented programming. Milner [<A HREF="node132.html#Milner" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Milner">210</A>], Hoare [<A HREF="node132.html#CSP" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#CSP">154</A>],
and Chandy and Misra [<A HREF="node132.html#Unity" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Unity">54</A>] provide abstract treatments of
modularity and program composition in parallel programming. Foster
and Taylor [<A HREF="node132.html#Strand" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Strand">107</A>] explore the use of modular design techniques
in concurrent logic programming. Mead and Conway [<A HREF="node132.html#Mead" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Mead">199</A>] and
Ullman [<A HREF="node132.html#Ullman" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Ullman">286</A>] provide introductions to VLSI design, another
area in which modular design techniques are used extensively.
<P>
Gropp and Smith emphasize the importance of data distribution
<A NAME=6111> </A>
neutrality in the design of SPMD libraries [<A HREF="node132.html#GS93" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#GS93">127</A>]. This
principle is applied extensively in their Portable Extensible Tools
<A NAME=6113> </A>
for Scientific computing (PETSc) package. ScaLAPACK is described by
<A NAME=6114> </A>
Choi, Dongarra, and Walker [<A HREF="node132.html#CDW94" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#CDW94">59</A>], Dongarra and
Walker [<A HREF="node132.html#DW94" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#DW94">85</A>], and Dongarra, van de Geign, and
Walker [<A HREF="node132.html#DvW94" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#DvW94">84</A>]. Dongarra, Pozo, and Walker [<A HREF="node132.html#Pozo" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Pozo">83</A>] describe
<A NAME=6119> </A>
the C++
interface. Other parallel SPMD libraries include Lemke and
<A NAME=6120> </A>
Quinlan's [<A HREF="node132.html#LQ" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#LQ">188</A>] P++
library for grid applications,
Skjellum's [<A HREF="node132.html#Skj1" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Skj1">262</A>] Multicomputer Toolbox, and Thinking
Machine's [<A HREF="node132.html#CMSSL" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#CMSSL">283</A>] CMSSL. Skjellum et al. [<A HREF="node132.html#Skj2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Skj2">265</A>] discuss the
use of the MPI message-passing standard to develop parallel libraries.
A variety of other issues relating to parallel SPMD libraries are
discussed in workshop proceedings edited by
Skjellum [<A HREF="node132.html#slconf" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#slconf">263</A>,<A HREF="node132.html#slconf2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#slconf2">264</A>].
<P>
The tuple space module discussed in Section <A HREF="node44.html#secmodts" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node44.html#secmodts">4.5</A> forms the
basis for the Linda parallel programming model of Carriero and
Gelernter [<A HREF="node132.html#CG2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#CG2">47</A>,<A HREF="node132.html#Linda" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Linda">48</A>,<A HREF="node132.html#CG3" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#CG3">49</A>]. The tuple space used in Linda is more
general than that described here. In particular, any field can be used
<A NAME=6128> </A>
as a key when retrieving tuples. The tuple space solution to the
database search problem is based on a Linda program in [<A HREF="node132.html#Linda" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Linda">48</A>].
The convolution problem and the performance results in
Section <A HREF="node43.html#eximage" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node43.html#eximage">4.4</A> are taken from a paper by Foster et
al. [<A HREF="node132.html#SHPCC" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#SHPCC">101</A>]. Foster and Worley [<A HREF="node132.html#FW" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#FW">110</A>] describe parallel
algorithms for the fast Fourier transform.
<P>
<P>
Here is a
<A HREF="msgs0.htm#10" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#10">Web Tour</A>
providing access to additional information on modular programming,
parallel program design, and parallel libraries.
<P>
<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=tex2html2434 HREF="node47.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node47.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=tex2html2440 HREF="node49.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node49.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=tex2html2438 HREF="node39.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node39.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=tex2html2442 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=tex2html2443 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=tex2html2441 HREF="node49.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node49.html">Part II: Tools</A>
<B>Up:</B> <A NAME=tex2html2439 HREF="node39.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node39.html">4 Putting Components Together</A>
<B> Previous:</B> <A NAME=tex2html2435 HREF="node47.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node47.html"> Exercises</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 + -