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.