📄 node20.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>2.6 Case Study: Atmosphere Model</TITLE>
</HEAD>
<BODY>
<meta name="description" value="2.6 Case Study: Atmosphere Model">
<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=tex2html2083 HREF="node19.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node19.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=tex2html2091 HREF="node21.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node21.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=tex2html2089 HREF="node14.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node14.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=tex2html2093 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=tex2html2094 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=tex2html2092 HREF="node21.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node21.html">2.7 Case Study: Floorplan Optimization</A>
<B>Up:</B> <A NAME=tex2html2090 HREF="node14.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node14.html">2 Designing Parallel Algorithms</A>
<B> Previous:</B> <A NAME=tex2html2084 HREF="node19.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node19.html">2.5 Mapping</A>
<BR><HR><P>
<H1><A NAME=SECTION02360000000000000000>2.6 Case Study: Atmosphere Model</A></H1>
<P>
<A NAME=secclim> </A>
<A NAME=secatmsum> </A>
<P>
<A NAME=1663> </A>
In the next three sections, we develop parallel algorithms for
<A NAME=1664> </A>
atmosphere modeling, VLSI design, and computational chemistry
problems. These case studies are intended to illustrate both the
design principles presented in the text and the
<A NAME=1665> </A>
stepwise process by which realistic parallel algorithms are developed.
<P>
While the problems examined in these case studies are of considerable
interest in their own right, our interest here is in their
computational characteristics. The atmosphere modeling application
is an example of a problem amenable to parallelization by using
simple domain decomposition techniques. It is representative of a
wide range of scientific and engineering computations. The VLSI
design problem is an example of an irregular problem
requiring load-balancing techniques. It is representative of many
symbolic computing problems. Finally, the computational chemistry
application is an example of a problem requiring asynchronous access
to distributed data structures, a requirement that arises frequently
in both numerical and symbolic computing.
<P>
In each case study, we first briefly introduce the problem being
solved and then develop parallel algorithms. We restrict the problem
descriptions to essential computational issues and omit details that
would add to the length of the presentation without illustrating new
principles. In particular, we do not say much about why the
underlying scientific or engineering problem is formulated in the way
described, or about alternative problem formulations that might admit
to alternative parallelization strategies. The chapter notes provide
pointers to detailed treatments of these topics.
<P>
<H2><A NAME=SECTION02361000000000000000>2.6.1 Atmosphere Model Background</A></H2>
<P>
<A NAME=1667> </A>
<P><A NAME=2341> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img253.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img253.gif">
<BR><STRONG>Figure 2.20:</STRONG> The basic predictive equations used in atmospheric
modeling, where <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img249.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img249.gif"> and <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img250.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img250.gif"> are latitude and longitude,
<em> z</em>
is height, <em> u</em>
and <em> v</em>
are horizontal components of
velocity, <em> p</em>
is pressure, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img251.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img251.gif"> is density, <em> T</em>
is
temperature, <em> f</em>
is Coriolis force, <em> g</em>
is gravity,
<em> F</em>
and <em> Q</em>
are external forcing terms, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img252.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img252.gif"> is specific
heat, and <em> a</em>
is the earth's radius.
<A NAME=figprimeq> </A><BR>
<P>
<P>
<A NAME=1725> </A>
An <em> atmosphere model
</em> is a computer program that simulates
atmospheric processes (wind, clouds, precipitation, etc.) that
influence weather or climate. It may be used to study the evolution
of tornadoes, to predict tomorrow's weather, or to study the impact on
climate of increased concentrations of atmospheric carbon dioxide.
Like many numerical models of physical processes, an atmosphere model
solves a set of partial differential equations, in this case
describing the basic fluid dynamical behavior of the atmosphere
(Figure <A HREF="node20.html#figprimeq" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node20.html#figprimeq">2.20</A>). The behavior of these equations on a
continuous space is approximated by their behavior on a finite set of
regularly spaced points in that space. Typically, these points are
located on a rectangular latitude-longitude grid of size <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img254.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img254.gif">, with <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img255.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img255.gif"> in the range 15--30, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img256.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img256.gif">, and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img257.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img257.gif"> in the range 50--500
(Figure <A HREF="node20.html#figgrid" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node20.html#figgrid">2.21</A>). This grid is periodic in the <em> x</em>
and
<em> y</em>
dimensions, meaning that grid point <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img258.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img258.gif"> is viewed as
being adjacent to <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img259.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img259.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img260.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img260.gif">.
A vector of values is maintained at each grid point,
representing quantities such
as pressure, temperature, wind velocity, and humidity.
<P>
<P><A NAME=2758> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img261.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img261.gif">
<BR><STRONG>Figure 2.21:</STRONG> <em> The three-dimensional grid used to represent the state of
the atmosphere. Values maintained at each grid point represent
quantities such as pressure and temperature.</em><A NAME=figgrid> </A><BR>
<P>
<P>
The atmosphere model performs a time integration to determine
the state of the atmosphere at some future time, based on an initial
state. This integration proceeds in a series of steps, with each step
advancing the state of the computation by a fixed amount. We shall
assume that the model uses a finite difference method
(Section <A HREF="node17.html#seclocal" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node17.html#seclocal">2.3.1</A>) to update grid values, with a nine-point
stencil being used to compute atmospheric motion in the horizontal
dimension, and a three-point stencil in the vertical
(Figure <A HREF="node20.html#figsten" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node20.html#figsten">2.22</A>).
<P>
<P><A NAME=2773> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img262.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img262.gif">
<BR><STRONG>Figure 2.22:</STRONG> <em> The finite difference stencils used in the atmosphere
model. This figure shows for a single grid point both the nine-point
stencil used to simulate horizontal motion and the three-point stencil
used to simulate vertical motion.</em><A NAME=figsten> </A><BR>
<P>
<P>
The finite difference computations are concerned with the movement, or
fluid dynamics, of the atmosphere. In addition to these dynamics
calculations, the atmosphere model includes algorithms used to
simulate processes such as radiation, convection, and precipitation.
These calculations are collectively termed <em> physics
</em> and use
a range of numerical methods of varying complexity. Data dependencies
within physics computations are restricted to within vertical columns.
<P>
<A HREF="#anderson">Plate 4</A>
<P>
illustrates one of the many phenomena that can be simulated using an
atmospheric circulation model. This shows a potential temperature
isosurface of two thunderstorm downdrafts that hit the ground as
microbursts, then spread out and collide. The surfaces outline the
boundaries of the cold downdrafted air. The collision region contains
wind fields that are dangerous to landing aircraft. The grey tiles
are 1-kilometer squares and the model domain is <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img263.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img263.gif">
km with 50 m resolution.
<P>
<P><HR>
<A NAME=anderson HREF="anderson.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/anderson.gif"> <img
ALIGN=MIDDLE src="anderson_small.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/anderson_small.gif"></A>
<P>
(GIF <A HREF="anderson.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/anderson.gif">30443</A> bytes; TIFF <A
HREF="javascript:if(confirm('http://www.dit.hcmut.edu.vn/books/system/par_anl/anderson.tiff \n\nThis file was not retrieved by Teleport Pro, because the server reports that this file cannot be found. \n\nDo you want to open it from the server?'))window.location='http://www.dit.hcmut.edu.vn/books/system/par_anl/anderson.tiff'" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/anderson.tiff">723412</A> bytes.)
Plate 4: Potential temperature isosurface of two colliding
thunderstorm microbursts. Image courtesy of J. Anderson.
<P><HR>
<P>
In summary, the atmosphere modeling example is primarily concerned
with performing finite difference computations on a regular
three-dimensional grid. In this respect, it is representative of a
large class of scientific (numeric) computations. The simple, regular
structure of the finite difference method makes it a useful
pedagogical tool, and we shall use it repeatedly in the following
chapters to illustrate issues in algorithm design and performance
analysis.
<P>
<A NAME=1751> </A>
<P>
<H2><A NAME=SECTION02362000000000000000>2.6.2 Atmosphere Model Algorithm Design</A></H2>
<P>
<A NAME=1753> </A>
We now develop parallel algorithms for the atmosphere modeling
problem, proceeding in the stepwise fashion presented in earlier
sections.
<P>
<H4><A NAME=SECTION02362010000000000000> Partition.</A></H4>
<P>
The grid used to represent state in the atmosphere model is a natural
candidate for domain decomposition. Decompositions in the <em> x</em>
,
<em> y</em>
, and/or <em> z</em>
dimensions are possible (Figure <A HREF="node16.html#figfd" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node16.html#figfd">2.2</A>).
Pursuant to our strategy of exposing the maximum concurrency possible, we
initially favor the most aggressive decomposition possible, which in
this case defines a task for each grid point. This task maintains as
its state the various values associated with its grid point and is
responsible for the computation required to update that state at each
time step. Hence, we have a total of <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img264.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img264.gif"> tasks, each with <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img265.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img265.gif"> data and computation per time
step.
<P>
<H4><A NAME=SECTION02362020000000000000> Communication.</A></H4>
<P>
<A NAME=1760> </A>
The design checklist of Section <A HREF="node16.html#secrules1" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node16.html#secrules1">2.2.3</A> does not suggest any
obvious deficiencies in our partition design, so we proceed to
consider communication requirements. We identify three distinct
communications:
<P>
<P><A NAME=2792> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img266.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/img266.gif">
<BR><STRONG>Figure 2.23:</STRONG> <em> Task and channel structure for a two-dimensional finite
difference computation with nine-point stencil, assuming one grid
point per processor. Only the channels used by the shaded task are
shown.</em><A NAME=figsten9> </A><BR>
<P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -