D F iP

| Q”

a

x

}

then, ideally, one of two nodes in a pair that achieves the diameter can be used as E| x

t

a starting node. These peripheral nodes, are expensive to determine. Instead, a pseudo-

peripheral node, as de¬ned through the following procedure, is often employed.

r

¡v¤r …¨ ¦3¥¢

¦¤ ™

¢ 6 ' 1(§ ¨D)¡ 6 £¢ ! 6 % #

0) ¦4 6 0 ¢

1. Select an initial node . Set . ¢£'©

| D

2. Do a level set traversal from |

3. Select a node in the last level set, with minimum degree

£

© q } E| x

4. If then

t

£ }

5. Set and ©

E| x

| D D t

6. GoTo 2

7. Else Stop: is a pseudo-peripheral node. |

8. EndIf

£ }

The distance in line 5 is the number of levels in the level set traversal needed in Step

| x

t

2. The algorithm traverses the graph from a node of the last level in the previous traversal,

until the number of levels stabilizes. It is easy to see that the algorithm does indeed stop

after a ¬nite number of steps, typically small.

—t

7 u pU¢ 7 p z7 yw— y w u

{ {˜p p { p

˜

# “£§

¢

! hC §¤ !

¤ …S !

§

¥

¤ ¤

The above algorithm plays a key role in sparse matrix computations. It is very helpful

in the context of graph partitioning as well. A ¬rst heuristic approach based on level set

traversals is the recursive dissection procedure mentioned above and described next.

% ™ # vx¤…¨©§¥¢

¡ ¦ ¦¤ 96 52 & 74 ¦ 1¥ §# 4 ! ) §$

0)

84$!% ¢

£

1. Set , , ¢

£ ¡

D D 9F

a i fD

e

2. While Do: ¢ )

¡

i

£

3. Select in the subgraph with largest size. £

4. Find a pseudo-peripheral node in and £

y

5. Do a level set traversal from . Let number of levels. y dR

˜ D

6. Let the subgraph of consisting of the ¬rst £ d ˜{R

c

7. levels, and the subgraph containing the rest of . £

¨

£

8. Remove from and add and to it £ ¨

c

9. ¢ ¢

¡ ¡

i pD

i e

t

10. EndWhile

}

The cost of this algorithm is rather small. Each traversal of a graph costs 5t ”x D

}

around , where is the number of edges (assuming that ). Since there ¢

5P 5P P 5P x

P P P ” P

D

are traversals of graphs whose size decreases by 2 at each step, it is clear that the cost is

}

, the order of edges in the original graph.

¢ 5P x P

As can be expected, the results of such an algorithm are not always good. Typically,

two qualities that are measured are the sizes of the domains as well as the number of cut-

edges. Ideally, the domains should be equal. In addition, since the values at the interface

points should be exchanged with those of neighboring processors, their total number, as

determined by the number of cut-edges, should be as small as possible. The ¬rst measure