graph partitioning algorithms for distributing workloads...

32
Graph Partitioning Algorithms for Distributing Workloads of Parallel Computations Bradford L. Chamberlain October 13, 1998 Abstract This paper surveys graph partitioning algorithms used for parallel computing, with an emphasis on the problem of distributing workloads for parallel computations. Geometric, structural, and refinement- based algorithms are described and contrasted. In addition, multilevel partitioning techniques and issues related to parallel partitioning are addressed. All algorithms are evaluated qualitatively in terms of their execution speed and ability to generate partitions with small separators. 1 Introduction In its most general form, the graph partitioning problem asks how best to divide a graph's vertices into a specified number of subsets such that: (i) the number of vertices per subset is equal and (ii) the number of edges straddling the subsets is minimized. Graph partitioning has several important applications in Computer Science, including VLSI circuit layout [8], image processing [43], solving sparse linear systems, computing fill-reducing orderings for sparse matrices, and distributing workloads for parallel computation. Unfortunately, graph partitioning is an NP-hard problem [13], and therefore all known algorithms for generating partitions merely return approximations to the optimal solution. In spite of this theoretical limitation, numerous algorithms for graph partitioning have been developed during the past decade that generate high-quality partitions in very little time. This paper provides an overview of these algorithms, focusing on their application to parallel computing. One of the fundamental problems that must be addressed in every parallel application is that of work- load distribution—the distribution of data and computation across a processor set. Optimal distributions 1

Upload: others

Post on 11-Mar-2020

2 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

GraphPartitioningAlgorithmsfor DistributingWorkloadsofParallelComputations

BradfordL. Chamberlain

October13,1998

Abstract

This papersurveys graphpartitioningalgorithmsusedfor parallelcomputing,with anemphasisontheproblemof distributing workloadsfor parallelcomputations.Geometric,structural,andrefinement-basedalgorithmsaredescribedandcontrasted.In addition,multilevel partitioningtechniquesandissuesrelatedto parallelpartitioningareaddressed.All algorithmsareevaluatedqualitatively in termsof theirexecutionspeedandability to generatepartitionswith smallseparators.

1 Intr oduction

In its mostgeneralform, thegraphpartitioning problemaskshow bestto divide a graph's verticesinto a

specifiednumberof subsetssuchthat: (i) the numberof verticespersubsetis equaland(ii ) thenumber

of edgesstraddlingthe subsetsis minimized. Graphpartitioninghasseveral importantapplicationsin

ComputerScience,includingVLSI circuit layout[8], imageprocessing[43], solvingsparselinearsystems,

computingfill-reducingorderingsfor sparsematrices,anddistributingworkloadsfor parallelcomputation.

Unfortunately, graphpartitioning is an NP-hardproblem[13], and thereforeall known algorithmsfor

generatingpartitionsmerely return approximationsto the optimal solution. In spite of this theoretical

limitation, numerousalgorithmsfor graphpartitioninghave beendevelopedduring the pastdecadethat

generatehigh-qualitypartitionsin very little time. This paperprovidesanoverview of thesealgorithms,

focusingon theirapplicationto parallelcomputing.

Oneof thefundamentalproblemsthatmustbeaddressedin every parallelapplicationis thatof work-

load distribution—thedistribution of dataandcomputationacrossa processorset. Optimaldistributions

1

Page 2: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

partitiondata setarray-based

setprocessor

P1

P2

P3

P4

block-cyclicpartition

graph-baseddata set

graph

?

Figure1: An illustration of the workloaddistribution problem. Elementsof the array (left) and the unstructuredgraph(right) needto bedistributedamongfour processors(center).Dueto its regularstructure,thearrayis amenableto straightforward distributionssuchasthe block-cyclic oneshown here. The graphhasno obvious mappingto theprocessorsetandthereforerequiresagraphpartitioningalgorithm.

minimizeanapplication's overall runtime,typically by ensuringthateachprocessorhasanequalamount

of work while minimizing theparalleloverheadinducedby thedistribution (mostnotablyin theguiseof

interprocessorcommunication).Someapplicationsareeasyto distribute. For example,densearray-based

problemstypically have a high degreeof regularity, allowing the arrayelementsto be distributedusing

straightforwardblocked, cyclic, or block-cyclicschemes.Thesedistributionsareadvantageousdueto their

simplicity andtheirability to takeadvantageof anarray's regularstructure.

Unfortunately, many parallelcomputationsinvolvedatasetsthatarenotsoregularin structure,thereby

necessitatingmoresophisticatedpartitioningmethods(Figure1). Suchdatasetsincludethoseusedbyfinite

volumemethodsfor computationalfluid dynamics,andby finite elementandfinite differencemethodsfor

structuralanalysis.For example,thefinite volumemeshin Figure2(a)storesdatavaluesat eachtriangle

in orderto computeairflow pasta four-elementwing.

Theseunstructureddatasetsinduceworkloadsthat canbe representedin a graph-basedform. Each

nodeof a workloadgraph representsa unit of dataand the computationthat mustbe performedon it,

while eachedgerepresentsa datadependencebetweentwo vertices. For example,in the computation

of Figure2(a), eachtriangle's valuesare iteratively recomputedusing the valuesof its neighboringtri-

2

Page 3: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

(b)(a)

Figure2: Exampleof a finite volumesimulationusedto computeairflow pasta four-elementwing. (a) The meshdefinedfor the problem. Eachtrianglehasan associatedsetof datavalues. Flux is computedfor eachedgeusingthe valuesof its neighboringtriangles. (b) The mesh's dual graph,usedto partition the computation.Eachvertexrepresentsa triangle's data.Edgesconnecttrianglesthatneedto referto eachothers'values(source: [44]).

angles. Thus, the workload inducedby this meshcan be representedusing a graphin which vertices

representmeshtrianglesandedgesconnectnodeswhosetrianglesshareacommonedge(Figure2(b)). For

workloadsdescribedin thisgraph-basedframework, a paralleldistributioncanbecomputedusinga graph

partitioningalgorithm. Sinceworkloaddistribution strivesto divide computation(graphvertices)evenly

acrossa processorset,while minimizing interprocessorcommunication(edgesthatstraddletwo subsets),

it canbephrasedasa graphpartitioningproblemin which thenumberof partitionsis equalto thenumber

of processors.

In thepastdecade,severalnovel approacheshave beendevelopedfor partitioninggraphsfor parallel

computation.Thispaperdescribesseveralof themostcompellingalgorithmsaswell asthetechniquesthat

led to theirdevelopment.Eachalgorithmis evaluatedin termsof thetime it takesto computeapartitionas

well asthequality of thepartitionsit generates(measuredby thenumberof straddlingedges).Secondary

considerationsincludewhetherthealgorithmhastheoreticalguaranteesof its partitionquality, andwhether

it hasanefficientparallelimplementation.

Therestof thepaperis organizedasfollows: Thenext sectionprovidesamorecompleteintroductionto

3

Page 4: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

(a) (b) (c)

S1’

S3

S1 S2

S4 S4’S3’

S2’

Figure3: (a) A balancedfour-way partitionof thegraphfrom Figure1. (b) Thesetof cut edges,���

resultingfromthispartition( � ��� � ��� � ). (c) A vertex separatorinducedby

���thatpartitionstheremainingverticesinto four roughly

balancedsubsets.

thegraphpartitioningproblemandits applicationtoworkloaddistribution. Sections3–5presentasurvey of

graphpartitioningalgorithms,dividing theminto threeclasses:thosethatutilize thegeometricproperties

of a graph,thosethat operateon a graph's combinatorialstructure,and thosethat uselocal refinement

techniques.Section6 describesgeneralstrategiesthat acceleratethe partitioningprocessby contracting

the input graph. Issuesrelatedto computingpartitionsin parallelareaddressedin Section7. The final

sectionprovidesanoverallevaluationof thealgorithmsandreconsiderstheirapplicationto theproblemof

workloaddistribution.

2 Graph Partitioning

In this paper, a graph ��� �� ��� is definedin termsof a set of vertices, , and a set of edges,

� . Edgesconnectverticesfrom pair-wiseandareundirected.Self-loopsarenot permitted. In some

graphs,the verticesmay have spatialcoordinatesassociatedwith them that definetheir relative posi-

tions in IR� . A � -way partition of a graphis a mapping ���� ���� ��� � � � � of its verticesinto � sub-

sets �! � �!" � � � � � � # , where $�% � % & and � %(' � )*&+ wherever ,*-/. (Figure3(a)). Every partition

generatesa set of cut edges, �10 , definedas the subsetof � whoseendpointslie in distinct partitions

4

Page 5: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

