The

algorithms

described

in

this

paper

are

implemented

by

the

METIS

Unstructured

Graph

Partitioning

and

Sparse

Matrix

Ordering

System

METIS

is

available

on

WWW

at

URL

Multilevel

k-way

Partitioning

Scheme

for

Irregular

Graphs

GEORGE

KARYPIS

AND

VIPIN

KUMAR

University

of

Minnesota

Department

of

Computer

Science

Minneapolis

MN

Technical

Report

-LCB-

karypis

kumar

-RCB-

@cs

umn.edu

August

at

pm

Abstract

In

this

paper

we

present

experiments

with

a

class

of

graph

partitioning

algorithms

that

reduce

the

size

of

the

graph

by

collapsing

vertices

and

edges

find

a

k-way

partition

of

the

smaller

graph

and

then

uncoarsen

it

to

construct

a

k-way

partition

for

the

original

graph

These

algorithms

compute

a

k-way

partition

of

a

graph

G

D

V

E

in

O.jEj

time

which

is

O.log

k

faster

than

previously

proposed

multilevel

recursive

bisection

algorithms

We

test

our

scheme

on

a

large

number

of

graphs

arising

in

various

domains

including

finite

element

methods

linear

programming

VLSI

and

transportation

Our

experiments

show

that

our

scheme

-LRB-

a

-RRB-

produces

partitions

that

are

comparable

or

even

better

to

those

produced

by

multilevel

recursive

bisection

algorithms

and

-LRB-

b

-RRB-

it

is

three

to

five

times

faster

Our

algorithm

compared

to

multilevel

spectral

partitioning

schemes

produces

better

partitions

in

substantially

smaller

time

-LRB-

up

to

two

orders

of

magnitude

faster

-RRB-

Introduction

Graph

partitioning

is

an

important

problem

that

has

extensive

applications

in

many

areas

including

scientific

computing

VLSI

design

and

task

scheduling

The

problem

is

to

partition

the

vertices

of

a

graph

in

p

roughly

equal

parts

such

that

the

number

of

edges

connecting

vertices

in

different

parts

is

minimized

For

example

the

solution

of

a

sparse

system

of

linear

equations

Ax

D

b

via

iterative

methods

on

a

parallel

computer

gives

rise

to

a

graph

partitioning

problem

A

key

step

in

each

iteration

of

these

methods

is

the

multiplication

of

a

sparse

matrix

and

a

-LRB-

dense

-RRB-

vector

The

problem

This

work

was

supported

by

IST/BMDO

through

Army

Research

Office

contract

and

by

Army

High

Performance

ComputingResearch

Center

under

the

auspices

of

the

Department

of

the

Army

Army

Research

Laboratory

contract

number

the

content

of

which

does

not

necessarily

reflect

the

position

or

the

policy

of

the

government

and

no

official

endorsement

should

be

inferred

Access

to

computing

facilities

was

provided

by

Minnesota

Supercomputer

Institute

Cray

Research

Inc

and

by

the

Pittsburgh

Supercomputing

Center

Related

papers

are

available

via

WWW

at

URL

of

minimizing

communication

in

this

step

is

identical

to

the

problem

of

partitioning

the

graph

corresponding

to

the

matrix

A

-LSB-

-RSB-

The

graph

partitioning

problem

is

NP-complete

However

many

algorithms

have

been

developed

that

find

a

reasonably

good

partition

Spectral

partitioning

methods

-LSB-

-RSB-

provide

excellent

graph

partitions

but

have

very

high

computational

complexity

Geometric

partition

methods

-LSB-

-RSB-

are

quite

fast

but

they

often

provide

worse

partitions

than

those

of

more

expensive

methods

such

as

spectral

Furthermore

geometric

methods

are

applicable

only

if

coordinate

information

for

the

graph

is

available

Recently

a

number

of

researches

have

investigated

a

class

of

algorithms

that

are

based

on

multilevel

graph

partitioning

that

have

moderate

computational

complexity

-LSB-

-RSB-

Some

of

these

multilevel

schemes

-LSB-

-RSB-

provide

excellent

-LRB-

often

substantially

better

than

spectral

-RRB-

graph

partitions

The

k-way

partition

problem

is

most

frequently

solved

by

recursive

bisection

That

is

we

first

obtain

a

partition

of

V

and

then

we

further

subdivide

each

part

using

partitions

After

log

k

phases

graph

G

is

partitioned

into

k

parts

Thus

the

problem

of

performing

a

k-way

partition

is

reduced

to

that

of

performing

a

sequence

of

partitions

or

bisections

In

-LSB-

-RSB-

we

presented

a

k-way

graph

partitioningalgorithm

that

is

based

on

a

multilevel

recursive

bisection

algorithm

-LRB-

MLB

-RRB-

The

basic

structure

of

a

multilevel

algorithm

is

very

simple

The

graph

G

is

first

coarsened

down

to

a

few

hundred

vertices

a

bisection

of

this

much

smaller

graph

is

computed

and

then

this

partition

is

projected

back

towards

the

original

graph

-LRB-

finer

graph

-RRB-

by

periodically

refining

the

partition

Since

the

finer

graph

has

more

degrees

of

freedom

such

refinements

decrease

the

edge-cut

The

experiments

presented

in

-LSB-

-RSB-

show

that

our

algorithm

produces

partitions

that

are

significantly

better

than

multilevel

spectral

bisection

-LSB-

-RSB-

and

it

requires

up

to

times

less

time

The

complexity

of

the

multilevel

bisection

algorithm

for

producing

a

k-way

partition

of

a

graph

G

D

V

E

is

O.jE

j

logk

Since

in

most

of

these

graphs

particularly

those

arising

in

finite

element

applications

jE

j

D

O.jV

j

the

complexity

becomes

O.jV

j

log

k

Another

potentially

faster

way

to

compute

a

k-way

partition

is

to

coarsen

the

graph

to

a

moderate

number

of

vertices

and

then

compute

a

k-way

partition

of

this

coarsened

graph

If

the

coarsened

graph

is

a

good

replica

of

the

original

graph

then

a

good

k-way

partition

of

this

coarse

graph

will

also

be

close

to

a

good

k-way

partition

of

the

original

graph

This

partition

can

be

refined

-LRB-

like

in

the

case

of

the

multilevel

recursive

bisection

algorithm

-RRB-

while

the

k-way

partition

is

projected

to

successive

levels

Results

of

Simon

and

Teng

-LSB-

-RSB-

show

that

recursive

bisection

can

do

arbitrary

worse

than

k-way

partitioning

-LRB-

for

graphs

arising

in

finite

element

applications

recursive

bisection

performs

as

well

as

k-way

partitioning

-RRB-

Thus

obtaining

a

k-way

partition

directly

can

potentially

produce

much

better

partitions

There

are

two

problems

with

this

paradigm

First

no

good

and

fast

algorithms

are

known

that

obtain

a

k-way

partition

directly

without

resorting

to

logk

steps

of

recursive

bisection

Second

the

refinement

of

the

k-way

partition

is

much

more

difficult

than

the

refinement

of

a

bisection

In

fact

Kernighan-Lin

-LSB-

-RSB-

or

its

variations

are

quite

adequate

of

refining

a

bisection

-LSB-

-RSB-

A

direct

generalization

of

the

KL

refinement

algorithm

to

k-way

partitions

used

in

-LSB-

-RSB-

is

substantially

more

expensive

In

fact

even

for

refinement

the

run

time

is

quite

high

for

these

schemes

Computing

k-way

refinement

for

k

is

too

expensive

In

this

paper

we

present

an

algorithm

that

computes

a

k-way

partition

in

time

linear

to

the

