Lecture 04
			      09/22/1994


Physical computational models
-----------------------------
Models for physical parallelism fall into two categories based on the
way variables are communicated amongst the various computing agents:
the continuum models and the particle models. Under a continuum model,
changes in data values are controlled by partial differential
equations, which when cast in a discrete form, result in equations for
which changes are functions of nearby (in the physical sense)
variables; remote variables have no direct effect, they act indirectly
through propagation. Edge detection algorithms are good examples of a
problem that falls under the continuum model. Under a particle model,
variables could be affected by the value of remote variables. In other
words, any single variable may depend directly on all other variables
in the model at each instant of time. N-body algorithms are good
examples of a problem that falls under the particle model. FFT provide 
another example.  

Different system interconnection structures differ in their
suitability for the continuum and particle models. Generally speaking
a system interconnection that gives preference (in terms of expected
latency) to communication between nearby agents is better suited to
the continuum model.

System Interconnect
-------------------
A network is represented by a finite graph. The number of nodes (N) in
the graph determines the network size. The node degree (d) is the
total number of edges going in and out of the node. A constant node
degree is a desired property of networks because it promotes
modularity. The diameter (D) of a network is the maximum shortest path
between any two of its nodes. The channel bisection width (b) of a
particular network is the minimum number of edges that have to "cut"
if the network is to be divided into two equal halves. The wire
bisection width (B) of a network is usually constant = b.w where w is
the channel width. Obviously "denser" topologies have "narrower"
channels for a constant wire bisection width. A network is symmetric
if the topology is identical looking from any node.

Communication patterns
----------------------
A routing function is a pattern of communication that may be exhibited
in a network. Common routing functions include: shifting, rotation,
permutation, broadcasting, multicasting, personalized communication,
etc. 

A permutation is a one-to-one communication pattern. The permutation
capability of a network is often used as an indication of its data
routing capability. For example, a crossbar switch can implement any
permutation in constant time O(1); a bus would need O(N) time!

The Perfect-Shuffle is a particular kind of permutation that has the
following property: Each application of a perfect shuffle results in
doubling the distance between the suffled data items (cards). The
perfect shuffle bijection for N items in positions 0, 1, 2, ... N-1
could be obtained by rotating to the left the binary representation of
each item's position.  Applying shuch bijection log(N) times will
result in the identity mapping, where each item ends up at its
starting position. If an exchange switch is added so as to allow the
exchange of items in positions 2i, 2i+1 at each stage of this
log(N)-stage perfect shuffle then any item can move from any position
to any one of the N available positions in a maximum of log(N)
"shuffle exchanges".

Interconnection networks can be either static or dynamic. A static
network supports point-to-point direct connections which do not change
during program execution. Dynamic networks use switching elements to
dynamically configure the system to match the communication demands of
user programs. 

Static Connection Networks
--------------------------
  - Linear array 
  - Ring (d=2, D=N)
  - Chordal Ring (d>2, D

This document has been prepared by Professor Azer Bestavros <best@cs.bu.edu> as the WWW Home Page for CS-551, which is part of the NSF-funded undergraduate curriculum on parallel computing at BU.

Date of last update: September 29, 1994.