( 2�354�6 7 8 9 : 8 ; <�= 7 8 9 : 8 ; <5>?2@:(A@7 8 9 <CB4DA@7 8 ; < E —seeFigure3(b)). Theweightof eachsubset,= FG9 = , is

definedto bethenumberof verticesmappedto thatsubsetby A .

Givena graphasinput, the graphpartitioningproblemseeksto find a H -way partition in which each

subsetcontainsroughlythesamenumberof vertices( = F!9 =GI&J = K*= L H M ) andthenumberof cut edges,= 2�3 = ,is minimized. For input graphsthat representworkloadasdescribedin the introduction,eachpartitioned

subsetrepresentsdataandcomputationthatshouldbeassignedto a singleprocessor. Thecut edgesrepre-

sentthe interprocessorcommunicationrequiredby thedistribution. Thus,thegraphpartitioningproblem

attemptsto find a distribution thatbalancesthecomputationdoneby eachprocessorwhile minimizing the

total interprocessorcommunication.

As describedhere,graphpartitioning is performedusing an edge separator 2�3 —a group of edges

whoseremoval breaksthe graphinto disjoint subsets.A relatedproblemtries to breakthe graphinto

subsetsusing a vertex separator KGNO>&K of minimum size (Figure 3(c)). Vertex separatorsare used

for performingnesteddissection[14], a techniqueuseful for reorderinga matrix's rows andcolumnsto

benefitits parallel factorization.Sinceworkloadgraphsuseverticesto representdata,vertex separators

are inappropriatesincethey correspondto databeingeliminatedfrom the computation.Note that most

algorithmsfor computingvertex separatorsdo soby first finding anedgeseparatorandthencomputinga

(potentiallyminimum)vertex cover for thegraphinducedby 2�3 .2.1 Recursive Bisection

An instanceof graphpartitioningthat deservesspecialattentionis the graph bisectionproblem. This is

simply a variationon graphpartitioningin which P mustbedividedinto two subsets.Althoughbisection

seemsconsiderablyeasierthangeneralH -waypartitioning,it is still NP-hard.

Most H -way partitioningalgorithmsutilize a divide-and-conquerapproachknown asrecursivebisec-

tion. This techniquegeneratesa H -way partitionby performinga bisectionon theoriginal graphandthen

5

Page 6: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

Figure4: An exampledemonstratingtheuseof recursive bisectionto computeaneight-way partitionfor anabstractgraph.

recursivelyconsideringtheresultingsubgraphs(Figure4). It hasbeenshownthatevenif recursivebisection

is performedusinganoptimalbisectionalgorithm,it canstill resultin a suboptimalQ -way partition[45].

In spiteof this theoreticallimitation, recursive bisectionremainsthe primarygraphpartitioningstrategy

dueto its simplicity comparedto computingQ -way partitionsdirectly. Themajority of thealgorithmsin

thispaperrely onrecursivebisection.

2.2 Graph Partitioning Variations

Severalvariationsof thebasicgraphpartitioningproblemexist. Theweightedgraphpartitioningproblem

allows weightsto beassociatedwith theverticesandedgesof R . In this problem,a goodpartitionis one

in which the total vertex weightof eachsubsetis roughlyequal,andthe total weightof the cut edgesis

minimized(Figure5(a)shows anexample).In thecontext of workloadgraphs,nodeweightscanbeused

to encodedifferingcomputationexpensesacrossthegraph(e.g., boundarylocationsvs. internallocations).

Similarly, edgeweightscansignify the volumeof communicationrequiredbetweentwo nodes.For the

sake of simplicity, this paperwill concentrateon theunweightedversionof theproblem,thoughmostof

thealgorithmdescriptionscanbetrivially extendedto handleweightedgraphs.

The S -partitioningproblemis onein whichsomeimbalancein thesubsetweightsis toleratedin hopes

of significantlyreducingthenumberof cutedges.In thisproblem,a toleranceS is suppliedasinputwhereT U QWVOSXV T . Legal partitionsarethosethatyield subsetswith weight Y Z![ YGV&\ S Y ]XY ^ (Figure5(b)). Note

6

Page 7: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

(c)(b)(a)

Figure5: Variationson thegraphpartitioningproblem. (a) A weightedpartitioning. Assumethatdarker edgesandverticeshave weight2, while lighter componentshave weight1. Thepartitionshown demonstratesa balanced4-waypartition where _ `Ga _!bdc for eachsubset.Although difficult to verify, it probablyminimizes _ e�f _ sincefew of theheavy edgesstraddlethesubsets.(b) An exampleof g -partitioningfor ghbji k l m . Note thatpermittingimbalanceinthesubsetsallows _ e�f _ to besmallerthanin thebalancedpartitionof Figure3(a). (c) Skewedpartitioningin whichthetargetweightsare m1n l�n m1n l .thatthestandardgraphpartitioningproblemis simplya o -partitioningproblemin which ohprq s t . Another

variation that allows for unbalancedsubsetsis the skewed partitioning problem. In this version,user-

suppliedweightsareassociatedwith eachsubsetto specifyadesiredimbalancein thepartition.Algorithms

for thisproblemcomputepartitionswhosesubsetsareweightedproportionallyto thosespecifiedby theuser

(Figure5(c)).

In thecontext of workloaddistribution,thesegeneralizationsallow thecharacteristicsof aparallelma-

chineto havesomebearingon thepartitioning.For example,if amachine's interprocessorcommunication

overheadis sufficiently high, it might be worthwhile to toleratesomedegreeof load imbalancein order

to drasticallyreducethecommunicationvolume. This tradeoff canbedescribedusing o -partitioning. As

anotherexample,if aparallelcomputationis to beperformedonaheterogeneousprocessorset,therelative

performanceof the processorscanbe describedby specifyingappropriatetarget weightsin the skewed

partitioningproblem.

Thecloseronegetsto modelingthebehavior of actualmachines,themorecomplicatedthingsbecome.

Onecould imaginefurthergeneralizationsof thegraphpartitioningproblemthatattemptto minimizethe

7

Page 8: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

(a) (b)

Figure6: (a) A graphthat suits the assumptionsmadeby geometricalgorithmssinceits verticesareconnectedtotheir nearestneighbors.(b) A graphwhoseverticesareconnectedto distantnodesratherthancloseones.Geometricalgorithmswouldnotbeexpectedto partitionit well.

numberof processorswith whicheachprocessorcommunicates,or thatattemptto modelthenon-uniform

communicationcoststhatoccurin clustersof multiprocessors.Thoughtheseareinterestingandimportant

issues,they arebeyondthescopeof thispaper, andwill betouchedon againonly briefly in thediscussion

section.

3 GeometricAlgorithms

Geometricapproachesto thegraphpartitioningproblemarethosethatusethegeometriccoordinates

associatedwith a graph's verticesto aid in the creationof a partition. By nature,thesealgorithmsare

fairly straightforwardto understandandto implement.Unfortunately, sincenotall graphshavecoordinates

associatedwith their vertices,geometricalgorithmsarenot completelygeneral.However, many common

parallelcomputationssuchasfinitevolume,finiteelement,andfinitedifferencemethodsdoproducegraphs

thataregeometricallyembeddedin u -dimensionalspace.In thesecases,theextra geometricinformation

providesa straightforward global relationshipbetweena graph's verticeswhich canbe usedto achieve

quick runtimesandhigh-qualitypartitions.It shouldbenotedthatmostgeometricalgorithmsassumethat

spatialproximity andvertex connectivity arestronglycorrelated—thatis, verticeswhichareclosertogether

in IRv will tendto haveshorterconnectingpathsin w (Figure6).

8

Page 9: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

3.1 Coordinate Bisectionand its Variations

Themoststraightforwardinstanceof a geometricapproachis a techniqueknown asrecursivecoordinate

bisectionor recursiveorthogonalbisection. In this algorithm,verticesaresortedaccordingto their coor-

dinatesin eachof the x dimensions.Thealgorithmconsidersa candidatehyperplanefor eachdimension

whichis perpendicularto thecoordinateaxisandlocatedat y 'smediancoordinatevalue.By construction,

eachof thesex hyperplaneswill bisectthegraph.Thealgorithmthenselectsthecandidatehyperplanethat

cutsthe smallestnumberof edges.The subgraphsarethenconsideredrecursively usingthe sametech-

nique.Partitionsgeneratedby coordinatebisectionareillustratedin ColorPlate1(a)and(b). Variationson

coordinatebisectionhavebeenconsideredby severalauthors[17, 5].

Oneimportantimprovementto coordinatebisection,recursiveinertial bisection, doesa betterjob of

gettinganoverallgestaltfor thegraphby computingits principal axisof inertia, z . By definition, z is the

axisaroundwhichthegraph'sverticeshaveaminimumrotationalangularmomentum.Thealgorithmthen

selectsabisectinghyperplaneperpendicularto thisaxis.Theintuition behindthisapproachis thatvertices

in y will tendto lie along z andin closeproximity to it, causingplanesperpendicularto theaxisto cut a

smallnumberof edges.

All variationson coordinatebisectionarestraightforward to understandandimplement,but aresim-

plistic: eachalgorithmconsidersonly a small numberof candidatebisectinghyperplanes,andin all but

the inertial method,thechoiceis donein anadhocmannerwith little regardfor thegraph's globalprop-

erties. Anotherdisadvantageto this classof algorithmsis that the separatorscomputedarehyperplanes,

whichconstituteafairly restrictedclassof partitionwhenoneconsiderstheexponentialdegreesof freedom

availablein a graph's combinatorialstructure.In general,optimalseparatorsarelikely to involve a more

complex andraggedboundarybetweensubsets.Studiescomparinghyperplane-basedalgorithmsagainst

themoresophisticatedtechniquesdescribedin thesectionsthat follow indicatethatwhile hyperplanebi-

sectorsarefastto compute,they generallyresultin partitionsof considerablyworsequality [44, 16, 5].

9

Page 10: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

3.2 Cir cleBisection

Miller etal. describeanalgorithmcalledrecursivecirclebisectionthataddressesthedrawbacksof hyperplane-

basedalgorithms[33]. It usesglobal informationaboutthegraph's verticesto computeseparatorsusing

circlesandspheresratherthanlinesandplanes.Sincecirclebisectorsaddanadditionaldegreeof freedom

to thebisectingsurface(avariableradius),they canbeusedto expressmorecomplex separators.

Thetwo mainconceptsrequiredto understandcirclebisectionarestereographicprojectionandcenter-

points. Stereographicprojectionis a meansof mappingpointsto a higherdimensionby projectingthem

from IR{ to thesurfaceof theunit spherein IR{ |(} . This is doneby first embeddingthepoint in IR{ |�} by

settingits ~ �@�r� � st coordinateto � . Next, a line is projectedfrom ~ � � � � � � � � � � throughthe point. The

intersectionof this line andtheunit spheredefinesthepoint's locationin thestereographicprojection.

A centerpointfor a set of points in IR{ is definedto be a point throughwhich every hyperplaneis

guaranteedto createtwo subsetswhoseweight ratio is no worsethan ����� . Onekey differencebetween

centerpointsandcentersof massis thatcenterpointsarerelatively unaffectedby distantoutliersin theset.

Everysetof pointsin IR{ is guaranteedto haveacenterpoint,andits locationcanbecomputedusinglinear

programmingmethods[33].

Thecircle bisectionalgorithmproceedsasfollows: maptheverticesof � to theunit spherein IR{ |�}using a stereographicprojectionand then computea centerpointfor the projectedpoints. Next, move

the pointsaroundon the sphere's surfacein orderto mapthe centerpointto the origin: first by rotating

themuntil thecenterpointis at ~ � � � � � � � � � � ; thenby dilating themalongthesphere's surface(equivalent

to scalingby a factorof � ~ �1�W� � � ~ ���5� � in IR{ ). Next, choosea randomgreat circle, ��� , on the unit

sphereto split thepointsinto two subsets.Notethateachgreatcircle correspondsto theintersectionof a

planethroughthecenterpoint(origin) andthesphere;thus, ��� representsa partitionof thepointswith a

worst-caseweightratioof ~ ���W� ��� � . ��� is thenmappedbackto IR{ by invertingthedilation,rotation,and

stereographicprojection. The resultis a circle (or line in thedegeneratecase)that separatestheoriginal

10

Page 11: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

-1-0.5

00.5

1

-1

-0.5

0

0.5

1-1

-0.5

0

0.5

1

(e) (f)

-1 -0.5 0 0.5 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1-0.5

00.5

1

-1

-0.5

0

0.5

1-1

-0.5

0

0.5

1

(c)

(b)

(d)

-1 -0.5 0 0.5 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

(a)

Figure7: An exampleof the circle bisectionalgorithm. (a) A 2D input graph. (b) The graph's vertices. (c) Thestereographicprojectionof the verticesto the unit spherein 3D. The large dot is a centerpoint.(d) Thepointshavebeenrotatedanddilatedon thesurfaceof thespherein orderto move thecenterpointto theorigin. A randomgreatcircle is chosen.(e)Thedilation,rotation,andstereographicmappingareinvertedto mapthecirclebackto 2D. (f) Thepartitioncomputedby thealgorithm(source: [16]).

11

Page 12: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

verticesinto two sets:thoseinsideandthoseoutsidethecircle. SeeFigure7 for anillustrationof thecircle

bisectionalgorithm.

Gilbert et al. reporton their practicalexperiencewith an implementationof thecircle bisectionalgo-

rithm [16]. They deviatefrom thepurealgorithmabove in threemainwaysto acceleratethecomputation

while still producingagoodseparator. Thefirst differenceis theiruseof geometricsamplingto reducethe

complexity of computinga centerpoint.Ratherthanconsideringthecompleteset � , they selecta random

subsetof a thousandverticesto representthegraph.Secondly, althoughthelinearprogrammingalgorithm

for findingcenterpointsrunsin polynomialtime, it usesa largenumberof constraints,causingit to betoo

slow for practicaluse. Instead,the authorsusea fastalgorithmfor computingapproximatecenterpoints

usingradonpoints [6]. Applying this algorithmto the sampledvertex setresultsin a vastly accelerated

computationthatproducesgoodcenterpointsin practice.

The third differencecomesin the selectionof a partition. To find their greatcircle, Gilbert et al.

generatea numberof approximatecenterpointsanda few circlesfor each,selectingtheonethatcutsthe

fewestedges.Eachcircleis generatedby randomlyconstructinganormalvector, weightedslightly towards

the inertial axis � . Althoughthegreatcirclesarenot guaranteedto resultin anevenpartition, in practice

mostsplits werewithin 20% of balanced.To achieve an exact bisection,the separatingcircle's planeis

nudgedin thedirectionof its normalvectoruntil abalanceis reached.Theauthorsreportthatthisdoesnot

dramaticallyaffect thecutsize.

Gilbert et al. computepartitionsfor a seriesof standardgraphsand comparetheir resultsto those

generatedusingcoordinatebisectionandspectralbisection(describedin thenext section).Their findings

show that thecircle-basedmethodgenerallyresultsin partitionsthatarebetterthancoordinatebisection,

yet similar in sizeto spectralbisection.Thechief advantageto thegeometricmethodis its speed,running

approximatelyanorderof magnitudefasterthanthespectralalgorithm.

Circle bisectionis built upona body of theoreticalwork which characterizesgraphsthat have good

12

Page 13: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

separators[35] andwhichplacestheoreticallowerboundsongeometricseparatorsizes[5, 34]. Thiswork

servesasa strongfoundationfor explainingwhy circlebisectiontendsto resultin goodseparators.

4 Structural Algorithms

Thegeometricalgorithmsof theprevioussectionall sharetwo commonweaknesses:thefirst is thatthey re-

quireverticesof theinputgraphto havegeometriccoordinatesassociatedwith them,yet this is notthecase

for all graphs.Thesecondis that they never refer to theconnectivity structureof thegraph,� , but rather

assumethat spatialproximity impliesa shortconnectingpath. Althoughthis is a reasonableassumption

for many graphs,counterexamplesexist. For example,in thegraphsof Figure2, verticesonoppositesides

of thewing flapsarefairly closein space,but have long connectingpathsin � . Theshortcomingsof ge-

ometricalgorithmsareaddressedby structural or combinatorialalgorithms—onesthatcomputepartitions

by referringonly to thegraph'sconnectivity. Thissectiondescribesanumberof structuralapproaches.

4.1 Graph-Walking Algorithms

Recursivelevel-structure bisectionis a combinatorialapproachthat is very intuitive in nature[15]. It is

similar to the coordinatebisectionalgorithmsdescribedin the previoussection,but definesthe distance

betweentwo verticesasthelengthof theirshortestconnectingpath,ratherthantheirdistancein Euclidean

space.Thealgorithmfinds two verticesof near-maximaldistancefrom oneanotherandthenperformsa

breadth-firstsearchfrom oneof thevertices,until it hasreachedhalf of theverticesin thegraph. These

verticesareplacedin thefirst subset,leaving theremainderin thesecond.Thealgorithmis thenapplied

recursively to eachof the subgraphs.Color Plate1(c) and(d) illustratethe useof level-structurebisec-

tion. Although this algorithmis relatively straightforward and fast, it tendsto result in relatively poor

partitions[44].

A very similar approachis Farhat's greedyalgorithm [9]. It also accumulatessetsof verticesby

13

Page 14: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

traversingthegraphin a breadth-firstmanner, but differsin that it computesits � subsetsdirectly, without

resortingto recursivebisection.Thesubsetsareconstructedoneata time,startingfrom anarbitraryvertex.

Oncethetraversalhasreached� �X� � � vertices,they areassignedto asubset,�G� . Theprocessis thenrepeated

for �G� �(� , startingat theboundaryvertex of �G� with thesmallestnumberof unexplorededges.

One other relatedapproachis the greedygraph growing algorithm developedby Karypis and Ku-

mar [25]. This is anotheralgorithmfor bisectionthatgrows a subsetof verticesaroundanarbitraryroot.

However, ratherthanwalking thegraphin a strict breadth-firstmanner, it addsverticesto thesubsetin an

orderdeterminedby theirbenefit—namely, theamountthattheedgecutwill improveif thevertex is added

to thesubset.Thus,at eachstep,thevertex thatwould causethelargestdecrease(or smallestincrease)in

thenumberof cutedgesis addedto thesubset.

4.2 SpectralAlgorithms

All of thegraph-walking approachesabove have thedisadvantageof beingrelatively blind andlocalized

in their considerationof the graph's structure,looking only oneedgepastthe currentfrontier at a time.

Pothen,Simon,andLiou introduceaspectral graphpartitioningalgorithmthataddressestheseshortcoming

by consideringa graph'sglobalconnectivity propertieswhencomputingasolution[40]. This techniqueis

referredto asrecursivespectral bisection(RSB).

RecursivespectralbisectionutilizestheLaplacianmatrix, � , of theinputgraph—a� �*�h��� �*� matrix

thatencodesinformationabout  's connectivity. Eachentryof � is definedasfollows:

��� ¡£¢¤¥ ¦O§ ¨ ©Gª « � ¬ if ­�¢C®¯h° if ª « � ± « ¡ ¬�²W³´

otherwise

For intuition asto how theLaplacianmatrix is used,considerencodinga 2-way partitionof a graphusing

a � �*� -ary vector µ in which µ!� is ° if vertex ­ is in the first subsetand ¯h° if it is in the second.Note

that for a balancedbisection,¶ � µG��¢ ´ . For a perfectbisectionµG· (onein which no edgesarecut), the

14

Page 15: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

matrix-vectorproduct ¸�¹ º yields thezerovector, sinceeachvertex's degreewill becanceledout by the

combinedsumof its edges.More generally, theproduct¹ » ¸�¹ for any partitionvectorcanbeshown to be

equalto 4 timesthenumberof cut edges.Thus,thegraphbisectionproblemcanberephrasedas: Find a

partition vector ¹ where ¹G¼�½j¾h¿ such that À ¼ ¹G¼�½OÁ and ¹G» ¸�¹ is minimized.

Phrasingthegraphbisectionproblemin this form doesnothingto make thecomputationof a solution

easier—it is still NP-hard. However, the problemis tractablewhenrelaxingit from its discreteform to

a continuousversion—onein which elementsof ¹ cantake on valuesin the interval  Ã1Ä Å�Æ Ä Å!Ç rather

thanjust ¿ and Ã�¿ . Moreover, a minimumsolutionto thecontinuousproblemis formedby the Ä Å -length

secondeigenvectorsof theLaplacianmatrix [19].

This raisesan obvious question:will a solutionto the continuousproblemhave any bearingon the

discreteproblem?Fortunately, theanswerturnsout to be“yes.” Theconstructionof theLaplacianmatrix

is suchthatits smallesteigenvalueÈ!É is zero,with anassociatedeigenvector ʹ!É of all ones.In hisstudiesof

theLaplacianmatrix, Mohardeterminedthat for connectedgraphs,themagnitudeof thesecondsmallest

eigenvalue, ÈGË , serves as a measureof Ì 's connectivity [36]. Moreover, the magnitudeof the second

eigenvector's Í th elementgivesaroughindicationof vertex Í 'sdistancefrom otherverticesin Ì : thecloser

two valuesarenumerically, the shorterthe connectingpathbetweentheir correspondingvertices.These

specialpropertiesof the secondeigenvector ʹGË werethoroughlyinvestigatedby Fielder[11, 12], whose

work provided the theoreticaljustification for its use in graphpartitioning. Hence, ¹GË is traditionally

referredto astheFieldervector.

Therecursivespectralbisectionalgorithmproceedsasfollows: ComputetheFieldervectorfor Ì using

the Lanczosalgorithm [37], modifiedto avoid computingthe non-Fieldereigenvectors.Next, determine

themedianvalueof theFieldervector's componentsandusethis to partitionverticesof Ì into two sub-

sets: thosewhosecorrespondingFieldercomponentsarelessthanthe medianandthosethat aregreater

(verticeswith themedianvaluearesplit arbitrarilybetweenthetwo groups).Thealgorithmis thenapplied

15

Page 16: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

recursively to eachof theresultingsubgraphs.Illustrationsof its useareshown in ColorPlate1(e)and(f).

It shouldbe notedthat in practice,Î neednot be explicitly represented,sinceits valuescanbe quickly

determinedfrom thegraphstructureitself.

The principal drawbackof RSB is the computationof the Fieldervector, which dominatesthe com-

putationenormously. Although partitionsgeneratedby RSB aretypically of very high quality, the time

requiredby thealgorithmis significantenoughto bea seriousimpedimentto its practicaluse[25, 16, 46].

Sinceits original formulation,muchwork hasbeendoneto acceleratethe algorithm[41, 2, 1], someof

whichwill bedescribedin thefollowing sections.Onenoteworthyextensionto RSBis animplementation

by HendricksonandLeland[21] that usesadditionaleigenvectorsto obtainsimultaneousquadrisections

andoctasectionsof a graph.This oftenresultsin smallerpartitionsthanthoseobtainedby recursive calls

to RSB,yet requiressignificantlylesstime.

5 RefinementAlgorithms

Oneof theearliestgraphpartitioningalgorithmshasalsoturnedouttobeoneof themostuseful.Developed

by KernighanandLin in thelate60's,thealgorithmstrivesto improveaninitial (possiblyrandom)partition

of thegraphby tradingverticesfrom onesubsetto theotherwith thegoalof reducingthenumberof cut

edges[31]. This generalapproachof refininganexisting solutioncanbeconsidereda classof algorithms

untoitself.

TheKernighan-Lin(KL) algorithmis basedonthenotionof gain—ametricfor quantifyingthebenefit

of moving a vertex from onesubsetto the other. In KL, a vertex's gain is simply the total edgeweight

connectingit to the othersubsetminusthat which connectsit to its own. A greedysteepestdescentre-

finementalgorithmwould simply moveverticeswith maximumgainsuntil no verticeswith positivegains

remained.The disadvantageof this approachis that it canget trappedin a local minimum. KL avoids

this by permittinghill climbing—verticeswith negative gainaremoved in hopesthat they will leadto a

16

Page 17: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

moreglobal minimum. KL avoids thrashingby limiting eachvertex to onemove per trial. During this

swappingof vertices,thealgorithmremembersthebestpartition that it encounters.Onceall thevertices

have moved(or a thresholdof consecutive negative-gainmoveshasbeenreached),thealgorithmrestores

thebestpartitionfound.Theprocesscanthenberepeatedusingthisnew partitionasastartingpoint.

FiducciaandMattheysesmake someimprovementsto the baseKL algorithmthat utilize betterdata

structuresto improvetheoverall runtime[10]. For instance,theFiduccia-Mattheyses(FM) algorithmmin-

imizesthenumberof verticeswhosegainsneedto beadjustedwhena vertex is moved.Theserefinements

are consideredso fundamentalto the baseKL algorithmthat the two approachesare often referredto

interchangeably.

Although KL/FM can be usedto refine randompartitions, thereis significantevidenceto indicate

that they work bestwhen given a reasonablygoodstartingpartition [24, 39]. For this reason,KL/FM

is oftenusedasa local postprocessingstepto improve a partitioncomputedby a moreglobally-oriented

algorithm[4, 22, 25]. Many usesof KL/FM modify the basealgorithmto suit the programmer's spe-

cific needs[22, 25]. For instance,an implementationmayonly considerverticesthat lie on thepartition

boundarysincethey will have the highestgain; or it may reducethe numberof iterationsrun underthe

assumptionthattheinitial partitionwasof high quality. Furthergeneralizationsof thealgorithmextendit

to refineÏ -waypartitions,to handleweightedgraphs,to usemorecomplex measuresof gain,etc.[22].

Onelastrefinement-basedtechniquethathasbeenappliedto graphpartitioningis simulatedannealing.

SimulatedAnnealingis a generaloptimizationtechniquein which hill climbing is permittedbasedon a

probabilitythatis systematicallyloweredastherunprogresses.Althoughsimulatedannealinghasproven

usefulin severalapplicationdomains,its usein generalgraphpartitioninghasbeendisappointingto saythe

least.Studiescomparingit with coordinatebisection,KL/FM, andspectralalgorithmsshow thatsimulated

annealingtakesasignificantamountof timeto generatepartitionsof merelymodestquality[24, 48]. Given

thenumberof parametersthatneedto besetup andtunedfor a simulatedannealingrun, not to mention

17

Page 18: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

coarsen

coarsen

refine

propagate

refine

coarsenpropagate

refine

propagatepartition

Figure8: A schematicof themultilevel technique.Theoriginalgraph(bottomleft) undergoesa seriesof coarseningstepsthat reduceit to a smallergraph.This coarsestgraphis partitionedusinga standardalgorithm. Thepartition isthenpropagateddown to thefiner graphs,potentiallyrefining it at eachlevel to accountfor theadditionaldegreesoffreedom.Theresultis apartitionfor theoriginalgraph.

theabundanceof moresuccessfulgraphpartitioningtechniques,simulatedannealinghaslargely fallenout

of favor.

6 Multile vel Techniques

Onerecentapproachthat hasgreatlyacceleratedthe partitioningof graphsis the useof multilevel tech-

niques.Thesetechniquesareanalogousto multigrid methodsfor solvingnumericalproblems.Both ap-

proachesconstructa hierarchyof approximationsto the original problemso that a coarsesolutioncan

quickly begenerated.This solutionis thenprogressively refinedat themoredetailedlevelsof thehierar-

chyuntil a solutionfor theoriginalproblemis reached.In thecontext of graphpartitioning,this translates

intocreatingasimplifiedgraphthatapproximatestheinputgraph,findingapartitionfor it, andthenrefining

thatpartitionto createapartitionfor theoriginalgraph.

All multilevel techniquesfor graphpartitioningsharethesamegeneralcomputationalstructure,though

18

Page 19: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

(b)(a)

Figure9: An exampleof multilevel bisectionusingMRSBonthegraphof Figure2. (a)Thebisectionof thecoarsestapproximation.(b) Theresultingpartitionfor theoriginalgraph(source: [2]).

thedetailsmayvary:Ð Coarsen:GiventheinputgraphÑ , constructaseriesof increasinglysmallergraphsÑ�Ò Ó ÑhÔ Ó Õ Õ Õ Ó Ñ�Ö ,eachof which retainssomesenseof Ñ 's globalstructure.Ð Partition: Partition thecoarsestgraph,ÑhÖ , usinga standardalgorithm.Ð Inter polate: Propagatethesolutionfor ÑhÖ down to thefiner graphs,potentiallyrefiningit at eachlevel.

This processresultsin a partitionfor theoriginal graph(Figure8). Thehopeis thatmultilevel techniques

will reducethe time requiredto computepartitionswithout sacrificingquality. In practice,the useof

multilevel techniqueshasproven not only to acceleratepartition generation,but also to producebetter

partitionsthantraditionalsinglelevel techniques[4, 22, 25].

6.1 Early Approaches

BarnardandSimonperformedsomeof theinitial multilevel graphpartitioningwork in orderto accel-

eratethe computationof the Fieldervectorfor RSB [2]. The result is an algorithmknown asmultilevel

recursivespectral bisection(MRSB). MRSB coarsensgraphsusingmaximalindependentsetsto recur-

sively eliminateverticesandedgesfrom theoriginalgraph.Having constructedthecoarsestgraph,MRSB

computesaFieldervectorfor it usingtheLanczosalgorithm,asin RSB.It thenexpandstheFieldervector

19

Page 20: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

(a) (c)(b)

Figure10: (a) A matchingfor thegraphof Figure1. No two edgesareincidenton thesamevertex. (b) A maximalmatchingfor thesamegraph.Nomoreedgescanbeselectedwithoutbreakingthematching.(c)A maximummatching.No matchingcouldcontainmoreedgessinceall theverticesarematched.

for thenext finer graphandrefinesit usingRayleighquotientiteration (RQI) [37]. This interpolationstep

is thenrepeatedfor thefiner graphsuntil theoriginal graph × is reached.TheresultingFieldervectoris

usedto partition × asin RSB.Figure9 illustratesa partitionof a coarsegraphandits refinementon the

original graph.BarnardandSimonfind thatMRSB tendsto resultin anorderof magnitudespeedupover

RSB,yieldingpartitionsthatarecomparablein quality.

HendricksonandLelandimproveuponthisworkbysimplifying theapproachin afundamentalway[22].

Ratherthandealwith thenumericaloverheadof propagatingaFieldervectordown thehierarchyof graphs,

they opt insteadto interpolatethepartition itself down thehierarchy, yielding a conceptuallysimplerap-

proach.Their algorithmusesthenotionof maximalmatchingsto coarsengraphs.A matching on a graph

× is simplya subsetof Ø in whichno two edgeshavea vertex in common.A maximalmatchingis onein

whichnootheredgefrom Ø canbeaddedto thematchingwithoutsomevertex beingshared(Notethatthis

differsfrom amaximummatchingwhichis thelargestpossiblematchingfor agivengraph.SeeFigure10).

Maximalmatchingscanbecomputedusingansimple Ù�Ú Ø�Û greedyalgorithm.

Hendricksonand Leland constructtheir hierarchyof graphsby generatingmaximal matchingsand

then merging the matchedverticesinto new multinodes. They usevertex and edgeweightsto encode

characteristicsof the original graphin the contractedversions.For instance,whenever two verticesare

20

Page 21: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

key

weight = 3

weight = 2

weight = 1

Figure11: A graphcontractionbasedon the matchingof Figure10(b). This contractionusesthe vertex andedgeweightingschemeof HendricksonandLeland[22] to maintaininformationabouttheoriginalgraph(notethecoloringof thecontractedverticesandedges).

combined,thesumof theirweightsis assignedto theresultingmultinode.Similarly, any edgesthatjoined

theverticesto acommonnodearecombinedinto asingleedgewhoseweightequalsthesumof theoriginal

ones.Figure11shows anexample.In this way, eachcoarsegraphmaintainsglobalinformationaboutthe

original.

Thebenefitsof this approachshouldbeclear. A partitionfor thecoarsegraphcanbecomputedmuch

morequickly thanfor theoriginalgraph.Yet,thiscoarsepartitionmapsdirectlytoapartitionontheoriginal

graphsinceeachvertex of Ü is uniquelyrepresentedby amultinodein ÜhÝ . Moreover, thepartition'sedge

cutandsubsetweightsareidenticalfor bothgraphs.Thus,sincecoarseningis cheap,theproblemhasbeen

vastlysimplified. KarypisandKumararguethata goodbisectionof a coarsegraphconstructedusingthis

methodcanonly beworsethana goodbisectionof thefinergraphby asmallfactor[27].

To try andminimizethis factor, HendricksonandLelanduseamodifiedversionof KL/FM to refinethe

partitionat every third stepof the interpolation.Their experimentsdemonstratethat the multilevel tech-

niquegenerallyproducespartitionsthat arebetterthanthe correspondingsingle-level spectralalgorithm

andrequiresonly a fraction of the time. Similar resultswereindependentlyobtainedby Bui andJones,

who implementedmultilevel versionsof theKL/FM andsteepestdescentalgorithms[4].

21

Page 22: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

6.2 Further Refinements

Karypis andKumarbuild on the multilevel work of HendricksonandLelandwith the goal of finding a

“best” algorithmicchoicefor eachof thecoarsening,partitioning,andrefinementstages[25]. Althoughan

exhaustivecross-productof all techniqueswould beinfeasible,their studydoesanexcellentjob of exam-

ining eachstageindependentlyandmeasuringits impacton theoverall partitioningtime. Their goal is to

find algorithmsthatrepresenta goodtradeoff betweenrunningtime andquality. For instance,ratherthan

usinga randomizedtechniquefor generatingmaximalmatchingsasthepreviousapproacheshad[22, 4],

they suggesta strategy calledheavyedge matching in which edgeswith higherweightaregivenpriority

for inclusionin thematching.Theintuition behindthisheuristicis thatheavier edgeswill typically bedis-

advantageousto cut,andthereforecollapsingtheminto a multinodewill removethemfrom consideration

in coarsergraphs.

Anotherinterestingresultof theKarypis-Kumarstudyis thatusingspectralpartitioningonthecoarsest

graphprovesnot only to beslower thangreedieralgorithms(asexpected),but alsoresultsin partitionsof

significantlyworsequality. They suggestthat this surprisingresultstemsfrom the Lanczosalgorithm's

failureto convergein its allottediterations.This indicatesthatwhile spectralmethodswork well on large

graphswhosecomplexity mayfoil greedieralgorithms,theiruseonsmallergraphsmaybeoverkill.

Themultilevel suiteof choiceaccordingto KarypisandKumarconsistsof: heavy edgematchingfor

the contractionphase;the greedygraphgrowing algorithmfor the partitioningphase;anda variationof

Kernighan-LincalledBKL(*,1) for therefinementphase.BKL(*,1) only considersmoving theboundary

verticesandusesjust a singleiterationwhenthegraphbecomessufficiently large(containsmorethan2%

of theverticesin theoriginalgraph).Furtherwork by KarypisandKumaracceleratestherunningtime of

multilevel recursivebisectionby developingamultilevel Þ -waypartitioningalgorithmin whichcoarsening

andrefinementareperformeda singletimeratherthanateverystepof thebisection[26].

22

Page 23: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

7 Parallel Techniques

Sincethegraphpartitioningalgorithmsdescribedin this paperareusedto distributecomputationsacross

a processorset,it seemsonly naturalto take advantageof thatparallelcomputingpower to generateparti-

tionsmorequickly. However, themultilevel techniquesof theprevioussectioncangeneratehigh-quality

partitionsfor graphswith millions of edgesin mereseconds.Thus,onehasto wonderwhethertheeffort

of parallelizingthesealgorithmsis worth thetrouble.Evenassumingthatperfectspeedupsareachievable,

would thebenefitsbeworth theheadachesof a parallelimplementation?It seemsunlikely.

Unfortunately, thereareothermorecompellingreasonsthat motivateparallelsolutionsto the graph

partitioningproblem.Oneof theseis thatparallelcomputershavesufficientmemoryto handlelarge-scale

computationswhoseworkloadgraphsexceedthe memorycapacityof sequentialmachines.In addition,

theworkloadfor many graph-basedapplicationschangesdynamically:somealgorithmsrefinethe initial

graphin areasof interest,generatingmorecomputationin thatregion.Othercomputationsinvolvedynamic

shiftsin theamountof workateachvertex. Forexample,in particlesimulations,thenumberof particlesper

vertex canfluctuateduringthecourseof a run [3]. Theseruntimechangesin thecomputation'sworkload

result in the needfor dynamicload balancing. Given the choice,it would be preferableto computea

repartitioningin-placeratherthanto shiptheentiregraphto asingleprocessorandgenerateanew partition

from scratch.Thus,parallelsolutionsmustbeconsidered.

7.1 Opportunities for Parallelism

Computinga ß -way partition for a graphresultsin two opportunitiesfor parallelism: first, the natural

parallelismthatresultsfrom thedivide-and-conquernatureof recursivebisection;second,theopportunity

to computeeachbisectionin parallel.For example,to computea ß -way partitionusing ß processors,first

all ß processorswould cooperatein generatinga bisection. Thentwo groupsof ßGà á processorswould

cooperateon eachsubgraphto computethequadrisection.This would continueuntil pairsof processors

23

Page 24: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

werecomputingtheir respectivesubsets.In hisefforts to parallelizeMRSB,Barnarddescribesthisgeneral

algorithmicstructureusingrecursiveasynchronoustaskteamswhich recursively usesmallernumbersof

processorsto solvesmallerversionsof thesameproblem[1].

In orderto computea partitionin parallel,thegraphmustfirst bedistributedacrosstheprocessorset.

Sincethis is an instanceof graphpartitioningin itself, the graphverticesaregenerallydivided amongst

the processorsin an arbitrary manner. This resultsin a challengecommonto all parallel partitioning

algorithms:namely, thefactthatreferringto a vertex'sneighborsis likely to requirecommunicationwith

otherprocessors.

As aresult,geometricalgorithmstendto makeidealcandidatesfor parallelimplementationssincethey

ignorea graph'sedges,operatinginsteadon thevertex coordinates.Thesealgorithmsthereforetendto be

amenableto embarrassinglyparallel implementationsin which eachprocessorcomputesover a fraction

of â , using occasionalglobal communicationsto comparenotes. For example,Diniz et al. found the

inertial bisectionalgorithmto be fastandtrivially implementablein parallel[7]. Similarly, Miller et al.

predictthattheir circlebisectionalgorithmwill bereasonablyefficient in parallel[16]. Unfortunately, the

only publishedresultsthatdescribeaparallelimplementationof circlebisectiongivelittle indicationof the

algorithm'sparallelperformance[23].

7.2 Challengesto Parallelism

By wayof contrast,edge-basedalgorithmstendto bedifficult to parallelize.For example,KL/FM andthe

coarseningalgorithmsof multilevel techniquesrequireverticesto compareinformationwith their neigh-

borsto updategainsandcomputematchings.Naive parallelimplementationswould tendto resultin far

too much interprocessorcommunication.Moreover, if multiple processorswere to refinea partition or

computea matchingin parallel,decisionswhich seemlocally advantageousmayinadvertentlyclashwith

oneanother, resultingin a pooroverallsolution.

24

Page 25: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

As a result,thechallengeto many partitioningalgorithmsis to utilize theavailableconcurrency while

minimizing the opportunitiesfor processorsto clash. Oneapproachusedby Diniz et al. to parallelize

KL/FM only allows vertex swapsbetweenpairedsetsof processorsat any givenpoint [7]. This resultsin

a reasonablyparallelsolution. However, its partitionsaresignificantlyworsethanthosegeneratedby se-

quentialKL/FM, whichbenefitsfrom its ability to accessto theentiregraphandto swaparbitraryvertices.

A moresuccessfulapproachwasusedby BarnardandKarypis/Kumarto parallelizethe coarsening

stagesof their respectivemultilevel algorithms[1, 28]. Bothapproachesuseacleverparallelalgorithmfor

maximalindependentsetcreationdevelopedby Luby [32]. Luby'salgorithmassignsa randomnumberto

every vertex in the graph. Eachvertex thenchecksits valueagainstthoseof its neighbors,andif it has

thesmallestvalue,it includesitself in themaximalindependentset ã . Thisprocessis thenrepeatedfor all

verticesthatareneitherin, noradjacentto ã until nomoreverticescanbeadded.

Barnardusesthisapproachtoconstructthemaximalindependentsetsusedin MRSB,formingaparallel

versionof thealgorithmcalledPMRSB[1]. Theremainderof thealgorithmis relatively straightforward

to parallelize: the Lanczosalgorithmis run on a singleprocessor, broadcastingthe result to the others.

BLAS-1 andBLAS-2 routinesimplementRQI for refiningtheFieldervector. BarnardfoundthatPMRSB

generatespartitionsthatarecomparableto MRSB,yet runsabout140timesfasterusing256processors.

KarypisandKumaruseLuby'salgorithmto constructa globalcoloringof thegraph,suchthatno two

connectedverticesare the samecolor [28]. This coloring is then usedto prevent neighboringvertices

from interferingwith oneanotherby restrictingoperationsto runona singlecolorat a time. For example,

to computea maximal matchingof the graph,the colors are iteratedthroughone at a time to prevent

two adjacentverticesfrom addingthemselvesto thematchingsimultaneously. They implementa parallel

versionof KL/FM usingthe samestrategy. Comparingtheir parallelmultilevel ä -way algorithmto the

sequentialversion,theauthorsfind thatit producespartitionsthatareonly slightly worsewith speedupsof

about14 to 35on128processors.

25

Page 26: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

Onefinal parallelpartitioningresultthatdeservesmentionis thatof Walshaw, Cross,andEverett[46].

In computingpartitionsin parallel,their focusis on creatingpartitionsthat arenot only fastto compute

andof high quality, but which alsorequirea minimal numberof verticesto move from oneprocessorto

another. Themotivationis obvious: if acomputation'sdynamicchangesrequireagraphto berepartitioned,

it would bepreferableto adjusttheexisting partitionratherthanto computea new partitionfrom scratch

sothatdatamovementis minimized.Theirexperimentsshow thattheir techniquedoesanexcellentjob of

meetingthesegoalsascomparedto otherpartitioningalgorithms.

8 Summary and Discussion

Globally-Oriented Algorithms In thelastdecade,thethreemajorinnovationsin graphpartitioningseem

to havebeenthecircle-basedalgorithmof Miller etal. [33, 16], thespectralalgorithmof Pothenetal. [40],

andthemultilevel techniqueof HendricksonandLeland[22]. All of thesealgorithmsproducepartitionsof

high quality, especiallywhencombinedwith a refinementalgorithmlike KL/FM. To its disadvantage,the

circle-basedalgorithmreliesongeometriccoordinatesandthereforeis not fully general.Spectralmethods

suffer from longruntimeswithoutthebenefitof multilevelor paralleltechniques.In contrast,themultilevel

strategy seemsto havenodisadvantagesotherthanthechallengespresentedby anefficientparallelization.

Onecommonthemein all of theseinnovationsis their useof a globalperspective on thegraphwhen

computinga partition. Thecircle-basedalgorithmusesthevertices'coordinatesto computea globalcen-

terpointusefulfor partitioning.Spectralpartitioningmethodsutilize propertiesof theLaplacianmatrixthat

reflectagraph'sglobalconnectivity. HendricksonandLelanduseagraphcontractionpolicy thatpreserves

global informationwhile eliminatingedgesandverticesfrom a graph.In contrast,mostof thealgorithms

that producelower-quality partitions(e.g., variationson coordinatebisectionandgraph-walking) look at

thegraphin a farmorerestrictedandlocalizedmanner.

Onefinal observationon the global natureof thesealgorithmsis that asgoodastheir partitionsare,

26

Page 27: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

they canalwaysbenefitfrom theuseof a post-processinglocal refinementstepusingKL/FM or oneof its

many variations.This seemsto reflectthefactthatany tractablesolutionto anNP-hardproblemcanonly

considerasmallsubsetof theexponentiallylargesetof solutions.Usingglobalinformationcanresultin a

high-qualitychoicefrom thissubset,but localadjustmentscanbring it evencloserto theoptimalsolution.

Challengesto Evaluating Partitioning Algorithms In termsof selectinga“best” sequentialpartitioning

algorithm,evidencesuggeststhatthemultilevel algorithmsuggestedby KarypisandKumaris anexcellent

choice[25]. It usesthe multilevel approach,benefitingfrom its speedandquality; it usesa fastgreedy

algorithmfor thecoarsepartitioning,whichhasbeenshown to beeffective;andit usesanintelligentlocal

refinementtechniqueduringtheinterpolationphase.

Onething that is a bit unsatisfactoryaboutthis choiceis that it provideslittle explanationfor why the

greedygraphpartitioningalgorithmis theright choiceastherootpartitioner. In fact,this is aproblemthat

seemsto becommonto themajorityof thework discussedin thispaper:analgorithmis developed,usually

basedon theoreticalprinciplesor intuition; it is runagainsttheotherleadingcompetitors;theauthorsfind

that it producesthe bestpartition for 9 of 12 benchmarkgraphsconsidered;thereforeit is classifiedas

a “good” algorithm. It is rare to find any discussioncharacterizingthe graphson which the algorithm

performedparticularlywell or particularlybadly. Ideally, onewould like someanalysis(or evenintuition)

indicatingwhethera givenalgorithmprefersgraphswith a specificedgedensity, a certainspatialdensity,

sometypeof structure,etc.For themostpart,nosuchcharacterizationsaremade.

Onereasonfor this couldcertainlybe that theresimply areno discerniblepatterns.If true, thenfur-

theranalysismaysimply be too difficult to seemworthwhile. Although thecircle bisectionandspectral

algorithmsarebasedontheorythatplaceslowerboundsontheirseparatorsizes,theseboundsaretypically

looseby nature(e.g., the å@æ ç guaranteestemmingfrom centerpointseparators).Furthermore,practicalim-

plementationsareforcedto cutcornersthatcausethemto deviatefrom thetheory(e.g., thefinite-precision

computationof eigenvectors;or the nudgingof geometricseparatorsto ensurea bisection). Add to this

27

Page 28: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

the magnitudeof the graphsbeingconsideredand the lack of an optimal solution for comparison,and

suddenly, trying to understandwhy analgorithmworkswell or notseemslike anextremelyhardproblem.

Betterto just runa coupledozenmoretrials.

As anillustrationof this problem,considerthepartitionsshown in Color Plate1, computedby Simon

usingrecursive coordinatebisection,level-structurebisection,andspectralbisection[44]. Simonmakes

a valianteffort to characterizethepartitionsfoundby eachalgorithmfor the four-elementwing graphin

column1, whichservesasa runningexample:

[Coordinatebisection]createslong, narrow, anddisconnecteddomains.[Level-structure bi-section]createsmorecompactdomains,but their boundariesare“fuzzy”, andsometimestheyaredisconnected.RSBcreateswell balanced,connecteddomains,which yielda visuallymostpleasingpartitioning.

Applied to thegraphin question,thesedescriptionsarequite reasonableandgive thereadera sensethat

thereis anintuitiveaspectto thealgorithmsthatrelatestheirbehavior to thepartitionsizes.A tablelisting

edgecutsconfirmsSimon'squalitativereasoning.

However, whenthe samealgorithmsareappliedto the morecomplex graphof a shuttlesolid rocket

motor (column2 of Color Plate1), the intuition falls apart—thespectralalgorithmproducesa partition

thatappearsquitesimilar to thatof thecoordinatebisection.In addition,it resultsin disconnectedsubsets.

In spiteof thesequalitative problems,the tableof edgecutsconfirmsthat the spectralalgorithmis still

muchbetterthantheotherapproaches(4k edgescut ascomparedto the14k and6k of thecoordinateand

level-structurealgorithms). Simonis forcedto admit that “the considerablequantitative differencesare

not obviouslyvisible from thefigures,” andthat“thesepicturesindicatethatour visualperceptionmaybe

inadequate.” Understandingwhy analgorithmgeneratesa goodor badpartitionis clearlya complex task.

Missing Data Points Therearea few obviousavenuesof researchin graphpartitioningthat appearto

have beenneglected. Chief amongtheseis whetheror not recursive circle bisectioncancompetewith

today's top algorithms.It would appearthatno work hasbeendoneto evaluatetheuseof recursive circle

28

Page 29: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

bisectionasthecoarsepartitioningstrategy in amultilevel algorithm.In fact,evenrefiningthebasiccircle

bisectionalgorithmusingKL/FM seemslikea promisingapproachthathasbeenunexplored.

Anotherlingeringquestionconcernsthepoorqualityof thespectralalgorithmin KarypisandKumar's

study, ascomparedto the greedygraphgrowing algorithm. Greedygraphgrowing hasapparentlynever

beenevaluatedin the single level domainof partitioning. Perhapsit ought to be sinceit outpartitions

spectralmethodsin themultilevel domain.Otherwise,amoresatisfactoryexplanationfor why thespectral

algorithmperformssopoorly in themultilevel context is required.

Finally, the study of goodparallel algorithmsseemsrelatively young. Studiescomparingthe most

recenttechniquesarescant.Furthermore,thereseemsto beadefaultassumptionthatparallelizingthebest

sequentialalgorithmswill resultin thebestparallelalgorithms,eventhoughthepoorspeedupsreportedby

KarypisandKumar[28] hint thatthismaynotbethecase.

Workload Distribution Recentprogressin graphpartitioninghasbeenvery impressive. Largegraphs

arebeingpartitionedfasterandbetterthanever before.Graphswith millions of edgescanbepartitioned

well in seconds.So is theproblemof workloaddistribution solved? In theabstractsense,it appearsthat

theansweris “yes.” However, it seemsthatthemappingbetweentheabstractionof graphpartitioningand

thereality of parallelcomputinghasbeenneglected.Althoughthegraphpartitioningproblemservesasa

nicestartingpoint for distributing workloads,it fails to describemany real-world issuesthatcouldimpact

applicationperformance.

For example,minimizingthetotalamountof interprocessorcommunicationis avalid goal,but neglects

to balancethat communicationamongthe processors.Nor doesit minimize the numberof processors

that eachprocessorhasto communicatewith. Nor can it model network distancebetweenprocessors

for clustersof multiprocessors.Althoughsomeamountof flexibility is availablein mappinga partition's

subsetsto the setof physicalprocessors,exposingtheseissuesto the partitioningalgorithmcould only

improve its solutions. Hendricksonaddressessomeof theseissuesaswell asseveral othersin a recent

29

Page 30: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

paperthat castsdoubton whethertraditionalgraphpartitioningis adequate[18]. Futurework would be

well-servedby continuingto think aboutreal-world issueswhile solvingabstractproblems.Thework of

Walshaw et al. [46] providesanexcellentexampleof this by repartitioninggraphsin a way thatseeksto

reducetheamountof datathatmustbeshuffled.

Publicly-available Partitioners It shouldbe notedthat severalpartitioningpackagesareavailableon-

line, which implementmany of the algorithmsdescribedin this paper. The leadingcontendersseemto

be the METIS andParMETISpackagesby Karypis andKumar[29, 30] andthe Jostlepackageby Wal-

shaw etal. [47]. METIS andParMETISimplementKarypisandKumar'smultilevel, è -waymultilevel,and

parallel è -way multilevel algorithms.Jostlealsosupportsparallelpartitioning,with Walshaw's emphasis

on minimizing vertex movement.Chaco[20] is HendricksonandLeland's packagethat containsimple-

mentationsof their 4-way/8-way spectralalgorithms,multilevel algorithms,andrefinementsto KL/FM.

Otheronlinepackagesworth investigatingareScotch[38] andParty [42].

Acknowledgements The authorwould like to thankJim Fix for strategizing sessionsandWayneWong for hiseditorial feedback. Additional thanksto Mike, Susannah,and Mom for providing encouragementin the form of“you're still not donewith generals?”andto Larry for shunningsuchcrudetechniques.Soundtrackprovidedby theDirty Three.

References[1] StephenT. Barnard. PMRSB: Parallel multilevel recursive spectralbisection. In Proceedingsof the 1995

ACM/IEEESupercomputingConference, pages602–625.ACM/IEEE,December1995.

[2] StephenT. BarnardandHorst D. Simon. A fastmultilevel implementationof recursive spectralbisectionforpartitioningunstructuredproblems. Concurrency: Practiceand Experience, 6(2):101–117,April 1994. (alsoavailablein amorecompleteform asNASA AmesResearchCenterTechnicalReportRNR-92-033).

[3] Tim BartelandSteve Plimpton. DSMC simulationsof low-densityfluid flow on MIMD supercomputers.Com-puterSystemsin Engineering, 3(1–4):333–336,1992.

[4] ThangN. Bui andCurt Jones.A heuristicfor reducingfill-in in sparsematrix factorization.In ProceedingsoftheSixthSIAMConferenceon Parallel Processingfor ScientificComputing, pages445–452.SIAM, 1993.

[5] FengCao,JohnR. Gilbert, andShang-HuaTeng. Partitioningmesheswith linesandplanes.TechnicalReportCSL-96-01,XeroxPaloAlto ResearchCenter, January1996.

[6] K. L. Clarkson,D. Eppstein,G. L. Miller, C. Sturtivant, andShang-HuaTeng. Approximatingcenterpointswith iterative radonpoints. InternationalJournal of ComputationalGeometryand Applications, 6(3):357–77,September1996.

[7] PedroDiniz, StevePlimpton,BruceHendrickson,andRobertLeland.Parallelalgorithmsfor dynamicallyparti-tioningunstructuredgrids. In Proceedingsof theSeventhSIAMConferenceon Parallel Processingfor ScientificComputing, pages615–620.SIAM, February1995.

30

Page 31: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

[8] A. E.DunlopandB. W. Kernighan.A procedurefor placementof standard-cellVLSI circuits.IEEETransactionsonComputer-AidedDesignof IntegratedCircuitsandSystems, CAD–4(1):92–98,January1985.

[9] CharbelFarhat. A simple and efficient automaticFEM domain decomposer. Computers and Structures,28(5):579–602,1988.

[10] C. M. FiducciaandR. M. Mattheyses.A linear-time heuristicfor improving network partitions.In 19thDesignAutomationConference, pages175–181.IEEEComputerSocietyPress,June1982.

[11] M. Fielder. Algebraicconnectivity of graphs.CzechoslovakMath.J., 23:298–305,1973.

[12] M. Fielder. A propertyof eigenvectorsof non-negative symmetricmatricesandits applicationto graphtheory.CzechoslovakMath.J., 25:619–633,1975.

[13] M. R. Garey, D. S. Johnson,andL. Stockmeyer. Somesimplified NP-completegraphproblems. TheoreticalComputerScience, 1(3):237–267,1976.

[14] Alan George. Nesteddissectionof a regularfinite elementmesh.SIAMJournalonNumericalAnalysis, 10:345–363,1973.

[15] Alan GeorgeandJosephW. H. Liu. ComputerSolutionof LargeSparsePositiveDefiniteSystems. Prentice-Hall,1981.

[16] JohnR. Gilbert,GaryL. Miller, andShang-HuaTeng.Geometricmeshpartitioning:Implementationandexperi-ments.In Proceedingsof the9th InternationalParallel ProcessingSymposium, pages418–427.IEEEComputerSocietyPress,April 1995.

[17] Michael T. HeathandPadmaRaghavan. A cartesianparallel nesteddissectionalgorithm. SIAM Journal onMatrix AnalysisandApplications, 16(1):235–253,January1995.

[18] BruceHendrickson.Graphpartitioningandparallelsolvers:Hastheemperorno clothes?In Fifth InternationalSymposiumonSolvingIrregularly StructuredProblemsin Parallel, LNCS.Springer-Verlag,August1998.

[19] BruceHendricksonandRobertLeland.An improvedspectralloadbalancingmethod.In Proceedingsof theSixthSIAMConferenceon Parallel Processingfor ScientificComputing, pages953–961.SIAM, 1993.

[20] Bruce Hendricksonand RobertLeland. The chacouser's guide: Version2.0. TechnicalReportSAND95–2344, Sandia National Laboratories, July 1995. (information about obtaining Chaco is available athttp://www.cs.sandia.gov/ é bahendr/partitioning.html).

[21] BruceHendricksonandRobertLeland. An improvedspectralgraphpartitioningalgorithmfor mappingparallelcomputations.SIAMJournalon ScientificComputing, 16(2):452–469,March1995.

[22] BruceHendricksonandRobertLeland. A multilevel algorithmfor partitioninggraphs. In Proceedingsof the1995ACM/IEEESupercomputingConference, pages626–657.ACM/IEEE,December1995.

[23] Yu CharlieHu, Shang-HuaTeng,andS. LennartJohnsson.A data-parallelimplementationof the geometricpartitioning algorithm. In Proceedingsof the Eighth SIAM Conferenceon Parallel Processingfor ScientificComputing. SIAM, March1997.

[24] David S.Johnson,CeciliaR. Aragon,Lyle A. McGeoch,andCatherineSchevon. Optimizationby simulatedan-nealing:An experimentalevaluation;partI, graphpartitioning.OperationsResearch, 37(6):865–892,November–December1989.

[25] GeorgeKarypisandVipin Kumar. A fastandhighqualitymultilevel schemefor partitioningirregulargraphs.toappearin SIAMJournalon ScientificComputing.

[26] George Karypis and Vipin Kumar. Multilevel k-way partitioningschemefor irregular graphs. to appearinJournalof Parallel andDistributedComputing.

[27] George Karypis and Vipin Kumar. Analysis of multilevel graphpartitioning. In Proceedingsof the 1995ACM/IEEESupercomputingConference, pages658–677.ACM/IEEE,December1995.(amorecompleteversionappearsathttp://www-users.cs.umn.edu/é karypis/metis/publications/main.html).

[28] GeorgeKarypisandVipin Kumar. Parallelmultilevel k-way partitioningschemefor irregulargraphs.In Super-computing'96 ConferenceProceedings. ACM/IEEE,November1996. (a morecompleteversionis availableathttp://www-users.cs.umn.edu/é karypis/metis/publications/main.html).

31

Page 32: Graph Partitioning Algorithms for Distributing Workloads ...homes.cs.washington.edu/~bradc/cv/pubs/degree/generals.pdfGraph Partitioning Algorithms for Distributing Workloads of Parallel

[29] George Karypis and Vipin Kumar. METIS: A Software Package for Partitioning Unstructured Graphs,Par-titioning Meshes,and ComputingFill-Reducing Orderings of Sparse Matrices (version 3.0.3). Universityof Minnesota/ Army HPC ResearchCenter, November1997. (the METIS homepageis at http://www-users.cs.umn.edu/ê karypis/metis/metis/main.shtml).

[30] GeorgeKarypis,Kirk Schloegel, andVipin Kumar. ParMETIS:Parallel GraphPartitioning andSparseMatrixOrdering Library. University of Minnesota,version2.0 edition, July 1997. (the ParMETIS homepageis athttp://www-users.cs.umn.edu/ê karypis/metis/parmetis/main.shtml).

[31] B. W. KernighanandS.Lin. An efficient heuristicprocedurefor partitioninggraphs.TheBell SystemTechnicalJournal, 49:291–307,February1970.

[32] M. Luby. A simpleparallelalgorithmfor themaximalindependentsetproblem. SIAMJournal on Computing,15(4):1036–1053,November1986.

[33] GaryL. Miller, Shang-HuaTeng,William Thurston,andStephenA. Vavasis. Automaticmeshpartitioning. InAlan George, JohnR. Gilbert, andJosephW. H. Liu, editors,Graph Theoryand SparseMatrix Computation,volume56 of IMA volumesin mathematicsandits applications, pages57–84.Springer-Verlag,1993.

[34] Gary L. Miller, Shang-HuaTeng,William Thurston,andStephenA. Vavasis. Geometricseparatorsfor finiteelementmeshes.SiamJournalon ScientificComputing, 19(2):364–386,March1998.

[35] Gary L. Miller, Shang-HuaTeng,andStephenA. Vavasis. A unified geometricapproachto graphseparators.In Proceedingsof the 32nd Annual Symposiumon Foundationsof ComputerScience, pages538–547.IEEEComputerSocietyPress,October1991.

[36] B. Mohar. The laplacianspectrumof graphs.In SixthInternationalConferenceon TheoryandApplicationsofGraphs, 1988.

[37] BeresfordN. Parlett. TheSymmetricEigenvalueProblem. Prentice-Hall,1980.

[38] FrancoisPellegrini. Scotch3.1user'sguide.TechnicalReport1137-96,Universityof Bordeaux,June1997.(theScotchhomepageis at http://www.labri.u-bordeaux.fr/Equipe/ALiENor/membre/pelegrin/scotch/).

[39] Alex Pothen.Graphpartitioningalgorithmswith applicationsto scientificcomputing.In David E.Keyes,AhmedSameh,andV. Venkatakrishnan,editors,Parallel NumericalAlgorithms, volume4 of ICASE/LaRCInterdisci-plinary Seriesin ScienceandEngineering. Kluwer AcademicPress,January1997.

[40] Alex Pothen,HorstD. Simon,andKang-PuLiou. Partitioningsparsematriceswith eigenvectorsof graphs.SIAMJournalon Matrix AnalysisandApplications, 11(3):430–452,July1990.

[41] Alex Pothen,Horst D. Simon,Lie Wang,andStephenT. Barnard. Towardsa fast implementationof spectralnesteddissection.In Proceedingsof Supercomputing'92, pages42–51.ACM/IEEE,November1992.

[42] Robert Preis and Ralf Dickmann. The party partitioning–library, user guide—version 1.1. TechnicalRe-port tr-rsfb-96-024,University of Paderborn,September1996. (the Party homepageis at http://www.uni-paderborn.de/fachbereich/AG/monien/RESEARCH/PART/party.html).

[43] JianboShi andJitendraMalik. Normalizedcutsand imagesegmentation. In Proceedingsof the 1997IEEEComputerSocietyConferenceon ComputerVision and Pattern Recognition, pages731–737.IEEE ComputerSocietyPress,June1997.

[44] HorstD. Simon.Partitioningof unstructuredproblemsfor parallelprocessing.ComputingSystemsin Engineer-ing, 2(2–3):135–148,1991.

[45] HorstD. SimonandShang-HuaTeng.How goodis recursivebisection?SIAMJournalonScientificComputing,18(5):1436–1445,September1997.

[46] C. Walshaw, M. Cross,andM. Everett. Meshpartitioningandload-balancingfor distributedmemoryparallelsystems. In B. H. V. Topping, editor, Advancesin ComputationalMechanicswith Parallel and DistributedProcessing, pages97–103,Edinburgh,April/May 1997.Civil-CompPress.

[47] ChrisWalshaw. TheJostleUserManual: Version2.0. Universityof Greenwich,July1997.(theJostlehomepageis athttp://www.gre.ac.uk/ê c.walshaw/jostle/).

[48] Roy D. Williams. Performanceof dynamicloadbalancingalgorithmsfor unstructuredmeshcalculations.Con-currency:PracticeandExperience, 3(5):457–481,October1991.

32