number

of

vertices

i.e.

O.jV

j

This

new

algorithm

extends

the

idea

of

the

multilevel

bisection

algorithm

presented

in

-LSB-

-RSB-

to

a

multilevel

kway

partition

algorithm

-LRB-

MLkP

-RRB-

We

test

our

scheme

on

a

large

number

of

graphs

arising

in

various

domains

including

finite

element

methods

linear

programming

VLSI

and

transportation

Our

experiments

show

that

this

new

scheme

produces

partitions

that

are

of

comparable

or

better

quality

than

those

produced

by

the

multilevel

bisection

algorithm

and

requires

substantially

smaller

time

Graphs

containing

up

to

vertices

and

edges

can

be

partitioned

in

parts

in

less

than

seconds

on

a

workstation

such

as

SGI

's

Challenge

For

many

of

these

graphs

the

process

of

graph

partitioning

takes

even

less

time

than

the

time

to

read

the

graph

from

the

disk

into

memory

The

remainder

of

the

paper

is

organized

as

follows

Section

defines

the

graph

partitioning

problem

and

describes

the

basic

ideas

of

multilevel

graph

partitioning

Sections

and

describe

algorithms

for

the

coarsening

initial

partitioning

and

the

uncoarsening

phase

respectively

Section

presents

an

experimental

evaluation

of

the

various

parameters

of

the

multilevel

graph

partitioning

algorithmand

compares

its

performance

with

that

of

multilevel

recursive

bisection

algorithm

Graph

Partitioning

The

k-way

graph

partitioning

problem

is

defined

as

follows

Given

a

graph

G

D

V

E

with

jV

j

D

n

partition

V

into

k

subsets

Vk

such

that

Vi

Vj

D

for

i

j

jVi

j

D

n

k

and

S

i

Vi

D

V

and

the

number

of

edges

of

E

whose

incident

vertices

belong

to

different

subsets

is

minimized

A

k-way

partition

of

V

is

commonly

represented

by

a

partition

vector

P

of

length

n

such

that

for

every

vertex

v

V

P

-LSB-

v

-RSB-

is

an

integer

between

and

k

indicating

the

partition

at

which

vertex

v

belongs

Given

a

partition

P

the

number

of

edges

whose

incident

vertices

belong

to

different

subsets

is

called

the

edge-cut

of

the

partition

Consider

a

weighted

graph

D

with

weights

both

on

vertices

and

edges

A

multilevel

k-way

partition

algorithm

works

as

follows

Coarsening

Phase

The

graph

is

transformed

into

a

sequence

of

smaller

graphs

Gm

such

that

jVmj

Partitioning

Phase

A

k-way

partition

Pm

of

the

graph

Gm

D

Vm

Em

is

computed

that

partitions

Vm

into

k

parts

each

containing

roughly

k

vertices

of

Uncoarsening

Phase

The

partition

Pm

of

Gm

is

projected

back

to

by

going

throughintermediate

partitions

Pm

Pm

Coarsening

Phase

During

the

coarsening

phase

a

sequence

of

smaller

graphs

Gi

D

Vi

Ei

is

constructed

from

the

original

graph

D

such

that

jVi

j

Given

a

graph

Gi

D

Vi

Ei

a

coarser

graph

can

be

obtained

by

collapsing

adjacent

vertices

Thus

the

edge

between

two

vertices

is

collapsed

and

a

multinode

consisting

of

these

two

vertices

is

created

In

order

for

a

partition

of

a

coarser

graph

to

be

good

with

respect

to

the

original

graph

the

weight

of

vertex

v

is

set

equal

to

the

sum

of

the

weights

of

the

vertices

in

V

vi

Also

in

order

to

preserve

the

connectivity

information

in

the

coarser

graph

the

edges

of

v

are

the

union

of

the

edges

of

the

vertices

in

V

vi

In

the

case

where

more

than

one

vertex

of

V

vi

contain

edges

to

the

same

vertex

u

the

weight

of

the

edge

of

v

is

equal

to

the

sum

of

the

weights

of

these

edges

This

is

useful

when

we

evaluate

the

quality

of

a

partition

at

a

coarser

graph

The

edge-cut

of

the

partition

in

a

coarser

graph

will

be

equal

to

the

edge-cut

of

the

same

partition

in

the

finer

graph

This

edge

collapsing

idea

can

be

formally

defined

in

terms

of

matchings

A

matching

of

a

graph

is

a

set

of

edges

no

two

of

which

are

incident

on

the

same

vertex

Thus

the

next

level

coarser

graph

is

constructed

from

Gi

by

finding

a

matching

of

Gi

and

collapsing

the

vertices

being

matched

into

multinodes

The

unmatched

vertices

are

simply

copied

over

to

Since

the

goal

of

collapsing

vertices

using

matchings

is

to

decrease

the

size

of

the

graph

Gi

the

matching

should

be

of

maximal

size

That

is

it

should

contain

all

possible

edges

no

two

of

which

are

incident

on

the

same

vertex

The

matching

of

maximal

size

is

called

maximal

matching

Note

that

depending

on

how

matchings

are

computed

the

size

of

the

maximal

matching

may

be

different

The

coarsening

phase

ends

when

the

coarsest

graph

Gm

has

a

small

number

of

vertices

In

our

experiments

for

a

k-way

partition

we

stop

the

coarsening

process

when

the

number

of

vertices

becomes

less

than

ck

where

c

D

in

our

experiments

The

choice

for

this

value

of

c

was

to

allow

the

initial

partitioning

algorithm

to

create

a

k-way

partition

so

that

each

part

has

roughly

the

same

size

In

the

remaining

sections

we

describe

three

ways

that

we

used

to

select

maximal

matchings

for

coarsening

Some

different

matching

schemes

are

described

in

-LSB-

-RSB-

Random

Matching

-LRB-

RM

-RRB-

A

maximal

matching

can

be

generated

efficiently

using

a

randomized

algorithm

In

our

experiments

we

used

a

randomized

algorithm

similar

to

that

described

in

-LSB-

-RSB-

The

random

maximal

matching

algorithm

is

the

following

The

vertices

are

visited

in

random

order

If

a

vertex

u

has

not

been

matched

yet

then

we

randomly

select

one

of

its

unmatched

adjacent

vertices

If

such

a

vertex

v

exists

we

include

the

edge

u

v

in

the

matching

and

mark

vertices

u

and

v

as

being

matched

If

there

is

no

unmatched

adjacent

vertex

v

then

vertex

u

remains

unmatched

in

the

random

matching

The

complexity

of

the

above

algorithm

is

O.jE

j

Heavy

Edge

Matching

-LRB-

HEM

-RRB-

While

performing

the

coarsening

using

random

matchings

we

try

to

minimize

the

number

of

coarsening

levels

in

a

greedy

fashion

However

our

overall

goal

is

to

find

a

partition

that

minimizes

the

edge-cut

Consider

a

graph

Gi

D

Vi

Ei

a

matching

Mi

that

is

used

to

coarsen

Gi

and

its

coarser

graph

D

induced

by

Mi

If

A

is

a

set

of

edges

define

W

A

to

be

the

sum

of

the

weights

of

the

edges

in

A

It

can

be

shown

that

W

D

W

Ei

W

Mi

-LRB-

-RRB-

Thus

the

total

edge

weight

of

the

coarser

graph

is

reduced

by

the

weight

of

the

matching

Hence

by

selecting

a

matching

Mi

that

has

a

maximal

weight

we

can

maximize

the

decrease

in

the

edge

weight

of

the

coarser

graph

Now

since

the

coarser

graph

has

smaller

edge

weight

it

is

more

likely

to

have

a

smaller

edge-cut

As

the

analysis

in

-LSB-

-RSB-

shows

HEM

produces

coarse

graphs

that

have

smaller

edge-cut

than

those

produced

by

RM

Finding

a

matching

with

maximal

weight

is

the

idea

behind

the

heavy-edge

matching

A

maximal

weight

matching

is

computed

using

a

randomized

algorithm

similar

to

that

for

computing

a

random

matching

described

in

Section

The

vertices

are

again

visited

in

random

order

However

instead

of

randomly

matching

a

vertex

u

with

one

of

its

adjacent

unmatched

vertices

we

match

u

with

the

vertex

v

such

that

the

weight

of

the

edge

u

v

is

maximum

over

all

valid

incident

edges

-LRB-

heavier

edge

-RRB-

Note

that

this

algorithms

does

not

guarantee

that

the

matching

obtained

has

maximum

weight

but

our

experiments

has

shown

that

it

works

very

well

The

complexity

of

computing

the

maximum-weight

matching

is

O.jE

j

which

similar

to

that

for

computing

the

random

matching

Modified

Heavy

Edge

Matching

-LRB-

HEM

-RRB-

When

the

edges

of

the

original

graph

have

identical

weights

the

first

level

coarser

graph

produced

by

HEM

is

similar

to

that

produced

by

RM

since

there

are

not

any

heavy

edges

in

Furthermore

the

analysis

of

the

multilevel

bisection

algorithm

in

-LSB-

-RSB-

show

that

a

good

edge-cut

of

successive

coarser

graphs

is

closer

to

that

of

a

good

edge-cut

of

the

original

graph

if

the

average

degree

of

the

coarser

graphs

is

small

and/or

the

average

weight

of

the

edges

in

the

coarser

graphs

is

small

The

modified

heavy

edge

matching

computes

a

matching

that

tries

to

decrease

the

average

degree

of

coarser

graphs

An

additional

advantage

of

that

is

since

there

are

fewer

edges

their

average

weight

is

higher

thus

in

subsequent

coarsening

levels

the

weight

of

the

edges

that

are

contracted

in

the

multinodes

increases

A

modified

heavy-edge

matching

is

computed

using

a

randomized

algorithm

similar

to

that

for

computing

a

HEM

The

vertices

are

again

visited

in

random

order

Let

v

be

such

a

vertex

and

let

H

be

the

set

of

unmatched

adjacent

vertices

of

v

that

are

connected

to

v

by

an

edge

of

maximum

weight

-LRB-

H

can

contain

more

than

one

vertex

if

some

edges

connected

to

v

have

identical

weights

-RRB-

For

each

vertex

u

H

let

Wv?u

be

the

sum

of

the

weights

of

the

edges

of

u

that

connect

u

to

vertices

adjacent

to

v

In

the

HEM

scheme

v

is

matched

with

the

vertex

u

H

such

that

Wv?u

is

maximized

over

all

vertices

in

H

For

instance

if

has

equal

weight

edges

the

vertices

matched

by

HEM

will

be

adjacent

to

many

common

vertices

As

a

result

will

have

smaller

average

degree

than

The

complexity

of

computing

the

modified

heavy-edge

matching

is

O.jE

j

which

is

asymptotically

the

same

as

that

for

computing

the

random

matching

and

heavy

edge

matching

But

the

constant

for

modified

heavy

edge

is

somewhat

higher

Partitioning

Phase

The

second

phase

of

a

multilevel

k-way

partition

algorithm

is

to

compute

a

k-way

partition

Pm

of

the

coarse

graph

Gm

D

Vm

Em

such

that

each

part

contains

roughly

k

vertex

weight

of

the

original

graph

Since

during

coarsening

the

weights

of

the

vertices

and

edges

of

the

coarser

graph

were

set

to

reflect

the

weights

of

the

vertices

and

edges

of

the

finer

graph

Gm

contains

sufficient

information

to

intelligently

enforce

the

balanced

partition

and

the

minimum

edge-cut

requirements

In

our

algorithm

the

k-way

partition

of

Gm

is

computed

using

our

multilevel

bisection

algorithm

-LSB-

-RSB-

Our

experience

has

shown

that

our

multilevel

recursive

bisection

algorithm

produces

good

initial

partitions

and

requires

small

amount

of

time

Uncoarsening

Phase

During

the

uncoarsening

phase

the

partition

Pm

of

the

coarser

graph

Gm

is

projected

back

to

the

original

graph

by

going

through

the

graphs

Gm

Gm

Since

each

vertex

of

contains

a

distinct

subset

of

vertices

of

Gi

obtaining

Pi

from

is

done

by

simply

assigning

the

set

of

vertices

V

vi

collapsed

to

v

to

the

partition

-LSB-

v

-RSB-

-LRB-

i.e.

Pi

-LSB-

u

-RSB-

D

-LSB-

v

-RSB-

V

vi

-RRB-

Even

though

is

a

local

minima

partition

of

the

projected

partition

Pi

may

not

be

at

a

local

minima

with

respect

to

Gi

Since

Gi

is

finer

it

has

more

degrees

of

freedom

that

can

be

used

to

improve

Pi

and

decrease

the

edge-cut

Hence

it

may

still

be

possible

to

improve

the

projected

partition

of

Gi

by

local

refinement

heuristics

For

this

reason

after

projecting

a

partition

a

partition

refinement

algorithm

is

used

The

basic

purpose

of

a

partition

refinement

algorithm

is

to

select

vertices

such

that

when

moved

from

one

partition

to

another

the

resulting

partition

has

smaller

edge-cut

and

remains

balanced

-LRB-

i.e.

each

part

has

the

same

weight

-RRB-

In

the

case

of

multilevel

bisection

algorithms

a

class

of

algorithms

that

tend

to

produce

very

good

results

are

those

that

are

based

on

the

Kernighan-Lin

-LRB-

KL

-RRB-

partition

algorithm

described

-LSB-

-RSB-

In

particular

in

-LSB-

-RSB-

we

developed

some

very

fast

variants

of

the

KL

algorithm

that

concentrate

on

the

boundary

of

the

bisection

and

significantly

improve

the

quality

of

the

bisections

as

they

are

projected

to

successively

finer

graphs

However

refining

a

k-way

partition

is

significantly

more

complicated

In

particular

extending

the

Kernighan-Lin

algorithm

for

k-way

refinement

is

considerably

more

complicated

and

also

it

requires

significantly

more

work

This

is

because

vertices

can

move

from

a

part

to

many

other

parts

thus

increasing

the

optimization

space

An

extension

of

the

KL

refinement

algorithm

in

the

case

of

k-way

refinement

is

described

in

-LSB-

-RSB-

This

algorithm

uses

k.k

priority

queues

one

for

each

type

of

move

In

each

step

of

the

algorithm

the

moves

with

the

highest

gain

are

found

from

each

of

these

k.k

queues

and

the

move

with

the

highest

gain

that

preserves

or

improves

the

balance

is

performed

The

complexity

of

k-way

refinement

is

significantly

higher

than

that

of

refinement

and

for

a

graph

with

m

edges

is

O.k

m

This

approach

is

only

practical

for

small

values

of

k.

Due

to

this

high

complexity

the

multilevel

recursive

octasection

algorithm

described

in

-LSB-

-RSB-

requires

the

same

amount

of

time

as

multilevel

recursive

bisection

even

though

recursive

octasection

spends

around

three

times

less

time

for

coarsening

For

this

reason

the

refinement

algorithms

we

use

in

our

multilevel

k-way

partition

algorithm

are

simplified

versions

of

the

k-way

Kernighan-Lin

refinement

algorithm

and

their

complexity

is

independent

of

the

number

of

parts

being

refined

As

the

results

in

Section

show

despite

the

simplicity

of

our

refinement

algorithms

they

substantially

improve

the

quality

of

the

partitions

in

small

amount

of

time

In

the

next

section

we

describe

two

different

refinement

algorithms

that

are

based

on

similar

ideas

but

differ

in

the

time

they

require

to

do

the

refinement

Key

to

both

refinement

algorithms

is

the

concept

of

the

decrease

in

the

edge-cut

achieved

by

moving

a

vertex

from

one

part

to

another

This

decrease

in

the

edge-cut

is

called

the

gain

Both

algorithms

rely

on

the

same

data

structures

that

are

computed

during

the

projection

of

the

partition

from

the

coarser

graph

to

the

next

level

finer

graph

Consider

a

graph

Gi

D

Vi

Ei

and

its

partition

vector

Pi

For

each

vertex

v

Vi

we

define

the

neighborhood

N.v

of

v

to

be

the

union

of

the

parts

that

the

vertices

adjacent

to

v

-LRB-

i.e.

Ad

j

v

-RRB-

belong

to

That

is

N.v

D

-LSB-

j

v

Pi

-LSB-

u

-RSB-

Note

that

if

v

is

an

interior

vertex

of

a

part

then

N.v

D

On

the

other

hand

the

cardinality

of

N.v

can

be

as

high

as

Ad

j

v

for

the

case

in

which

each

vertex

adjacent

to

v

belongs

to

a

different

part

During

refinement

v

can

move

to

any

of

the

parts

in

N.v

For

each

vertex

v

we

compute

the

gains

of

moving

v

to

one

of

its

neighbor

parts

In

particular

for

every

b

N.v

we

compute

ED

-LSB-

v

-RSB-

b

as

the

sum

of

the

weights

of

the

edges

v

u

such

that

Pi

-LSB-

u

-RSB-

D

b.

Also

we

compute

I

D

-LSB-

v

-RSB-

as

the

sum

of

the

weights

of

the

edges

v

u

such

that

Pi

-LSB-

u

-RSB-

D

Pi

-LSB-

v

-RSB-

The

quantity

ED

-LSB-

v

-RSB-

b

is

called

the

external

degree

of

v

to

part

b

while

the

quantity

I

D

-LSB-

v

-RSB-

is

called

the

internal

degree

of

v.

Given

these

definitions

then

the

gain

of

moving

vertex

v

to

part

b

N.v

is

ED

-LSB-

v

-RSB-

b

I

D

-LSB-

v

-RSB-

However

in

addition

to

decreasing

the

edge-cut

moving

a

vertex

from

one

part

to

another

must

not

create

parts

whose

size

is

unbalanced

Let

Wi

be

a

vector

of

k

elements

such

that

Wi

-LSB-

a

-RSB-

is

the

weight

of

the

part

a.

Furthermore

let

Wmin

i

be

the

weight

of

the

smallest

part

and

let

Wmax

i

D

k

If

C

D

then

Wmax

i

is

equal

to

the

ideal

balanced

weight

of

each

part

whereas

if

C

then

Wmax

i

is

higher

than

that

In

particular

the

extra

work

due

to

the

load

imbalance

between

parts

is

C

A

vertex

v

whose

weight

is

w.v

can

be

moved

from

part

a

to

part

b

only

if

Wi

-LSB-

a

-RSB-

w.v

Wmin

i

and

Wi

-LSB-

b

-RSB-

C

w.v

Wmax

i

-LRB-

-RRB-

Note

that

the

first

condition

is

not

critical

for

load

balance

but

it

ensures

that

there

is

no

partition

with

too

few

vertices

In

our

experiments

we

found

that

letting

C

to

be

greater

than

tends

to

improve

the

quality

of

the

partitions

However

in

order

to

minimize

the

load

imbalance

we

used

C

D

that

puts

an

upper

bound

of

on

load

imbalance

Greedy

Refinement

-LRB-

GR

-RRB-

The

greedy

refinement

algorithm

is

very

simple

It

consists

of

a

number

of

iterations

and

in

each

iteration

all

the

vertices

are

checked

to

see

if

they

can

be

moved

so

that

either

the

edge-cut

of

the

partition

can

be

decreased

-LRB-

while

preserving

balance

-RRB-

or

the

balance

is

improved

In

particular

GR

works

as

follows

Consider

a

graph

Gi

D

Vi

Ei

and

its

partition

vector

Pi

The

vertices

are

checked

in

random

order

Let

v

be

such

a

vertex

let

Pi

-LSB-

v

-RSB-

D

a

be

the

part

that

v

belongs

to

If

v

is

a

node

internal

to

a

partition

then

N.v

D

and

v

is

not

moved

If

v

is

at

the

boundary

of

the

partition

then

N.v

is

non-empty

and

v

is

moved

to

one

of

the

adjacent

parts

b

if

either

one

of

the

following

conditions

is

satisfied

ED

-LSB-

v

-RSB-

b

I

D

-LSB-

v

-RSB-

and

ED

-LSB-

v

-RSB-

b

is

maximum

among

all

c

N.v

that

satisfy

the

partition

balance

condition

-LRB-

Equation

-RRB-

ED

-LSB-

v

-RSB-

b

D

I

D.v

and

Wi

-LSB-

a

-RSB-

Wi

-LSB-

b

-RSB-

w.v

That

is

the

GR

algorithm

moves

v

to

the

part

that

leads

to

the

larger

reduction

in

the

edge-cut

-LRB-

while

the

balance

condition

is

satisfied

-RRB-

If

the

GR

algorithm

can

not

achieve

any

reduction

in

the

edge-cut

by

moving

v

it

then

moves

it

to

the

part

-LRB-

if

any

-RRB-

that

leads

to

no

increase

in

the

edge-cut

but

improves

the

balance

After

moving

vertex

v

the

algorithms

updates

the

internal

and

external

degrees

of

the

vertices

adjacent

to

v

to

reflect

the

change

in

the

partition

The

GR

algorithm

converges

after

a

small

number

of

iterations

In

our

experiments

we

found

that

for

most

matrices

and

with

the

HEM

-LRB-

or

HEM

-RRB-

matching

scheme

in

particular

GR

converged

within

four

to

eight

iterations

Global

Kernighan-Lin

Refinement

-LRB-

GKLR

-RRB-

The

GR

algorithm

described

in

Section

lacks

any

capabilities

of

climbing

out

of

local

minima

The

global

Kernighan-Lin

refinement

algorithm

adds

some

limited

hill-climbing

capabilities

to

the

GR

algorithm

and

also

visits

the

vertices

in

a

different

order

that

more

closely

resembles

the

order

in

which

vertices

are

visited

by

the

Kernighan-Lin

refinement

algorithm

for

refining

a

partition

The

GKLR

algorithm

uses

a

priority

queue

that

stores

the

vertices

according

to

their

gains

Initially

all

the

vertices

are

scanned

and

those

whose

sum

of

external

degrees

is

greater

or

equal

to

their

internal

degrees

are

inserted

into

the

priority

queue

In

particular

let

v

be

such

a

vertex

let

N.v

be

the

neighborhood

of

v

and

b

N.v

such

that

ED

-LSB-

v

-RSB-

b

is

maximum

over

the

external

degrees

of

parts

in

N.v

We

insert

v

into

the

priority

queue

with

a

gain

equal

to

ED

-LSB-

v

-RSB-

b

I

D

-LSB-

v

-RSB-

The

algorithm

then

proceeds

and

selects

the

vertex

from

the

priority

queue

with

the

highest

gain

Having

selected

such

a

vertex

v

then

the

algorithm

selects

a

part

b

N.v

to

move

v

such

that

ED

-LSB-

v

-RSB-

b

is

maximized

while

satisfying

the

balance

condition

-LRB-

Equation

-RRB-

Note

that

these

swaps

may

lead

to

an

increase

in

the

edge-cut

since

vertices

are

moved

even

if

they

have

a

negative

gain

value

The

GKLR

algorithm

continues

moving

vertices

until

it

has

performed

x

vertex

moves

that

have

not

decreased

the

overall

edge-cut

In

that

case

the

last

x

moves

are

undone

Once

a

vertex

is

moved

it

is

not

considered

for

movement

in

the

same

iteration

This

is

repeated

for

a

small

number

of

iterations

or

until

convergence

Note

that

this

is

quite

similar

to

the

boundary

Kernighan-Lin

algorithm

for

partition

-LSB-

-RSB-

and

because

of

that

is

not

as

powerful

when

it

is

applied

for

k-way

refinement

In

particular

the

hill

climbing

capabilities

are

much

weaker

because

the

lookahead

globally

covers

all

k

parts

as

opposed

to

be

focused

on

pairs

of

parts

Experimental

Results

We

evaluated

the

performance

of

the

multilevel

graph

partitioning

algorithm

on

a

wide

range

of

matrices

arising

in

different

application

domains

The

characteristics

of

these

matrices

are

described

in

Table

All

the

experiments

were

performed

on

an

SGI

Challenge

with

GBytes

of

memory

and

MIPS

processor

All

times

reported

are

in

seconds

Since

the

nature

of

the

multilevel

algorithm

discussed

is

randomized

we

performed

all

experiments

with

fixed

seed

Matrix

Name

No

of

Vertices

No

of

Edges

Description

144 144649

Finite

element

mesh

Finite

element

mesh

AUTO

Finite

element

mesh

Stiffness

matrix

Stiffness

matrix

BBMAT

Stiffness

matrix

Finite

element

mesh

CANT

Stiffness

matrix

Finite

element

mesh

Stiffness

matrix

Linear

programming

FLAP

Stiffness

matrix

Stiffness

matrix

Linear

programming

Coefficient

matrix

Finite

element

mesh

Highway

network

Highway

network

ROTOR

Finite

element

mesh

Sequential

circuit

Stiffness

matrix

CFD/Navier-Stokes

TORSO

Finite

element

mesh

TROLL

Stiffness

matrix

Coefficient

matrix

WAVE

Finite

element

mesh

Table

Various

matrices

used

in

evaluating

the

multilevel

graph

partitioning

and

sparse

matrix

ordering

algorithm

Matching

Schemes

We

implemented

the

three

matching

schemes

described

in

Section

These

schemes

are

-LRB-

a

-RRB-

random

matching

-LRB-

RM

-RRB-

-LRB-

b

-RRB-

heavy

edge

matching

-LRB-

HEM

-RRB-

and

-LRB-

c

-RRB-

modified

heavy

edge

matching

-LRB-

HEM

-RRB-

For

all

the

experiments

we

used

the

greedy

refinement

policy

during

the

uncoarsening

phase

The

results

for

and

partition

are

shown

in

Figures

and

for

all

the

matrices

in

Table

From

Figure

we

see

that

both

HEM

and

HEM

consistently

produce

partitions

whose

edge-cut

is

better

than

that

of

the

partitions

produced

by

RM

In

particular

HEM

and

HEM

produce

partitions

whose

edge-cut

is

better

than

that

of

RM

by

up

to

This

should

not

be

surprising

since

our

k-way

partition

algorithm

relies

heavily

on

a

good

coarsening

scheme

because

of

the

simple

refinement

algorithm

that

it

employs

As

the

analysis

in

-LSB-

-RSB-

shows

HEM

is

a

strictly

better

coarsening

scheme

than

RM

Comparing

HEM

against

HEM

we

see

that

for

most

matrices

their

performance

is

comparable

with

HEM

doing

slightly

better

for

some

matrices

The

only

notable

exception

is

BBMAT

for

which

HEM

does

up

to

better

than

HEM

BBMAT

is

the

type

of

graph

in

which

applying

RM

at

the

finer

graph

-LRB-

-RRB-

almost

doubles

the

average

degree

of

the

first

level

coarser

graph

-LRB-

-RRB-

For

this

graph

by

using

HEM

Quality

of

the

partitions

of

RM

Matching

vs

HEM

and

HEM

Matchings

HEM

HEM

HEM

HEM

RM

Matching

-LRB-

baseline

-RRB-

Figure

Quality

of

the

partitions

produced

by

the

RM

HEM

and

HEM

matching

schemes

For

each

matrix

the

ratio

of

the

edge-cut

of

the

HEM

and

HEM

matching

schemes

to

that

of

the

RM

matching

scheme

is

plotted

for

and

partitions

Bars

under

the

baseline

indicate

that

the

corresponding

matching

scheme

performs

better

than

RM

Run

time

of

partitiong

using

RM

Matching

vs

HEM

and

HEM

Matchings

HEM

HEM

HEM

HEM

RM

Matching

-LRB-

baseline

-RRB-

Figure

The

amount

of

time

required

by

the

k-way

partition

algorithm

when

using

the

RM

HEM

and

HEM

matching

schemes

For

each

matrix

the

ratio

of

the

time

required

by

the

HEM

and

HEM

matching

schemes

to

that

of

the

RM

matching

scheme

is

plotted

for

and

partitions

Bars

under

the

baseline

indicate

that

the

corresponding

matching

scheme

is

faster

than

RM

the

average

degree

of

not

only

does

not

increase

but

it

decreases

that

helps

HEM

to

create

coarse

graphs

that

have

smaller

edge-weight

For

other

type

of

graphs

particularly

those

that

correspond

to

finite

element

meshes

RM

only

slightly

increases

the

average

degree

of

which

in

turns

allows

HEM

to

perform

good

coarsening

From

Figure

we

see

that

for

partition

HEM

is

up

to

faster

than

RM

while

HEM

is

up

to

slower

than

RM

HEM

is

faster

than

RM

because

it

requires

less

refinement

whereas

HEM

is

slower

than

RM

because

coarsening

using

HEM

is

slower

than

coarsening

using

RM

For

a

partition

HEM

is

again

faster

than

RM

but

now

for

matrices

HEM

is

faster

than

RM

This

is

because

RM

requires

more

refinement

time

and

because

the

coarsest

graph

Gm

produced

by

RM

has

many

more

edges

than

that

produced

by

HEM

that

increases

the

initial

partitioning

time

As

the

experiments

show

for

most

of

the

matrices

HEM

is

an

excellent

matching

scheme

that

produces

good

partitions

and

requires

the

smallest

overall

run

time

However

for

certain

class

of

matrices

HEM

does

better

than

HEM

Refinement

Policies

As

described

in

Section

there

are

different

ways

that

a

partition

can

be

refined

during

the

uncoarsening

phase

We

evaluated

the

performance

of

two

refinement

policies

both

in

terms

of

how

good

partitions

they

produce

and

also

how

much

time

they

require

The

refinement

policies

that

we

evaluate

are

greedy

refinement

-LRB-

GR

-RRB-

and

global

Kernighan-Lin

refinement

-LRB-

GKLR

-RRB-

The

result

of

these

refinement

policies

for

computing

a

and

a

partition

for

the

graphs

in

Table

is

shown

in

Figures

and

Figures

and

Figures

show

the

edge-cut

of

the

partitions

produced

by

GKLR

relative

to

those

produced

by

GR

for

the

three

different

coarsening

schemes

while

Figures

and

Figures

shows

the

amount

of

time

required

by

GKLR

relative

to

GR

for

computing

these

partitions

From

Figures

and

Figures

we

see

that

for

most

matrices

GKLR

does

not

produce

partitions

that

are

any

better

than

those

produced

by

GR

If

we

combine

the

and

partitions

as

a

set

of

different

runs

GKLR

produces

better

partitions

for

out

of

these

runs

Out

of

these

instances

were

obtained

using

RM

using

HEM

and

using

HEM

Another

interesting

observation

is

that

for

most

matrices

the

difference

in

the

quality

of

the

partitions

produced

by

GR

and

GKLR

is

very

small

The

difference

in

the

quality

is

less

than

for

out

of

the

different

runs

The

only

notable

exceptions

are

for

which

GR

does

up

to

better

than

GKLR

and

BBMAT

for

which

GKLR

does

up

to

better

than

GR

From

Figures

and

Figures

we

see

that

the

amount

of

time

required

for

a

and

partition

using

GKLR

is

significantly

higher

than

the

time

required

using

GR

GKLR

requires

more

time

for

all

different

runs

In

some

cases

GKLR

requires

more

than

twice

the

time

required

by

GR

Comparing

the

different

matching

schemes

we

see

that

out

of

the

runs

and

runs

the

relative

increase

in

the

run

time

is

higher

for

RM

in

cases

for

HEM

and

for

HEM

The

is

not

surprising

since

RM

requires

more

refinement

and

also

RM

benefits

the

most

from

GKLR

In

summary

GR

and

GKLR

tend

to

produce

partitions

that

have

similar

edge-cuts

but

with

GKLR

requiring

significantly

more

time

than

GR

Comparison

with

Other

Partitioning

Schemes

The

multilevel

recursive

bisection

-LRB-

MLB

-RRB-

-LSB-

-RSB-

has

been

shown

to

be

an

effective

method

for

partitioning

unstructured

problems

in

a

variety

of

applications

Figure

shows

the

relative

performance

of

our

multilevel

k-way

partition

algorithm

-LRB-

MLkP

-RRB-

compared

to

the

default

multilevel

recursive

bisection

algorithm

implemented

by

METIS

-LSB-

-RSB-

METIS

is

a

set

of

programs

for

partitioning

unstructured

graphs

and

for

ordering

sparse

matrices

that

implements

various

algorithms

described

in

-LSB-

-RSB-

For

each

matrix

we

plot

the

ratio

of

the

edge-cut

of

the

MLkP

algorithm

to

the

edge-cut

of

the

MLB

algorithm

Ratios

that

are

less

than

one

indicate

that

MLkP

produces

better

partitions

than

MLB

For

this

comparison

and

for

the

rest

of

the

comparisons

in

this

section

the

MLkP

algorithm

we

used

uses

HEM

during

coarsening

and

GR

during

refinement

From

this

figure

we

see

that

for

almost

all

problems

MLkP

and

MLB

produce

partitions

of

similar

quality

In

Quality

of

GR

vs

GKLR

Refinement

Schemes

for

RM

HEM

and

HEM

Partition

RM

HEM

HEM

GR

Refinement

-LRB-

baseline

-RRB-

Figure

Quality

of

the

partitions

produced

by

the

GR

and

GKLR

refinement

algorithms

For

each

matrix

the

ratio

of

the

edge-cut

of

the

GKLR

refinement

algorithm

to

that

of

the

GR

algorithm

scheme

is

plotted

for

RM

HEM

and

HEM

matching

schemes

Bars

under

the

baseline

indicate

that

GKLR

performs

better

than

GR

for

the

corresponding

matching

scheme

Quality

of

GR

vs

GKLR

Refinement

Schemes

for

RM

HEM

and

HEM

Partition

RM

HEM

HEM

GR

Refinement

-LRB-

baseline

-RRB-

Figure

Quality

of

the

partitions

produced

by

the

GR

and

GKLR

refinement

algorithms

For

each

matrix

the

ratio

of

the

edge-cut

of

the

GKLR

refinement

algorithm

to

that

of

the

GR

algorithm

scheme

is

plotted

for

RM

HEM

and

HEM

matching

schemes

Bars

under

the

baseline

indicate

that

GKLR

performs

better

than

GR

for

the

corresponding

matching

scheme

Run

time

of

GR

vs

GKLR

Refinement

Schemes

for

RM

HEM

and

HEM

Partition

RM

HEM

HEM

GR

Refinement

-LRB-

baseline

-RRB-

Figure

Run

time

for

the

partitions

produced

by

the

GR

and

GKLR

refinement

algorithms

For

each

matrix

the

ratio

of

the

time

required

for

partitioning

using

the

GKLR

refinement

algorithm

to

that

of

the

GR

algorithm

scheme

is

plotted

for

RM

HEM

and

HEM

matching

schemes

Bars

under

the

baseline

indicate

that

GKLR

is

faster

than

GR

for

the

corresponding

matching

scheme

Run

time

of

GR

vs

GKLR

Refinement

Schemes

for

RM

HEM

and

HEM

Partition

RM

HEM

HEM

GR

Refinement

-LRB-

baseline

-RRB-

Figure

Run

time

for

the

partitions

produced

by

the

GR

and

GKLR

refinement

algorithms

For

each

matrix

the

ratio

of

the

time

required

for

partitioning

using

the

GKLR

refinement

algorithm

to

that

of

the

GR

algorithm

scheme

is

plotted

for

RM

HEM

and

HEM

matching

schemes

Bars

under

the

baseline

indicate

that

GKLR

is

faster

than

GR

for

the

corresponding

matching

scheme

Quality

of

Multilevel

k-way

Partition

-LRB-

HEM

with

GR

-RRB-

vs

Multilevel

Recursive

Bisection

Finite

Element

Meshes

Coefficient

Matrices

Higher

Order

Transportation

LP

VLSI

parts

parts

parts

Multilevel

Recursive

Bisection

-LRB-

baseline

-RRB-

Figure

Quality

of

the

partitions

produced

by

multilevel

recursive

bisection

and

multilevel

k-way

partition

algorithms

The

multilevel

k-way

partition

algorithm

uses

HEM

during

coarsening

and

GR

during

refinement

For

each

matrix

the

ratio

of

the

edge-cut

of

the

k-way

partition

algorithm

to

that

of

the

recursive

bisection

algorithm

is

plotted

for

and

partitions

Bars

under

the

baseline

indicate

that

k-way

partition

performs

better

than

recursive

bisection

Run

Time

of

Multilevel

Recursive

Bisection

vs

Multilevel

k-way

Partition

-LRB-

HEM

with

GR

-RRB-

Multilevel

k-way

Partition

Multilevel

k-way

Partition

-LRB-

baseline

-RRB-

Figure

Run

time

of

the

multilevel

recursive

bisection

and

multilevel

k-way

partition

algorithms

The

multilevel

k-way

partition

algorithm

uses

HEM

during

coarsening

and

GR

during

refinement

For

each

matrix

the

ratio

of

the

run

time

of

recursive

bisection

algorithm

to

that

of

the

k-way

partition

algorithm

is

plotted

for

partitions

Bars

above

the

baseline

indicate

that

k-way

partition

is

faster

than

recursive

bisection

Multilevel

Recursive

Bisection

Multilevel

k-way

Partition

Matrix

AUTO

FLAP

PWT

ROTOR

TORSO

WAVE

CANT

4365 6317 9092 4607

TROLL

BBMAT

1388 2221 3389 1122

828 1328 2157 726

2428 3996 5906 2362

Table

The

edge-cuts

produced

by

the

multilevel

recursive

bisection

and

multilevel

k-way

partition

particular

for

the

twohighwaynetworks

-LRB-

and

-RRB-

MLkP

does

up

to

better

than

MLB

For

the

graphs

that

correspond

to

finite

element

meshes

-LRB-

AUTO

ROTOR

TORSO

and

WAVE

-RRB-

MLkP

does

slightly

-LRB-

up

to

-RRB-

and

consistently

better

than

MLB

For

the

graphs

that

correspond

to

coefficient

matrices

of

finite

element

applications

with

multiple

degrees

of

freedom

-LRB-

CANT

FLAP

TROLL

and

-RRB-

MLkP

and

MLB

perform

quite

similarly

-LRB-

within

of

each

other

-RRB-

The

only

cases

that

MLkP

performs

significantly

worse

than

MLB

is

for

BBMAT

and

for

which

MLkP

performs

up

to

worse

than

MLB

As

discussed

in

Section

these

graph

correspond

to

higher

order

methods

and

the

HEM

coarsening

scheme

does

not

lead

to

good

coarsenings

However

for

these

matrices

both

HEM

and

GKLR

perform

substantially

better

than

HEM

and

GR

respectively

In

particular

for

BBMAT

if

we

use

HEM

and

GKLR

the

edge-cut

for

partition

produced

by

MLkP

is

worse

by

only

than

that

of

MLB

whereas

for

and

partition

it

is

better

by

Similar

improvements

are

achieved

for

as

well

In

summary

for

large

class

of

graphs

MLkP

produces

partitions

that

are

equally

good

or

even

better

than

those

produced

by

the

MLB

algorithm

Figure

shows

the

amount

of

time

required

by

the

MLB

algorithm

relative

to

the

time

required

by

the

MLkP

algorithm

for

partitions

From

this

graph

we

see

that

MLkP

is

usually

two

to

four

times

faster

than

MLB

In

particular

for

moderately

size

problems

MLkP

is

over

three

times

faster

while

for

the

few

larger

problems

MLkP

is

over

four

times

faster

The

actual

run

times

for

a

partition

is

shown

in

Table

From

this

table

we

see

that

all

problems

were

partitioned

in

under

seconds

In

fact

for

the

larger

problems

reading

in

the

matrix

takes

twice

the

amount

of

time

that

is

taken

by

our

k-way

partitioning

algorithm

The

graph

partitioning

package

Chaco

-LSB-

-RSB-

implements

its

own

multilevel

recursive

partitioning

algorithm

that

is

modeled

after

the

algorithm

by

Hendrickson

and

Leland

-LSB-

-RSB-

This

algorithm

uses

random

matching

during

coarsening

spectral

bisection

for

partitioning

the

coarse

graph

and

Kernighan-Lin

refinement

every

other

coarsening

level

during

the

uncoarsening

phase

In

addition

to

recursive

bisection

Chaco

also

implements

recursive

quadrisection

and

octasection

Chaco

utilizes

spectral

partitioning

methods

to

perform

the

initial

partition

of

the

coarsest

graph

In

particular

spectral

quadrisection

and

octasection

directly

divide

the

graph

into

four

and

eight

pieces

respectively

-LSB-

-RSB-

Their

Kernighan-Lin

refinement

algorithm

is

the

generalization

of

the

refinement

algorithm

to

handle

both

and

refinement

For

example

in

the

case

of

refinement

their

algorithm

uses

priority

queues

for

all

the

different

types

of

moves

This

algorithm

is

significantly

slower

than

either

the

greedy

or

global

Kernighan-Lin

refinement

algorithms

used

by

our

multilevel

k-way

partition

In

fact

Chaco

's

recursive

octasection

is

not

any

faster

than

its

recursive

bisection

Figure

shows

the

relative

performance

of

our

multilevel

k-way

partitioning

algorithm

compared

to

Chaco

's

multilevel

recursive

octasection

for

an

and

partitions

Note

that

for

an

partition

no

recursive

partitioning

is

performed

while

for

partition

only

one

level

of

recursion

is

performed

From

this

figure

we

can

see

that

for

partition

Chaco

's

multilevel

octasection

algorithm

performs

better

than

MLkP

for

out

of

the

problems

However

only

for

out

of

these

problems

Chaco

's

multilevel

octasection

algorithm

performs

substantially

better

-LRB-

in

the

range

of

to

-RRB-

These

problems

are

BBMAT

and

for

which

HEM

does

not

provide

a

very

good

coarsening

hence

their

partitions

are

greatly

improved

by

the

more

powerful

refinement

algorithm

used

by

Chaco

In

the

case

of

a

partition

MLkP

produces

better

partitions

than

Chaco

's

recursive

octasection

for

our

of

the

problems

For

some

graphs

the

improvement

achieved

by

MLkP

is

up

to

However

Chaco

's

more

powerful

refinement

algorithm

still

produces

better

partitions

for

BBMAT

and

Figure

shows

the

relative

run

time

of

Chaco

's

multilevel

recursive

octasection

compared

to

our

multilevel

k-way

partition

algorithm

From

this

figure

we

see

that

our

algorithm

is

considerably

faster

particularly

for

partition

For

most

graph

MLkP

computes

a

partition

to

times

faster

than

Chaco

In

summary

for

most

graphs

MLkP

produces

better

or

comparable

partitions

than

Chaco

's

multilevel

recursive

octasection

in

significantly

less

time

This

indicates

that

for

most

graphs

greedy

refinement

coupled

with

HEM

and

a

good

initial

k-way

partition

is

much

better

choice

than

performing

octasections

and

then

refining

them

using

expensive

Kernighan-Lin

refinement

Matrix

Multilevel

Recursive

Bisection

Multilevel

k-way

Partition

AUTO

FLAP

PWT

ROTOR

TORSO

WAVE

CANT

TROLL

BBMAT

Table

The

time

required

to

find

a

partition

by

the

multilevel

recursive

bisection

and

multilevel

k-way

partition

All

times

are

in

seconds

Quality

of

Multilevel

k-way

Partition

vs

Chaco

's

Multilevel

Recursive

Octasection

parts

parts

Chaco

's

Multilevel

Recursive

Octasection

-LRB-

baseline

-RRB-

Figure

Quality

of

the

partitions

produced

by

multilevel

k-way

partition

and

Chaco

's

multilevel

recursive

octasection

algorithms

The

multilevel

k-way

partition

algorithm

uses

HEM

during

coarsening

and

GR

during

refinement

For

each

matrix

the

ratio

of

the

edge-cut

of

the

k-way

partition

algorithm

to

that

of

the

recursive

octasection

algorithm

is

plotted

for

and

partitions

Bars

under

the

baseline

indicate

that

k-way

partition

performs

better

than

recursive

octasection

Run

Time

of

Chaco

's

Multilevel

Recursive

Octasection

vs

Multilevel

k-way

Partition

parts

parts

Multilevel

k-way

Partition

-LRB-

baseline

-RRB-

Figure

Run

time

of

the

multilevel

k-way

partition

and

Chaco

's

multilevel

recursive

octasection

algorithms

The

multilevel

k-way

partition

algorithm

uses

HEM

during

coarsening

and

GR

during

refinement

For

each

matrix

the

ratio

of

the

run

time

of

recursive

octasection

to

that

of

the

k-way

partition

algorithm

is

plotted

for

partitions

Bars

above

the

baseline

indicate

that

k-way

partition

is

faster

than

recursive

octasection

Conclusion

and

Direction

for

Future

Research

Our

experiments

have

shown

that

the

multilevel

k-way

partition

algorithm

is

able

to

reduce

the

serial

complexity

of

recursive

bisection

based

k-way

partitioning

scheme

by

a

factor

of

O.log

k

even

for

moderately

size

problems

Furthermore

the

quality

of

the

partitions

produced

by

the

k-way

partitioning

algorithm

is

comparable

or

better

to

that

produced

by

the

multilevel

recursive

bisection

algorithm

for

a

wide

range

of

graphs

In

all

of

our

experiments

we

tried

to

minimize

the

edge-cut

However

for

many

applications

minimizing

other

quantities

such

as

the

number

of

vertices

at

the

boundary

of

the

parts

the

number

of

adjacent

parts

and

the

shape

of

the

parts

may

be

desirable

This

can

be

accomplished

by

modifying

the

refinement

algorithm

to

take

into

account

the

different

objective

function

However

even

though

recursive

bisection

algorithms

can

also

be

modified

to

use

objective

functions

other

than

minimizing

edge-cut

the

multilevel

k-way

partitioning

algorithm

provides

the

ideal

framework

for

this

task

This

is

because

-LRB-

a

-RRB-

the

k-way

refinement

allows

to

take

into

account

global

objective

functions

such

as

minimizing

the

maximum

number

of

boundary

vertices

in

any

part

and

-LRB-

b

-RRB-

k-way

refinement

provides

greater

freedom

for

minimizing

the

objective

function

References

-LSB-

-RSB-

Stephen

T.

Barnard

and

Horst

D.

Simon

A

fast

multilevel

implementation

of

recursive

spectral

bisection

for

partitioning

unstructured

problems

In

Proceedings

of

the

sixth

SIAM

conference

on

Parallel

Processing

for

Scientific

Computing

pages

-LSB-

-RSB-

T.

Bui

and

C.

Jones

A

heuristic

for

reducing

fill

in

sparse

matrix

factorization

In

SIAM

Conf

Parallel

Processing

for

Scientific

Computing

pages

-LSB-

-RSB-

Chung-Kuan

Cheng

and

Yen-Chuen

A.

Wei

An

improved

two-way

partitioning

algorithm

with

stable

performance

IEEE

Transactions

on

Computer

Aided

Design

-LRB-

-RRB-

December

-LSB-

-RSB-

J.

Garbers

H.

J.

Promel

and

A.

Steger

Finding

clusters

in

VLSI

circuits

In

Proceedings

of

IEEE

International

Conference

on

Computer

Aided

Design

pages

-LSB-

-RSB-

Lars

Hagen

and

Andrew

Kahng

Fast

spectral

methods

for

ratio

cut

partitioning

and

clustering

In

Proceedings

of

IEEE

International

Conference

on

Computer

Aided

Design

pages

-LSB-

-RSB-

Lars

Hagen

and

Andrew

Kahng

A

new

approach

to

effective

circuit

clustering

In

Proceedings

of

IEEE

International

Conference

on

Computer

Aided

Design

pages

-LSB-

-RSB-

M.

T.

Heath

and

P.

Raghavan

A

Cartesian

nested

dissection

algorithm

Technical

Report

Department

of

Computer

Science

University

of

Illinois

Urbana

IL

To

appear

in

SIAM

Journal

on

Matrix

Analysis

and

Applications

-LSB-

-RSB-

M.

T.

Heath

and

Padma

Raghavan

A

Cartesian

parallel

nested

dissection

algorithm

Technical

Report

Department

of

Computer

Science

University

of

Illinois

Urbana

IL

To

appear

in

SIAM

Journal

on

Matrix

Analysis

and

Applications

-LSB-

-RSB-

Bruce

Hendrickson

and

Rober

Leland

An

improved

spectral

graph

partitioning

algorithm

for

mapping

parallel

computations

Technical

Report

Sandia

National

Laboratories

-LSB-

-RSB-

Bruce

Hendrickson

and

Rober

Leland

The

chaco

user

's

guide

version

Technical

Report

Sandia

National

Laboratories

-LSB-

-RSB-

Bruce

Hendrickson

and

Rober

Leland

A

multilevel

algorithm

for

partitioning

graphs

Technical

Report

Sandia

National

Laboratories

-LSB-

-RSB-

G.

Karypis

and

V.

Kumar

Analysis

of

multilevel

graph

partitioning

Technical

Report

TR

Department

of

Computer

Science

University

of

Minnesota

Also

available

on

WWW

at

URL

analysis.ps

-LSB-

-RSB-

G.

Karypis

and

V.

Kumar

A

fast

and

high

quality

multilevel

scheme

for

partitioning

irregular

graphs

Technical

Report

TR

Department

of

Computer

Science

University

of

Minnesota

Also

available

on

WWW

at

URL

serial.ps

A

short

version

appears

in

Intl.

Conf

on

Parallel

Processing

-LSB-

-RSB-

G.

Karypis

and

V.

Kumar

METIS

Unstructured

graph

partitioning

and

sparse

matrix

ordering

system

Technical

report

Department

of

Computer

Science

University

of

Minnesota

Available

on

the

WWW

at

URL

-LSB-

-RSB-

B.

W.

Kernighan

and

S.

Lin

An

efficient

heuristic

procedure

for

partitioning

graphs

The

Bell

System

Technical

Journal

-LSB-

-RSB-

Vipin

Kumar

Ananth

Grama

Anshul

Gupta

and

George

Karypis

Introduction

to

Parallel

Computing

Design

and

Analysis

of

Algorithms

Benjamin/Cummings

Publishing

Company

Redwood

City

CA

-LSB-

-RSB-

Gary

L.

Miller

Shang-Hua

Teng

W.

Thurston

and

Stephen

A.

Vavasis

Automatic

mesh

partitioning

In

A.

George

John

R.

Gilbert

and

J.

W.-H

Liu

editors

Sparse

Matrix

Computations

Graph

Theory

Issues

and

Algorithms

-LRB-

An

IMA

Workshop

Volume

-RRB-

Springer-Verlag

New

York

NY

-LSB-

-RSB-

Gary

L.

Miller

Shang-Hua

Teng

and

Stephen

A.

Vavasis

A

unified

geometric

approach

to

graph

separators

In

Proceedings

of

Annual

Symposium

on

Foundations

of

Computer

Science

pages

-LSB-

-RSB-

B.

Nour-Omid

A.

Raefsky

and

G.

Lyzenga

Solving

finite

element

equations

on

concurrent

computers

In

A.

K.

Noor

editor

American

Soc

Mech

Eng

pages

-LSB-

-RSB-

R.

Ponnusamy

N.

Mansour

A.

Choudhary

and

G.

C.

Fox

Graph

contraction

and

physical

optimization

methods

a

quality-cost

tradeoff

for

mapping

data

on

parallel

computers

In

International

Conference

of

Supercomputing

-LSB-

-RSB-

Alex

Pothen

H.

D.

Simon

Lie

Wang

and

Stephen

T.

Bernard

Towards

a

fast

implementation

of

spectral

nested

dissection

In

Supercomputing

Proceedings

pages

-LSB-

-RSB-

Alex

Pothen

Horst

D.

Simon

and

Kang-Pu

Liou

Partitioning

sparse

matrices

with

eigenvectors

of

graphs

SIAM

Journal

of

Matrix

Analysis

and

Applications

-LRB-

-RRB-

-LSB-

-RSB-

P.

Raghavan

Lineand

plane

separators

Technical

Report

Department

of

Computer

Science

University

of

Illinois

Urbana

IL

February

-LSB-

-RSB-

Horst

D.

Simon

and

Shang-Hua

Teng

How

good

is

recursive

bisection

Technical

Report

NAS

Systems

Division

Moffet

Field

CA

graphpartitioning
kernighanlin heuristic
multilevel partitioning methods
parallel sparse matrix algorithms