Improved

Approximation

Algorithms

for

Multimessage

Multicasting

Teofilo

F.

Gonzalez

Department

of

Computer

Science

University

of

California

Santa

Barbara

CA

E-mail

teo@cs.ucsb.edu

Revised

August

Abstract

We

consider

Multimessage

Multicasting

over

the

n

processor

complete

-LRB-

or

fully

connected

-RRB-

static

network

-LRB-

MMC

-RRB-

We

present

several

fast

approximation

algorithms

with

improved

approximation

bounds

for

problem

instances

with

small

fan-out

-LRB-

maximum

number

of

processors

receiving

any

given

message

-RRB-

but

arbitrary

degree

d

where

d

is

the

maximum

number

of

messages

that

each

processor

may

send

-LRB-

receive

-RRB-

These

problem

instances

are

the

ones

that

arise

in

practice

since

the

fan-out

restriction

is

imposed

by

the

applications

and

the

number

of

processors

available

in

commercial

systems

Our

algorithms

are

centralized

and

require

all

the

communication

information

ahead

of

time

Applications

where

this

information

is

available

include

iterative

algorithms

for

solving

linear

equations

and

most

dynamic

programming

procedures

The

Meiko

machine

and

in

general

computer

systems

with

processors

communicating

via

dynamic

permutation

networks

whose

basic

switches

can

act

as

data

replicators

-LRB-

e.g.

n

by

n

Benes

network

with

by

switches

that

can

also

act

as

data

replicators

-RRB-

will

also

benefit

from

our

results

at

the

expense

of

doubling

the

number

of

communication

phases

Introduction

The

MMC

Problem

The

Multimessage

Multicasting

problem

over

the

n

processor

static

network

-LRB-

MMC

-RRB-

consists

of

finding

a

communication

schedule

with

least

total

communication

time

for

multicasting

-LRB-

transmitting

-RRB-

any

given

set

of

messages

Specifically

there

are

n

processors

P

Png

interconnected

via

a

network

N

Each

processor

is

executing

processes

and

these

processes

are

exchanging

messages

that

must

be

routed

through

the

links

of

N

Our

objective

is

to

determine

when

each

of

these

messages

is

to

be

transmitted

so

that

all

the

Preliminary

versions

of

the

results

presented

in

this

paper

appear

in

the

Proceedings

of

the

Third

International

Workshop

on

Parallel

Algorithms

for

Irregularly

Structured

Problems

-LRB-

Irregular

-RRB-

and

in

the

Proceedings

of

the

Ninth

International

Conference

on

Parallel

and

Distributed

Computing

Systems

-LRB-

PDCS

-RRB-

communications

can

be

carried

in

the

least

total

amount

of

time

Our

introduction

is

a

condensed

version

of

the

one

in

-LSB-

-RSB-

which

includes

a

complete

justification

for

the

MMC

problem

as

well

as

motivations

applications

and

examples

Routing

in

the

complete

static

network

-LRB-

there

are

bidirectional

links

between

every

pair

of

processors

-RRB-

is

the

simplest

and

most

flexible

when

compared

to

other

static

and

dynamic

networks

Multimessage

Multicasting

for

dynamic

networks

that

can

realize

all

permutations

and

replicate

data

-LRB-

e.g.

n

by

n

Benes

network

based

on

by

switches

that

can

also

act

as

data

replicators

-RRB-

is

not

too

different

in

the

sense

that

the

number

of

communication

phases

for

these

dynamic

networks

can

be

shown

to

be

twice

of

that

in

the

complete

network

This

is

accomplished

by

translating

each

communication

phase

for

the

complete

network

into

two

communication

phases

for

these

dynamic

networks

The

first

phase

replicates

data

and

transmits

it

to

other

processors

and

the

second

phase

distributes

data

to

the

appropriate

processors

-LRB-

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

-RRB-

The

IBM

machine

-LSB-

-RSB-

and

the

Meiko

machine

use

Benes

networks

for

processor

interconnection

The

two

stage

translation

process

can

also

be

used

in

the

Meiko

computer

system

and

any

multimessage

multicasting

schedule

can

be

realized

by

using

basic

synchronization

primitives

This

two

step

translation

process

can

be

reduced

to

one

step

by

increasing

the

number

of

network

switches

about

-LRB-

-LSB-

-RSB-

-LSB-

-RSB-

and

-LSB-

-RSB-

-RRB-

In

what

follows

we

concentrate

on

the

MMC

problem

because

it

has

a

simple

structure

and

as

we

mentioned

before

results

for

this

network

can

be

easily

translated

to

other

dynamic

networks

Let

us

formally

define

our

problem

Processor

Pi

needs

to

multicast

si

messages

each

requiring

one

time

unit

to

reach

any

of

its

destinations

The

jth

message

of

processor

Pi

has

to

be

sent

to

the

set

of

processors

Ti

j

P

fPig

Let

ri

be

the

number

of

distinct

messages

that

processor

Pi

should

receive

We

define

the

degree

of

a

problem

instance

as

d

maxfsi

rig

i.e.

the

maximum

number

of

messages

that

any

processor

sends

or

receives

We

define

the

fan-out

of

a

problem

instance

as

k

maxf

j

Ti

j

j

g

i.e.

the

maximum

number

of

different

processors

that

must

receive

any

given

message

Consider

the

following

example

Example

There

are

three

processors

-LRB-

n

-RRB-

Processors

and

must

transmit

and

messages

respectively

-LRB-

i.e.

and

-RRB-

The

destinations

of

these

messages

in

given

in

Table

For

this

example

and

Table

Destination

of

messages

for

Example

Ti

j

j

i

It

is

convenient

to

represent

problem

instances

by

directed

multigraphs

Each

processor

Pi

is

represented

by

the

vertex

labeled

i

and

there

is

a

directed

edge

-LRB-

or

branch

-RRB-

from

vertex

i

to

vertex

j

for

each

message

that

processor

Pi

needs

to

transmit

to

processor

Pj

The

jTi

jj

Figure

Directed

Multigraph

Representation

for

Example

The

thin

line

joins

all

the

edges

-LRB-

branches

-RRB-

in

the

same

bundle

directed

edges

or

branches

associated

with

each

message

are

bundled

together

The

problem

instance

given

in

Example

is

depicted

in

Figure

as

a

directed

multigraph

The

communications

allowed

in

our

complete

network

satisfy

the

following

two

restrictions

During

each

time

unit

each

processor

may

transmit

one

message

but

such

message

can

be

multicasted

to

a

set

of

processors

and

During

each

time

unit

each

processor

may

receive

at

most

one

message

Our

communication

model

allows

us

to

transmit

any

of

the

messages

in

one

or

more

stages

I.e.

each

set

Ti

j

can

be

partitioned

into

subsets

and

each

of

these

subsets

is

transmitted

at

a

different

time

This

added

routing

flexibility

reduces

the

total

communication

time

A

communication

mode

C

is

a

collection

of

subsets

of

branches

from

a

subset

of

the

bundles

that

obey

the

following

communications

rules

imposed

by

our

network

Branches

may

emanate

from

at

most

one

of

the

bundles

in

each

processor

and

All

of

the

branches

end

at

different

processors

A

communication

schedule

S

for

a

problem

instance

I

is

a

sequence

of

communication

modes

such

that

each

branch

in

each

message

is

in

exactly

one

of

the

communication

modes

The

total

communication

time

is

the

latest

time

at

which

there

is

a

communication

which

is

equal

to

the

number

of

communication

modes

in

schedule

S

and

our

problem

consists

of

constructing

a

communication

schedule

with

least

total

communication

time

From

the

communication

rules

we

know

that

a

degree

d

problem

instance

has

at

least

one

processor

that

requires

d

time

units

to

send

and/or

receive

all

its

messages

Therefore

d

is

a

trivial

lower

bound

for

the

total

communication

time

A

communication

schedule

with

total

communication

time

equal

to

four

for

the

problem

instance

given

in

Example

is

given

in

Table

To

simplify

the

analysis

of

our

approximation

bound

we

use

this

simple

measure

Another

reason

is

that

load

balancing

-LRB-

placement

-RRB-

and

multimessage

multicasting

-LRB-

routing

-RRB-

are

normally

separate

procedures

and

load

balancing

must

use

a

simple

objective

function

in

terms

of

the

problem

instance

it

generates

that

somehow

represents

the

final

communication

time

for

the

particular

placement

and

some

reasonable

routing

procedure

Using

our

multigraph

representation

one

can

visualize

the

MMC

problem

as

a

generalized

edge

coloring

directed

multigraph

-LRB-

GECG

-RRB-

problem

This

problem

consists

of

coloring

the

edges

with

the

least

number

of

colors

-LRB-

positive

integers

-RRB-

so

that

the

communication

rules

-LRB-

now

Table

Communication

Schedule

for

Example

Time

-LRB-

-RRB-

Time

Time

Time

restated

in

the

appropriate

format

-RRB-

imposed

by

our

network

are

satisfied

-LRB-

-RRB-

every

pair

of

edges

from

different

bundles

emanating

from

the

same

vertex

must

be

colored

differently

and

-LRB-

-RRB-

all

incoming

edges

to

each

vertex

must

be

colored

differently

The

colors

correspond

to

different

time

periods

In

what

follows

we

corrupt

our

notation

by

using

interchangeably

colors

and

time

periods

vertices

and

processors

and

bundles

branches

or

edges

and

messages

Previous

Work

New

Results

and

Applications

Gonzalez

-LSB-

-RSB-

developed

an

efficient

algorithm

to

construct

for

any

degree

d

problem

instance

a

communication

schedule

with

total

communication

time

at

most

and

presented

problem

instances

for

which

this

upper

bound

on

the

communication

time

is

best

possible

i.e.

the

upper

bound

is

also

a

lower

bound

One

observes

that

the

lower

bound

applies

when

the

fan-out

is

huge

and

thus

the

number

of

processors

is

also

huge

Since

this

environment

is

not

likely

to

arise

in

the

near

future

we

turn

our

attention

in

subsequent

sections

to

important

subproblems

likely

to

arise

in

practice

The

basic

multicasting

problem

-LRB-

BMC

-RRB-

consists

of

all

the

degree

d

MMC

problem

instances

and

can

be

trivially

solved

by

sending

all

the

messages

at

time

zero

There

will

be

no

conflicts

because

d

i.e.

each

processor

must

send

at

most

one

message

and

receive

at

most

one

message

When

the

processors

are

connected

via

a

dynamic

network

whose

basic

switches

allow

data

replication

the

basic

multicasting

problem

can

be

solved

in

two

stages

the

data

replication

step

followed

by

the

data

distribution

step

-LRB-

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

-RRB-

This

two

stage

process

can

be

used

in

the

MEIKO

machine

-LSB-

-RSB-

Gonzalez

-LSB-

-RSB-

also

considered

the

case

when

each

message

has

fixed

fan-out

k

When

k

-LRB-

multimessage

unicasting

problem

MUC

-RRB-

Gonzalez

showed

that

the

problem

corresponds

to

the

Makespan

Openshop

Preemptive

Scheduling

problem

which

can

be

solved

in

polynomial

time

and

each

degree

d

problem

instance

has

a

d

color

optimal

coloration

The

interesting

point

is

that

each

communication

mode

translates

into

a

single

communication

step

for

processors

interconnected

via

permutation

networks

-LRB-

e.g.

Benes

Network

Meiko

etc.

-RRB-

because

in

these

networks

all

possible

one-to-one

communications

can

be

performed

in

one

communication

step

It

is

not

surprising

that

several

authors

have

studied

the

MUC

problem

as

well

as

several

interesting

variations

for

which

NP-completeness

has

been

established

subproblems

have

been

shown

to

be

polynomially

solvable

and

approximation

algorithms

and

heuristics

have

been

developed

Coffman

Garey

Johnson

and

LaPaugh

-LSB-

-RSB-

studied

a

version

the

multimessage

unicasting

problem

when

messages

have

different

lengths

each

processor

can

send

-LRB-

receive

-RRB-

ff

-LRB-

Pi

-RRB-

-LRB-

-LRB-

Pi

-RRB-

-RRB-

messages

simultaneously

and

messages

are

transmitted

without

interruption

-LRB-

non-preemptive

mode

-RRB-

Whitehead

-LSB-

-RSB-

considered

the

case

when

messages

can

be

sent

indirectly

The

preemptive

version

of

these

problems

as

well

as

other

generalizations

were

studied

by

Choi

and

Hakimi

-LRB-

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

-RRB-

Hajek

and

Sasaki

-LSB-

-RSB-

Gopal

Bongiovanni

Bonuccelli

Tang

and

Wong

-LSB-

-RSB-

Some

of

these

papers

considered

the

case

when

the

input

and

output

units

are

interchangeable

i.e.

each

processor

can

be

involved

in

at

most

-LRB-

Pi

-RRB-

message

transmissions

-LRB-

sending

and/or

receiving

-RRB-

Rivera-Vega

Varadarajan

and

Navathe

-LSB-

-RSB-

studied

the

file

transferring

problem

a

version

the

multimessage

unicasting

problem

for

the

complete

network

when

every

vertex

can

send

-LRB-

receive

-RRB-

as

many

messages

as

the

number

of

outgoing

-LRB-

incoming

-RRB-

links

Our

MMC

problem

is

closest

to

the

communication

model

in

the

Meiko

machine

and

it

involves

multicasting

rather

than

just

unicasting

The

MMC

problem

is

significantly

harder

than

the

MUC

Gonzalez

-LSB-

-RSB-

showed

that

even

when

k

the

decision

version

of

the

MMC

problem

is

NP-complete

He

also

developed

an

algorithm

to

construct

a

communication

schedule

with

total

communication

time

for

the

case

when

the

fan-out

is

two

i.e.

k

Gonzalez

-LSB-

-RSB-

developed

an

O

-LRB-

q

d

e

-RRB-

time

algorithm

where

e

nd

-LRB-

the

input

size

-RRB-

to

construct

for

problem

instances

of

degree

d

a

communication

schedule

with

total

communication

time

qd

k

-LRB-

d

-RRB-

where

q

is

the

maximum

number

of

colors

that

can

be

used

to

color

each

bundle

and

k

q

We

present

several

fast

approximation

algorithms

with

improved

approximation

bounds

for

problems

instances

with

any

arbitrary

degree

d

but

small

fan-out

-LRB-

maximum

number

of

processors

that

may

receive

a

given

message

-RRB-

where

d

is

the

maximum

number

of

messages

that

each

processor

may

send

-LRB-

receive

-RRB-

These

problem

instances

are

the

ones

that

arise

in

practice

since

the

fan-out

restriction

is

imposed

by

the

applications

and

the

number

of

processors

available

in

commercial

systems

The

MMC

problem

arises

when

solving

sparse

systems

of

linear

equations

via

iterative

methods

-LRB-

e.g.

a

Jacobi-like

procedure

-RRB-

and

most

dynamic

programming

procedures

Improved

Approximation

Algorithm

All

of

our

approximation

algorithms

generate

a

coloration

that

used

at

most

d

colors

The

value

of

constant

for

the

different

methods

we

have

developed

and

for

different

values

for

k

is

given

in

Table

The

methods

labeled

simple

are

for

the

method

described

in

-LSB-

-RSB-

The

involved

-LRB-

-RRB-

is

the

method

discussed

in

this

section

and

the

one

labeled

With

Matching

is

described

in

the

next

section

We

briefly

discuss

in

Section

the

remaining

methods

The

input

to

our

algorithm

is

a

directed

multigraph

G

with

bundled

edges

integers

h

and

l

that

restrict

the

color

selection

process

and

it

is

assumed

that

-LRB-

k

l

h

-RRB-

Note

that

k

and

d

can

be

extracted

from

the

multigraph

The

algorithm

colors

the

edges

emanating

out

of

then

and

so

on

until

Pj

Then

the

algorithm

will

color

the

edges

emanating

out

of

Pj

Each

of

these

branches

leads

to

a

processor

with

at

most

d

other

edges

incident

to

it

some

of

which

have

already

been

colored

These

colors

are

called

tj

with

respect

to

a

given

branch

emanating

from

Pj

When

considering

processor

Pj

a

tj

color

with

a

special

property

is

selected

from

each

bundle

and

then

such

color

is

used

to

color

as

many

of

the

branches

of

the

bundle

The

remaining

uncolored

branches

are

colored

with

a

second

color

whose

existence

is

guaranteed

by

setting

the

total

number

of

colors

available

to

an

appropriate

number

Before

we

present

our

algorithm

we

define

some

useful

terms

At

the

beginning

of

the

jth

iteration

the

algorithm

has

colored

all

the

branches

emanating

Table

Number

of

Colors

For

The

Different

Methods

Method

n

k

Simple

-LRB-

colors

-RRB-

Involved

-LRB-

-RRB-

With

Matching

Better

Bound

Simple

-LRB-

colors

-RRB-

Involved

-LRB-

-RRB-

Simple

-LRB-

colors

-RRB-

Simple

-LRB-

colors

-RRB-

from

processors

Pj

Let

us

define

the

following

terms

from

this

partial

coloration

For

i

k

let

Cbi

be

the

set

of

colors

that

are

tj

in

exactly

i

branches

of

bundle

b.

Let

cbi

jCbi

j

When

the

set

b

is

understood

we

will

use

ci

for

cbi

and

Ci

for

Cbi

Since

there

can

be

at

most

d

tj

colors

in

each

branch

and

there

are

at

most

k

branches

in

each

bundle

it

then

follows

that

Pki

iCbi

-LRB-

d

-RRB-

k

for

each

bundle

b

emanating

from

Pj

Clearly

all

the

branches

of

bundle

b

can

be

colored

with

any

of

the

colors

in

that

have

not

been

used

to

color

other

branches

emanating

from

Pj

Also

one

can

color

all

the

branches

of

bundle

b

with

two

colors

a

Cbi

and

b

Cbj

provided

that

colors

a

and

b

are

not

tj

in

the

same

branch

of

bundle

b

and

have

not

been

used

to

color

another

branch

emanating

from

processor

Pj

Just

after

coloring

a

subset

of

branches

of

a

bundle

emanating

from

processor

Pj

we

say

that

a

color

is

sj-free

if

such

color

has

not

yet

been

used

to

color

any

of

the

branches

emanating

from

processor

Pj

To

simplify

our

notation

we

define

the

expressions

L

and

R

as

follows

L

h

ld

h

-LRB-

d

-RRB-

and

R

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

Procedure

Coloring

is

defined

for

all

d

h

-LRB-

h

-RRB-

k

L

k

l

h

and

d

These

preconditions

might

give

the

feeling

that

there

are

a

large

number

of

cases

for

which

our

algorithm

is

not

defined

but

this

is

not

a

the

case

because

for

each

k

there

is

a

nonempty

set

of

h

and

l

values

for

which

it

is

defined

We

begin

by

establishing

in

Lemma

that

L

R

This

fact

will

be

used

to

partition

in

two

cases

the

set

of

values

for

which

our

algorithm

is

defined

Lemma

For

the

set

of

values

Procedure

Coloring

is

defined

L

R.

Proof

The

proof

of

this

lemma

is

in

Appendix

A

since

it

involves

simple

algebraic

manipulations

of

long

expressions

In

Table

we

define

equations

eq

-LRB-

-RRB-

eq

-LRB-

h

-RRB-

that

are

used

by

the

algorithm

and

are

necessary

for

the

correctness

proof

-LRB-

Theorem

-RRB-

Let

us

now

briefly

outline

our

Procedure

as

well

as

some

of

the

arguments

used

in

the

correctness

proof

When

coloring

the

bundles

emanating

out

of

processor

Pj

Procedure

Table

Equations

eq

-LRB-

-RRB-

eq

-LRB-

h

-RRB-

d

eq

-LRB-

-RRB-

for

j

h

Pji

ci

-LRB-

j

-RRB-

d

or

eq

-LRB-

j

-RRB-

Pli

ci

-LRB-

h

-RRB-

d

eq

-LRB-

h

-RRB-

Coloring

finds

the

smallest

integer

qb

such

that

equation

eq

-LRB-

qb

-RRB-

holds

Lemma

shows

that

at

least

one

of

such

equation

holds

for

each

bundle

b

Then

rb

is

defined

as

minfqb

hg

For

each

bundle

b

emanating

from

processor

Pj

an

s-free

color

from

Cbrb

is

selected

to

color

as

many

branches

in

bundle

b

as

possible

Lemma

can

be

used

to

show

that

one

such

colors

exist

The

integer

sb

is

defined

as

qb

if

qb

h

and

it

is

set

to

l

otherwise

The

remaining

uncolored

branches

of

each

bundle

b

are

colored

with

an

s-free

color

in

Cbsb

One

can

show

that

the

existence

of

such

color

from

Lemma

Procedure

Coloring

is

given

below

For

the

set

of

valid

inputs

defined

above

procedure

computes

the

maximum

number

of

colors

needed

-LRB-

-RRB-

and

a

coloration

for

G

with

at

most

colors

Procedure

Coloring

-LRB-

G

h

l

-RRB-

Note

that

k

d

L

and

R

can

be

easily

computed

from

G

Procedure

is

defined

for

d

h

-LRB-

h

-RRB-

k

L

k

l

h

and

d

case

R

k

d

-LRB-

k

h

-RRB-

-LRB-

k

h

-RRB-

h

L

k

R

-LRB-

-LRB-

-RRB-

h

d

-RRB-

l

-LRB-

d

-RRB-

k

-LRB-

d

-RRB-

-LRB-

d

-RRB-

h

d

-LRB-

l

-RRB-

endcase

The

correctness

of

our

procedure

will

be

established

in

Theorem

for

each

processor

Pj

do

for

each

bundle

b

emanating

from

processor

Pj

do

compute

Cbk

let

qb

be

the

smallest

integer

such

that

equation

eq

-LRB-

qb

-RRB-

holds

let

rb

min

fqb

hg

let

sb

qb

if

qb

h

and

sb

l

otherwise

endfor

Color

a

subset

of

edges

emanating

from

each

bundle

of

Pj

for

each

uncolored

bundle

b

of

Pj

do

for-loop-a

color

as

many

branches

of

bundle

b

with

one

sj-free

color

in

Cbrb

Color

the

remaining

uncolored

edges

emanating

from

Pj

for

each

partially

colored

bundle

b

of

Pj

do

for-loop-b

color

all

uncolored

branches

of

b

with

an

sj-free

color

in

Cbsb

endfor

end

of

Procedure

Coloring

To

establish

that

Procedure

Coloration

generates

a

valid

coloration

for

the

cases

it

is

defined

is

difficult

Theorem

establishes

that

our

algorithm

generates

valid

colorations

for

all

valid

inputs

and

that

it

takes

O

-LRB-

ed

-RRB-

where

e

is

the

total

number

of

edges

The

proof

of

this

theorem

is

based

on

Lemmas

and

Lemma

established

that

at

least

one

of

the

equations

eq

-LRB-

j

-RRB-

holds

for

each

bundle

emanating

out

of

processor

Pj

and

Lemma

is

used

to

show

that

one

color

from

each

bundle

can

be

selected

to

color

a

subset

of

its

branches

These

lemmas

are

then

used

to

show

that

a

second

color

exists

to

color

the

remaining

branches

of

each

partially

colored

bundle

Lemma

is

used

in

the

proof

of

Lemmas

and

and

requires

Lemma

The

purely

mechanical

proofs

-LRB-

or

parts

of

proofs

-RRB-

appear

in

Appendix

A.

Mathematica

programs

-LRB-

and

their

outputs

-RRB-

for

all

of

these

mechanical

proofs

are

given

in

-LSB-

-RSB-

Lemma

For

the

set

of

values

Procedure

Coloring

is

defined

R

-LRB-

h

-RRB-

d

h

d

Proof

The

proof

of

this

lemma

is

in

Appendix

A

since

it

involves

simple

algebraic

manipulations

of

long

expressions

Lemma

The

value

for

defined

by

Procedure

Coloration

is

greater

than

or

equal

to

-LRB-

h

-RRB-

d

Proof

The

proof

of

this

lemma

is

in

Appendix

A

since

it

involves

simple

algebraic

manipulations

of

long

expressions

Lemma

At

the

beginning

of

the

jth

iteration

of

Procedure

Coloring

each

bundle

b

emanating

from

processor

Pj

satisfies

Phi

cbi

d.

Proof

Suppose

not

Suppose

that

there

is

a

bundle

b

for

which

Phi

cbi

d.

Let

bundle

b

emanating

from

processor

Pj

be

a

counter-example

to

the

lemma

with

the

least

value

for

Phi

cbi

In

case

of

ties

select

the

bundle

b

emanating

from

Pj

with

the

largest

value

for

If

ties

persist

then

select

any

bundle

with

the

two

properties

given

above

In

what

follows

we

drop

the

superscript

b

since

b

is

fixed

If

Phi

ci

one

can

easily

find

another

counter-example

with

smaller

Phi

ci

or

one

with

the

same

Phi

ci

but

larger

value

for

In

either

case

we

contradict

the

properties

of

our

counter-example

So

we

can

assume

without

loss

of

generality

that

Phi

ci

Let

x

Phi

ci

d

If

x

then

j

is

set

to

zero

otherwise

j

is

set

to

the

largest

value

in

-LSB-

h

-RSB-

such

that

cj

From

Lemma

we

know

that

-LRB-

h

-RRB-

d

and

since

h

and

d

we

know

that

-LRB-

h

-RRB-

d

d

Since

the

remaining

tj

colors

must

be

in

Ch

Ck

it

then

follows

that

Pki

i

ci

j

-LRB-

x

-RRB-

-LRB-

h

-RRB-

Substituting

x

Phi

ci

d

in

the

above

inequality

we

know

that

Pki

i

ci

j

-LRB-

-LRB-

d

-RRB-

-RRB-

-LRB-

h

-RRB-

To

complete

the

proof

of

the

Lemma

we

need

to

show

that

the

above

expression

is

greater

than

k

-LRB-

d

-RRB-

which

contradicts

that

fact

that

Pki

i

ci

k

-LRB-

d

-RRB-

Since

the

remaining

part

of

the

proof

is

purely

mechanical

it

appears

in

Appendix

A.

Lemma

At

the

beginning

of

the

jth

iteration

of

Procedure

Coloring

each

bundle

b

emanating

from

processor

Pj

satisfies

at

least

one

of

the

inequalities

eq

-LRB-

j

-RRB-

for

j

h

holds

Proof

Suppose

not

Suppose

that

there

is

a

bundle

b

for

which

all

the

above

inequalities

do

not

hold

i.e.

d

Pji

cbi

-LRB-

j

-RRB-

d

for

all

j

h

and

Pli

cbi

-LRB-

h

-RRB-

d

Let

bundle

b

emanating

from

processor

Pj

be

a

counter-example

to

the

lemma

with

the

least

value

for

Pli

ci

In

case

of

ties

select

a

bundle

b

emanating

from

Pj

with

the

least

value

for

Pli

ci

that

is

largest

in

lexicographic

order

I.e.

has

the

largest

value

in

case

of

ties

is

the

largest

value

in

case

of

ties

is

the

largest

value

in

case

of

ties

and

so

on

Since

b

is

fixed

in

what

follows

we

drop

the

superscript

b

We

define

the

vector

-LRB-

dk

-RRB-

as

follows

d

d

d

d

dh

d

dh

dh

dh

dl

dl

-LRB-

-LRB-

h

-RRB-

d

-RRB-

dl

and

dk

Note

that

by

Lemma

we

know

that

dl

The

subvector

-LRB-

ch

-RRB-

is

either

the

subvector

-LRB-

dh

-RRB-

or

it

is

such

that

ci

di

for

all

i

f

h

cf

df

and

cf

ch

are

zero

except

possibly

for

one

cj

such

that

j

-LSB-

f

j

h

-RSB-

Note

that

if

this

is

not

the

case

then

either

the

problem

instance

satisfies

one

of

the

inequalities

or

it

does

not

satisfy

any

of

the

inequalities

but

either

it

is

not

one

with

least

Pli

ci

or

it

is

one

with

least

Pli

ci

but

not

the

largest

in

lexicographic

order

In

all

cases

we

contradict

the

properties

of

the

bundle

b

selected

By

definition

Pki

i

ci

k

-LRB-

d

-RRB-

We

now

establish

a

contradiction

by

showing

that

Pki

i

ci

k

-LRB-

d

-RRB-

It

is

simple

to

see

that

Pki

i

ci

Pki

i

di

From

the

definition

of

the

D

vector

and

-LRB-

h

-RRB-

d

-LRB-

Lemma

-RRB-

we

know

that

Pki

i

di

-LRB-

d

-RRB-

-LRB-

h

-RRB-

-LRB-

-LRB-

-LRB-

h

-RRB-

d

-RRB-

-RRB-

-LRB-

l

-RRB-

To

complete

the

proof

of

the

Lemma

we

need

to

show

that

the

above

expression

is

greater

than

k

-LRB-

d

-RRB-

which

contradicts

that

fact

that

Pki

i

ci

k

-LRB-

d

-RRB-

Since

the

remaining

part

of

the

proof

is

purely

mechanical

it

appears

in

Appendix

A.

Theorem

Procedure

Coloring

generates

a

communication

schedule

with

total

communication

equal

to

the

value

of

computed

by

the

algorithm

for

every

instance

for

which

the

Procedure

is

defined

The

time

complexity

of

the

procedure

is

O

-LRB-

ed

-RRB-

where

e

is

the

total

number

of

edges

Proof

First

we

prove

that

Procedure

Coloration

colors

all

the

edges

in

the

multigraph

with

colors

where

is

determined

by

the

algorithm

Then

we

establish

the

time

complexity

bound

Consider

now

the

iteration

for

Pj

for

any

j

n.

By

Lemma

we

know

that

at

least

one

of

the

equations

eq

-LRB-

i

-RRB-

for

i

h

holds

for

each

bundle

emanating

from

Pj

Therefore

all

the

qb

values

are

integers

in

the

range

-LSB-

h

-RSB-

and

all

the

rb

values

are

integers

in

the

range

-LSB-

h

-RSB-

We

now

claim

that

one

can

color

a

nonempty

subset

of

branches

from

each

bundle

with

a

distinct

s-free

color

in

Cbqj

We

prove

this

by

showing

that

Prbi

cbi

d

since

this

fact

guarantees

that

one

unique

s-free

color

in

Cbqj

for

each

bundle

b

can

be

selected

in

for-loop-a

to

color

a

nonempty

subset

of

edges

emanating

out

of

each

bundle

As

we

established

before

rb

h

If

rb

h

then

by

Lemma

it

follows

that

Prbi

cbi

d.

On

the

other

hand

if

rb

h

then

by

definition

of

rb

and

Lemma

we

know

that

eq

-LRB-

rb

-RRB-

holds

This

implies

that

either

d

or

Prbi

ci

-LRB-

rb

-RRB-

d

Since

d

it

then

follows

that

Prbi

cbi

d.

Therefore

in

for-loop-a

one

can

select

unique

s-free

color

in

Cbqj

for

each

bundle

b

to

color

a

nonempty

subset

of

edges

emanating

out

of

each

bundle

We

now

claim

that

at

each

iteration

in

the

for-loop-b

one

can

select

unique

colors

to

color

the

remaining

uncolored

branches

of

each

bundle

From

the

definition

of

sb

we

know

that

Psbi

ci

-LRB-

sb

-RRB-

d

The

number

of

colors

that

were

tj

in

the

same

branch

as

the

color

selected

in

for-loop-b

is

at

most

-LRB-

d

-RRB-

rb

and

the

maximum

number

of

colors

used

during

for-loop-a

and

for-loop-b

is

at

most

It

follows

that

the

colors

that

one

can

use

to

color

the

remaining

branches

are

at

least

-LRB-

sb

-RRB-

d

-LRB-

d

-RRB-

rb

This

is

equivalent

to

-LRB-

d

-RRB-

-LRB-

sb

rb

-RRB-

Since

d

and

sb

rb

we

know

that

there

is

at

least

one

color

left

with

which

we

can

color

all

the

remaining

uncolored

branches

This

completes

the

correctness

proof

It

is

simple

to

see

that

the

time

complexity

of

the

algorithm

is

bounded

by

O

-LRB-

ed

-RRB-

where

e

is

the

total

number

of

edges

in

the

graph

This

follows

from

the

observation

that

each

edge

is

considered

a

constant

number

of

times

and

each

time

the

algorithm

spends

O

-LRB-

d

-RRB-

time

on

it

Approximation

Algorithm

With

Matching

The

MMC

problem

can

be

viewed

as

the

generalization

of

the

multigraph

edge

coloration

-LRB-

EC

-RRB-

problem

-LSB-

-RSB-

where

the

edges

are

directed

and

bundled

in

groups

Vizing

's

-LSB-

-RSB-

approximation

algorithm

for

the

EC

problem

colors

the

edges

one

at

a

time

with

one

of

the

d

available

colors

where

d

is

the

degree

of

the

multigraph

If

there

are

no

colors

available

to

color

an

edge

the

algorithm

will

recolor

some

previously

colored

edges

via

limited

backtracking

Recoloration

in

our

problem

is

harder

because

at

each

vertex

there

may

be

many

edges

that

need

to

be

recolored

rather

than

just

two

as

in

Vizing

's

algorithm

Our

currently

best

approximation

algorithm

allows

for

limited

recoloration

The

input

to

our

algorithm

is

a

directed

multigraph

G

with

bundled

edges

integers

h

and

l

that

restrict

the

color

selection

process

and

it

is

assumed

that

-LRB-

k

l

h

-RRB-

Note

that

k

and

d

can

be

extracted

from

the

multigraph

Our

notation

is

identical

to

the

one

in

the

previous

section

The

algorithm

colors

the

edges

emanating

out

of

then

and

so

on

until

Pj

Then

the

algorithm

will

color

the

edges

emanating

out

of

Pj

When

considering

processor

Pj

a

tj

color

with

a

special

property

is

selected

from

each

bundle

and

then

our

procedure

colors

as

many

of

the

branches

of

the

bundle

as

possible

with

that

color

The

remaining

branches

are

colored

with

a

second

color

whose

existence

is

guaranteed

by

setting

the

total

number

of

colors

available

to

an

appropriate

number

To

simplify

our

notation

we

define

the

expressions

L

and

R

as

follows

L

h

ld

h

-LRB-

d

-RRB-

and

R

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

Procedure

MColoring

is

defined

for

all

d

h

k

L

k

l

h

and

d

These

preconditions

might

give

the

feeling

that

there

are

a

large

number

of

cases

for

which

our

algorithm

is

not

defined

but

this

is

not

the

case

because

for

each

k

there

is

a

nonempty

set

of

h

and

l

values

for

which

it

is

defined

We

begin

by

establishing

in

Lemma

that

L

R

This

fact

will

be

used

to

partition

in

two

cases

the

set

of

values

for

which

our

algorithm

is

defined

Lemma

For

the

set

of

values

Procedure

MColoring

is

defined

L

R.

Proof

The

proof

of

this

lemma

is

in

Appendix

B

since

it

involves

simple

algebraic

manipulations

of

long

expressions

In

Table

we

define

equations

eq

-LRB-

-RRB-

eq

-LRB-

h

-RRB-

that

are

used

by

the

algorithm

and

are

necessary

for

the

correctness

proof

-LRB-

Theorem

-RRB-

The

main

difference

between

this

procedure

and

the

one

in

the

previous

subsection

is

that

the

first

and

in

some

cases

the

second

color

are

selected

by

finding

a

matching

in

a

bipartite

graph

Table

Equations

eq

-LRB-

-RRB-

eq

-LRB-

h

-RRB-

d

eq

-LRB-

-RRB-

eq

-LRB-

-RRB-

for

j

h

Pji

ci

-LRB-

j

-RRB-

d

or

eq

-LRB-

j

-RRB-

Pli

ci

-LRB-

h

-RRB-

d

eq

-LRB-

h

-RRB-

Procedure

MColoring

is

given

below

For

the

set

of

valid

inputs

defined

above

procedure

computes

the

maximum

number

of

colors

needed

-LRB-

-RRB-

and

a

coloration

for

G

with

at

most

colors

Procedure

MColoring

-LRB-

G

h

l

-RRB-

Note

that

k

d

L

and

R

can

be

easily

computed

from

G

This

procedure

is

only

defined

for

d

h

k

L

d

and

k

l

h

case

R

k

d

-LRB-

k

h

-RRB-

-LRB-

k

h

-RRB-

h

L

k

R

-LRB-

-LRB-

-RRB-

h

d

-RRB-

l

-LRB-

d

-RRB-

k

-LRB-

d

-RRB-

-LRB-

d

-RRB-

h

-LRB-

l

-RRB-

endcase

The

correctness

of

our

procedure

will

be

established

Theorem

for

each

processor

Pj

do

for

each

bundle

b

emanating

from

processor

Pj

do

compute

Cbk

let

qb

be

the

smallest

integer

such

that

equation

eq

-LRB-

qb

-RRB-

holds

let

rb

min

fqb

hg

let

sb

qb

if

qb

h

and

sb

l

otherwise

if

qb

then

let

zb

be

an

element

in

-LSB-

different

from

all

the

other

z

elements

selected

during

the

iteration

for

Pj

endfor

define

the

bipartite

graph

H

-LRB-

-LRB-

W

-LSB-

X

-RRB-

-LSB-

Y

E

-RRB-

for

each

bundle

b

emanating

from

processor

Pj

define

the

vertex

Wb

and

if

qb

also

define

the

vertex

Xb

for

each

of

the

colors

g

define

the

vertex

Yg

The

edge

from

Wb

to

Yg

indicates

that

at

most

Cbqb

branches

of

bundle

b

can

be

colored

with

color

g

The

edges

from

Wb

to

Yg

and

Xb

to

-LRB-

g

-RRB-

indicate

that

all

branches

of

bundle

b

can

be

colored

with

color

either

g

or

E

ffWb

Yggjqb

g

Cbl

and

l

rbg

S

ffWb

Yggjqb

g

-LSB-

and

both

g

and

zb

are

tj

colors

in

the

same

branch

of

bundle

bg

S

ffXb

Yggjqb

g

-LSB-

and

g

and

zb

are

not

tj

colors

in

the

same

branch

of

bundle

b

g

Find

a

complete

matching

-LRB-

M

-RRB-

for

W

-LSB-

X

in

H

using

the

algorithm

in

-LSB-

-RSB-

Use

M

to

color

the

maximum

set

of

branches

emanating

from

Pj

for

each

edge

in

M

of

the

form

fWb

Ygg

do

color

with

g

the

maximum

number

of

branches

in

bundle

b

of

processor

Pj

for

each

edge

in

M

of

the

form

fXb

Ygg

do

color

with

g

the

remaining

uncolored

branches

in

bundle

b

of

processor

Pj

Color

the

remaining

uncolored

edges

emanating

from

Pj

for

each

bundle

b

emanating

from

processor

Pj

with

uncolored

branches

do

color

the

uncolored

branches

of

bundle

b

with

one

sj-free

color

in

Cbsb

endfor

end

of

Procedure

MColoring

To

establish

that

Procedure

MColoring

generates

a

valid

coloration

for

the

cases

it

is

defined

is

difficult

In

Theorem

we

establish

that

our

algorithm

generates

valid

colorations

and

that

it

takes

O

-LRB-

n

-LRB-

-RRB-

-RRB-

time

The

proof

of

this

theorem

is

based

on

Lemmas

and

Lemma

is

used

to

establish

that

at

least

one

of

the

equations

eq

-LRB-

j

-RRB-

holds

for

each

bundle

emanating

out

of

processor

Pj

and

Lemma

is

used

to

show

that

one

color

from

each

bundle

can

be

selected

to

color

a

subset

of

its

branches

These

lemmas

are

then

used

to

show

that

a

second

color

exists

to

color

the

remaining

branches

of

each

partially

colored

bundle

Lemma

is

used

in

the

proof

of

Lemmas

and

and

requires

Lemma

The

purely

mechanical

proofs

-LRB-

or

parts

of

proofs

-RRB-

appear

in

Appendix

B.

Mathematica

programs

-LRB-

and

their

outputs

-RRB-

for

all

of

these

mechanical

proofs

are

given

in

-LSB-

-RSB-

Lemma

For

the

set

of

values

Procedure

MColoring

is

defined

R

-LRB-

h

-RRB-

d

h

d

Proof

The

proof

of

this

lemma

is

in

Appendix

B

since

it

involves

simple

algebraic

manipulations

of

long

expressions

Lemma

The

value

for

defined

by

Procedure

MColoring

is

greater

than

or

equal

to

-LRB-

h

-RRB-

d

Proof

The

proof

of

this

lemma

is

in

Appendix

B

since

it

involves

simple

algebraic

manipulations

of

long

expressions

Lemma

At

the

beginning

of

the

jth

iteration

of

Procedure

MColoring

each

bundle

b

emanating

from

processor

Pj

satisfies

Phi

cbi

d.

Proof

Suppose

not

Suppose

that

there

is

a

bundle

b

for

which

Phi

cbi

d.

Let

bundle

b

emanating

from

processor

qb

be

a

counter-example

to

the

lemma

with

the

least

value

for

Phi

cbi

In

case

of

ties

select

the

bundle

b

emanating

from

Pj

with

the

largest

value

for

If

ties

persist

then

select

any

bundle

with

the

two

properties

given

above

In

what

follows

we

drop

the

superscript

b

since

b

is

fixed

If

Phi

ci

one

can

easily

find

another

counter-example

with

smaller

Phi

ci

or

one

with

the

same

Phi

ci

but

larger

value

for

In

either

case

we

contradict

the

properties

of

our

counter-example

So

we

can

assume

without

loss

of

generality

that

Phi

ci

Let

x

Phi

ci

d

If

x

then

j

is

set

to

zero

otherwise

j

is

set

to

the

largest

value

in

-LSB-

h

-RSB-

such

that

cj

From

Lemma

we

know

that

-LRB-

h

-RRB-

d

and

since

h

and

d

we

know

that

-LRB-

h

-RRB-

d

d

Since

the

remaining

tj

colors

must

be

in

Ch

Ck

it

then

follows

that

Pki

i

ci

j

-LRB-

x

-RRB-

-LRB-

h

-RRB-

Substituting

x

Phi

ci

d

in

the

above

inequality

we

know

that

Pki

i

ci

j

-LRB-

-LRB-

d

-RRB-

-RRB-

-LRB-

h

-RRB-

To

complete

the

proof

of

the

Lemma

we

need

to

show

that

the

above

expression

is

greater

than

k

-LRB-

d

-RRB-

which

contradicts

that

fact

that

Pki

i

ci

k

-LRB-

d

-RRB-

Since

the

remaining

part

of

the

proof

is

purely

mechanical

it

appears

in

Appendix

B.

Lemma

If

d

h

L

k

and

h

then

at

the

beginning

of

the

jth

iteration

of

Procedure

MColoring

each

bundle

b

emanating

from

processor

Pj

satisfies

at

least

one

of

the

inequalities

eq

-LRB-

j

-RRB-

for

j

h

holds

Proof

Suppose

not

Suppose

that

there

is

a

bundle

b

for

which

all

the

above

inequalities

do

not

hold

i.e.

d

Pji

cbi

-LRB-

j

-RRB-

d

for

all

j

h

and

Pli

cbi

-LRB-

h

-RRB-

d

Let

bundle

b

emanating

from

processor

Pj

be

a

counter-example

to

the

lemma

with

the

least

value

for

Pli

ci

In

case

of

ties

select

a

bundle

b

emanating

from

Pj

with

the

least

value

for

Pli

ci

that

is

largest

in

lexicographic

order

I.e.

has

the

largest

value

in

case

of

ties

is

the

largest

value

in

case

of

ties

is

the

largest

value

in

case

of

ties

and

so

on

Since

b

is

fixed

in

what

follows

we

drop

the

superscript

b

We

define

the

vector

-LRB-

dk

-RRB-

as

follows

d

d

d

d

dh

d

dh

dh

dh

dl

dl

-LRB-

-LRB-

h

-RRB-

d

-RRB-

dl

and

dk

Note

that

by

Lemma

we

know

that

dl

The

subvector

-LRB-

ch

-RRB-

is

either

the

subvector

-LRB-

dh

-RRB-

or

it

is

such

that

ci

di

for

all

i

f

h

cf

df

and

cf

ch

are

zero

except

possibly

for

one

cj

such

that

j

-LSB-

f

j

h

-RSB-

Note

that

if

this

is

not

the

case

then

either

the

problem

instance

satisfies

one

of

the

inequalities

or

it

does

not

satisfy

any

of

the

inequalities

but

either

it

is

not

one

with

least

Pli

ci

or

it

is

one

with

least

Pli

ci

but

not

the

largest

in

lexicographic

order

In

all

cases

we

contradict

the

properties

of

the

bundle

b

selected

By

definition

Pki

i

ci

k

-LRB-

d

-RRB-

We

now

establish

a

contradiction

by

showing

that

Pki

i

ci

k

-LRB-

d

-RRB-

It

is

simple

to

see

that

Pki

i

ci

Pki

i

di

From

the

definition

of

the

D

vector

and

-LRB-

h

-RRB-

d

-LRB-

Lemma

-RRB-

we

know

that

Pki

i

di

d

-LRB-

-RRB-

-LRB-

d

-RRB-

-LRB-

h

-RRB-

-LRB-

-LRB-

-LRB-

h

-RRB-

d

-RRB-

-RRB-

-LRB-

l

-RRB-

To

complete

the

proof

of

the

Lemma

we

need

to

show

that

the

above

expression

is

greater

than

k

-LRB-

d

-RRB-

which

contradicts

that

fact

that

Pki

i

ci

k

-LRB-

d

-RRB-

Since

the

remaining

part

of

the

proof

is

purely

mechanical

it

appears

in

Appendix

B.

Theorem

Procedure

MColoring

generates

a

communication

schedule

with

total

communication

equal

to

the

value

of

computed

by

the

algorithm

for

every

instance

for

which

the

Procedure

is

defined

The

time

complexity

of

the

procedure

is

O

-LRB-

ed

-RRB-

Proof

First

we

prove

that

Procedure

MColoring

colors

all

the

edges

in

the

multigraph

with

colors

where

is

determined

by

the

algorithm

Then

we

establish

the

time

complexity

bound

Consider

now

the

iteration

for

Pj

for

any

j

n.

By

Lemma

we

know

that

at

least

one

of

the

equations

eq

-LRB-

i

-RRB-

for

i

h

holds

for

each

bundle

emanating

from

Pj

Therefore

all

the

qb

values

are

integers

in

the

range

-LSB-

h

-RSB-

and

all

the

rb

values

are

integers

in

the

range

-LSB-

h

-RSB-

We

claim

that

it

is

always

possible

to

find

unique

colors

zb

-LSB-

for

all

the

bundles

b

such

that

qb

Since

qb

we

know

that

-LRB-

i.e.

eq

-LRB-

-RRB-

holds

-RRB-

Since

there

are

at

most

d

bundles

emanating

from

Pj

and

each

zb

can

be

assigned

one

of

these

colors

it

then

follows

that

the

selection

these

zb

colors

is

always

possible

Having

established

these

claims

it

is

easy

to

see

that

the

bipartite

graph

H

is

well

defined

and

that

it

has

the

following

properties

Each

bundle

b

is

represented

by

the

vertex

Wb

if

qb

and

by

the

vertices

Wb

and

Xb

otherwise

This

property

follows

directly

from

the

definition

of

H.

Each

vertex

Wb

representing

bundle

b

with

qb

has

degree

at

least

d.

Clearly

vertex

Wb

has

exactly

Prbi

ci

edges

We

now

show

that

such

number

is

at

least

d

There

are

three

cases

-LRB-

a

-RRB-

If

qb

then

rb

qb

and

by

Lemma

we

know

that

d.

Therefore

at

least

d

edges

incident

to

vertex

Wb

-LRB-

b

-RRB-

If

qb

l

for

some

l

h

then

rb

qb

and

by

Lemma

we

know

that

Pli

ci

-LRB-

i

-RRB-

d

i

-LRB-

d

-RRB-

Since

d

we

know

that

there

are

at

least

edges

incident

to

vertex

Wb

-LRB-

c

-RRB-

If

qb

h

then

rb

h

and

by

Lemma

we

know

that

Phi

ci

d.

Therefore

at

least

d

edges

are

incident

to

vertex

Wb

The

vertices

Wb

and

Xb

representing

bundle

b

with

qb

have

combined

degree

at

least

The

reason

is

that

since

qb

we

know

that

-LRB-

i.e.

eq

-LRB-

-RRB-

holds

-RRB-

and

by

construction

the

combined

number

of

edges

is

equal

to

The

degree

of

Xb

is

at

least

d

Since

the

number

of

tj

colors

in

each

branch

is

at

most

d

and

each

color

in

is

tj

in

exactly

one

branch

it

then

follows

by

definition

that

Wb

can

have

degree

at

most

d

By

the

previous

claim

we

know

that

the

combined

degrees

of

Wb

and

Xb

is

at

least

Therefore

the

degree

of

Xb

is

at

least

d

The

edge

-LRB-

Wb

Yg

-RRB-

for

bundle

b

with

qb

implies

that

at

most

rb

branches

in

bundle

b

can

not

be

colored

with

color

g

The

claim

follows

from

the

facts

that

g

is

in

Cl

for

some

l

qj

and

the

construction

of

graph

H.

The

edges

-LRB-

Wb

Yg

-RRB-

and

-LRB-

Xb

-RRB-

for

any

g

for

bundle

b

with

qb

imply

that

each

of

the

branches

in

bundle

b

can

be

colored

with

either

color

g

or

This

follows

from

the

fact

that

g

and

are

in

-LSB-

they

are

tj

colors

in

at

most

one

branch

and

by

definition

of

graph

H

both

g

and

are

not

tj

colors

in

the

same

branch

Now

we

claim

that

the

graph

-LRB-

-LRB-

W

-LSB-

X

-RRB-

-LSB-

Y

E

-RRB-

has

a

complete

matching

covering

all

the

vertices

in

W

-LSB-

Y

We

prove

this

by

showing

that

the

graph

satisfies

Hall

's

theorem

i.e.

for

every

subset

of

vertices

A

of

W

-LSB-

Y

jAj

jR

-LRB-

A

-RRB-

j

where

R

-LRB-

A

-RRB-

is

the

subset

of

vertices

of

Y

such

that

there

is

an

edge

for

a

member

of

set

A

to

it

Let

A

be

any

subset

of

vertices

in

W

-LSB-

Y

There

are

three

cases

depending

on

the

type

of

vertices

in

A

Case

A

W

If

there

is

a

Wb

vertex

representing

a

bundle

with

qb

then

such

a

vertex

has

degree

at

least

d

and

therefore

jR

-LRB-

A

-RRB-

j

d

Since

jWbj

d

it

then

follows

that

jAj

jR

-LRB-

A

-RRB-

j.

On

the

other

hand

if

all

the

vertices

in

A

represent

bundles

with

qb

then

we

know

that

the

unique

color

zb

can

be

selected

for

each

vertex

Therefore

the

edges

-LRB-

Wb

zb

-RRB-

form

a

matching

in

H

covering

all

the

vertices

representing

bundles

with

qb

Hence

jAj

jR

-LRB-

A

-RRB-

j.

Case

A

W

and

A

W

-LSB-

X

but

there

is

no

b

such

that

Wb

and

Xb

are

in

A

Since

each

element

in

Xb

is

of

degree

at

least

d

and

A

has

at

most

d

elements

it

then

follows

that

jAj

jR

-LRB-

A

-RRB-

j.

Case

A

W

and

A

W

-LSB-

X

and

there

is

a

b

such

that

Wb

and

Xb

are

in

A

As

we

have

established

before

the

combined

degree

of

Wb

and

Xb

is

at

least

Therefore

jR

-LRB-

A

-RRB-

j

Since

A

has

at

most

elements

it

then

follows

that

jAj

jR

-LRB-

A

-RRB-

j.

Hopcroft

and

Karp

's

-LSB-

-RSB-

constructs

a

matching

M

for

G.

By

the

above

discussion

such

a

matching

must

be

complete

with

respect

to

all

the

vertices

in

W

-LSB-

X.

From

such

matching

we

construct

a

partial

coloration

In

the

partial

coloration

all

the

branches

emanating

from

bundles

with

qb

or

will

be

colored

and

only

a

subset

of

the

branches

of

the

remaining

bundles

will

be

colored

Specifically

if

the

bundle

b

has

qb

then

all

but

at

most

rb

of

its

branches

are

colored

with

one

color

from

-LSB-

-LSB-

-LSB-

Csb

Remember

that

by

definition

of

sb

Psbi

ci

-LRB-

sb

-RRB-

d

The

number

of

colors

that

were

tj

in

the

same

branch

as

the

color

selected

for

this

bundle

by

the

matching

is

at

most

-LRB-

d

-RRB-

qi

and

the

max

number

of

colors

used

at

this

iteration

is

at

most

It

follows

that

the

colors

that

one

can

use

to

color

the

remaining

branches

are

at

least

-LRB-

sb

-RRB-

d

-LRB-

d

-RRB-

rb

This

is

equivalent

to

-LRB-

d

-RRB-

-LRB-

sb

rb

-RRB-

Since

d

and

sb

rb

we

know

that

there

is

at

least

one

color

left

with

which

we

can

color

all

the

remaining

uncolored

branches

This

completes

the

correctness

proof

It

is

simple

to

see

that

all

the

steps

take

time

O

-LRB-

ed

-RRB-

except

for

the

procedure

that

finds

the

maximum

matching

The

procedure

can

be

implemented

to

takes

time

O

-LRB-

-RRB-

Since

the

maximum

matching

procedure

is

invoked

n

times

it

follows

that

the

overall

time

complexity

bound

is

O

-LRB-

ed

-RRB-

Discussion

A

more

involved

analysis

can

establish

a

slightly

smaller

approximation

bound

-LRB-

see

Table

Better

Bound

-RRB-

but

it

is

asymptotic

to

the

ones

in

this

paper

The

proof

for

this

bound

is

tedious

By

selecting

three

colors

instead

of

two

colors

one

can

also

improve

the

approximation

bounds

in

this

paper

The

time

complexity

is

the

same

as

the

corresponding

one

in

the

previous

two

procedures

but

the

approximation

bound

is

better

For

brevity

we

can

not

provide

the

details

of

these

procedures

so

we

just

point

out

that

their

benefit

is

when

k

is

about

-LRB-

about

improvement

-RRB-

and

there

is

a

benefit

of

more

than

when

k

is

about

The

proofs

are

similar

in

nature

to

the

ones

in

the

previous

sections

however

the

equations

are

much

more

complex

It

is

worth

noting

that

the

proofs

of

all

the

lemmas

in

the

previous

section

can

be

proved

by

a

Symbolic

Manipulator

System

such

as

Mathematica

after

adding

several

macros

functions

and

a

driver

to

take

the

appropriate

steps

This

is

how

we

were

able

to

establish

the

more

complex

bounds

We

have

developed

exact

and

approximation

algorithms

for

specific

problem

instances

with

small

d

and

small

k.

For

brevity

we

do

not

include

these

special

results

References

-LSB-

-RSB-

G.

S.

Almasi

and

A.

Gottlieb

Highly

Parallel

Computing

The

Benjamin/Cummings

Publishing

Co.

Inc.

New

York

-LSB-

-RSB-

E.

G.

Coffman

Jr

M.

R.

Garey

D.

S.

Johnson

and

A.

S.

LaPaugh

Scheduling

File

Transfers

in

Distributed

Networks

SIAM

J.

on

Computing

-LRB-

-RRB-

-LRB-

-RRB-

pp.

-LCB-

-LSB-

-RSB-

H.-A

Choi

and

S.

L.

Hakimi

Data

Transfers

in

Networks

Algorithmica

Vol

-LRB-

-RRB-

pp.

-LCB-

-LSB-

-RSB-

H.-A

Choi

and

S.

L.

Hakimi

Scheduling

File

Transfers

for

Trees

and

Odd

Cycles

SIAM

Journal

on

Computing

Vol

No.

February

pp.

-LCB-

-LSB-

-RSB-

H.-A

Choi

and

S.

L.

Hakimi

Data

Transfers

in

Networks

with

Transceivers

Networks

Vol

-LRB-

-RRB-

pp.

-LCB-

-LSB-

-RSB-

Gonzalez

T.

F.

Multi-Message

Multicasting

Proceedings

of

the

Third

International

Workshop

on

Parallel

Algorithms

for

Irregularly

Structured

Problems

-LRB-

Irregular

-RRB-

to

appear

-LSB-

-RSB-

Gonzalez

T.

F.

Multimessage

Multicasting

Complexity

and

Approximations

UCSB

Department

of

Computer

Science

Technical

Report

July

-LSB-

-RSB-

Gonzalez

T.

F.

Proofs

for

Improved

Approximation

Algorithms

for

Multimessage

Multicasting

UCSB

Department

of

Computer

Science

Technical

Report

July

-LRB-

or

access

directly

-RRB-

-LSB-

-RSB-

Gonzalez

T.

F.

Unit

Execution

Time

Shop

Problems

Mathematics

of

Operations

Research

Vol

No.

February

pp.

-LSB-

-RSB-

T.

F.

Gonzalez

and

S.

Sahni

Open

Shop

Scheduling

to

Minimize

Finish

Time

JACM

Vol

No.

October

pp.

-LCB-

-LSB-

-RSB-

I.

S.

Gopal

G.

Bongiovanni

M.

A.

Bonuccelli

D.

T.

Tang

and

C.

K.

Wong

An

Optimal

Switching

Algorithm

for

Multibean

Satellite

Systems

with

Variable

Bandwidth

Beams

IEEE

Transactions

on

Communications

-LRB-

-RRB-

pp.

-LCB-

-LSB-

-RSB-

A

J.

Hopcroft

and

R.

M.

Karp

An

Algorithm

for

Maximum

Matchings

in

Bipartite

Graphs

SIAM

J.

Computing

-LRB-

-RRB-

pp.

-LCB-

-LSB-

-RSB-

B.

Hajek

and

G.

Sasaki

Link

Scheduling

in

Polynomial

Time

IEEE

Transactions

on

Information

Theory

Vol

No.

Sept.

pp

-LCB-

-LSB-

-RSB-

I.

Holyer

The

NP-completeness

of

Edge-Coloring

SIAM

J.

Comp.

-LRB-

-RRB-

-LCB-

-LSB-

-RSB-

T.

T.

Lee

Non-blocking

Copy

Networks

for

Multicast

Packet

Switching

IEEE

J.

Selected

Areas

of

Communication

Vol

No

Dec.

pp.

-LCB-

-LSB-

-RSB-

S.

C.

Liew

A

General

Packet

Replication

Scheme

for

Multicasting

in

Interconnection

Networks

Proceedings

IEEE

INFOCOM

Vol

-LRB-

-RRB-

pp.

-LCB-

-LSB-

-RSB-

P.

I.

Rivera-Vega

R

Varadarajan

and

S.

B.

Navathe

Scheduling

File

Transfers

in

Fully

Connected

Networks

Networks

Vol

-LRB-

-RRB-

pp.

-LCB-

-LSB-

-RSB-

J.

S.

Turner

A

Practical

Version

of

Lee

's

Multicast

Switch

Architecture

IEEE

Transactions

on

Communications

Vol

No

Aug.

pp.

-LCB-

-LSB-

-RSB-

V.

G.

Vizing

On

an

Estimate

of

the

Chromatic

Class

of

a

p-graph

Diskret

Analiz.

-LRB-

-RRB-

pp.

-LCB-

-LRB-

In

Russian

-RRB-

-LSB-

-RSB-

J.

Whitehead

The

Complexity

of

File

Transfer

Scheduling

with

Forwarding

SIAM

Journal

on

Computing

Vol

No

April

pp

-LCB-

Appendix

A

Lemma

-RRB-

For

the

set

of

values

Procedure

Coloring

is

defined

L

R.

Proof

By

applying

simple

algebraic

transformations

one

can

readily

see

that

the

definition

of

L

is

equivalent

to

L

-LRB-

h

-RRB-

h

ld

h

-LRB-

d

-RRB-

and

L

-LRB-

h

-RRB-

-LRB-

h

-RRB-

d

h

l

-LRB-

d

-RRB-

Substituting

l

h

-LRB-

h

-RRB-

d

in

the

above

inequality

and

simplifying

we

obtain

L

-LRB-

h

-RRB-

h

-LRB-

d

-RRB-

Since

l

h

we

multiply

the

last

term

of

the

inequality

by

l?h

l?h

and

obtain

L

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

h

-RRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

After

simple

algebraic

manipulations

we

get

L

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

h

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

R

This

completes

the

proof

of

the

Lemma

Lemma

For

the

set

of

values

Procedure

Coloring

is

defined

R

-LRB-

h

-RRB-

d

h

d

Proof

Since

l

h

we

multiply

the

last

two

terms

in

left-hand

side

-LRB-

LHS

-RRB-

of

the

inequality

by

-LRB-

l?h

-RRB-

-LRB-

l?h

-RRB-

and

obtain

LHS

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

Substituting

l

h

-LRB-

h

-RRB-

d

in

the

rightmost

l

of

the

above

inequality

we

know

LHS

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-LRB-

h

-RRB-

d

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

This

is

equivalent

to

LHS

-LRB-

h

-RRB-

h

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

R

This

completes

the

proof

of

the

Lemma

Lemma

The

value

for

defined

by

Procedure

Coloration

is

greater

than

or

equal

to

-LRB-

h

-RRB-

d

Proof

By

Lemma

we

partition

the

proof

into

the

following

two

cases

depending

on

the

relative

values

of

k

L

and

R.

Case

k

R.

Substituting

the

inequality

in

Lemma

in

the

equation

for

the

conditions

of

case

we

know

that

k

-LRB-

h

-RRB-

d

h

d

The

resulting

expression

after

multiplying

both

sides

by

d

and

rearranging

terms

is

k

-LRB-

d

-RRB-

-LRB-

-RRB-

d

h

-LRB-

-RRB-

Adding

d

-LRB-

h

-RRB-

h

to

both

sides

and

rearranging

terms

k

-LRB-

d

-RRB-

h

-LRB-

d

-RRB-

d

-LRB-

-RRB-

d

-LRB-

h

-RRB-

Factoring

h

in

the

right

hand

side

of

the

inequality

rearranging

terms

and

substituting

for

the

value

of

determined

by

the

procedure

we

know

-LRB-

k

h

-RRB-

d

-LRB-

k

h

-RRB-

h

-LRB-

h

-RRB-

d

This

completes

the

proof

for

Case

Case

L

k

R.

From

the

conditions

of

Case

we

know

that

k

h

h

-LRB-

d

-RRB-

ld

This

is

equivalent

to

-LRB-

d

-RRB-

d

-LRB-

h

-RRB-

-LRB-

-RRB-

which

is

equivalent

to

-LRB-

d

-RRB-

-LRB-

h

-RRB-

d

-LRB-

-RRB-

-LRB-

h

-RRB-

d

Adding

-LRB-

h

-RRB-

dl

to

both

sides

of

the

inequality

distributing

terms

and

replacing

for

the

value

of

determined

by

the

procedure

we

know

that

-LRB-

-LRB-

-RRB-

h

-RRB-

l

-LRB-

d

-RRB-

k

-LRB-

d

-RRB-

-LRB-

d

-RRB-

h

-LRB-

l

-RRB-

-LRB-

h

-RRB-

d

This

completes

the

proof

for

Case

and

the

Lemma

Remaining

Part

of

Lemma

Pki

i

ci

j

-LRB-

-LRB-

d

-RRB-

-RRB-

-LRB-

h

-RRB-

k

-LRB-

d

-RRB-

Proof

By

Lemma

we

partition

the

proof

into

the

following

two

cases

depending

on

the

relative

values

of

k

L

and

R.

Case

k

R.

Substituting

the

value

d

-LRB-

k

h

-RRB-

-LRB-

k

h

-RRB-

h

computed

by

the

algorithm

for

Case

in

the

above

inequality

Pki

i

ci

j

-LRB-

d

-LRB-

k

h

-RRB-

-LRB-

k

h

-RRB-

h

-LRB-

d

-RRB-

-RRB-

-LRB-

h

-RRB-

This

reduces

to

Pki

i

ci

j

d

-LRB-

k

h

-RRB-

-LRB-

k

h

-RRB-

-LRB-

d

-RRB-

-LRB-

h

-RRB-

which

is

equivalent

to

Pki

i

ci

j

k

-LRB-

d

-RRB-

Since

j

we

know

that

Pki

i

ci

k

-LRB-

d

-RRB-

This

contradicts

the

definition

of

the

cis

and

completes

the

proof

for

Case

Case

L

k

R.

Substituting

the

value

-LRB-

-LRB-

-RRB-

h

d

-RRB-

l

-LRB-

d

-RRB-

k

-LRB-

d

-RRB-

-LRB-

d

-RRB-

h

d

-LRB-

l

-RRB-

computed

by

the

algorithm

for

Case

in

the

above

inequality

Pki

ici

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

d

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

l

-RRB-

Adding

and

subtracting

-LRB-

l

-RRB-

-LRB-

l

-RRB-

the

equation

becomes

Pki

ici

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

d

-LRB-

-RRB-

-LRB-

l

-RRB-

Factoring

from

the

third

term

-LRB-

d

-RRB-

-LRB-

l

h

-RRB-

the

expression

becomes

Pki

ici

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

-LRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

l

Factoring

-LRB-

d

-RRB-

from

the

forth

term

the

expression

becomes

Pki

ici

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

-LRB-

-LRB-

h

-RRB-

h

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

l

By

the

conditions

of

the

case

we

know

that

k

R

-LRB-

h

-RRB-

h

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

Substituting

in

the

above

inequality

and

simplifying

Pki

i

ci

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

k

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

l

which

is

equivalent

to

Pki

i

ci

j

k

-LRB-

d

-RRB-

Since

j

we

know

that

Pki

i

ci

k

-LRB-

d

-RRB-

This

contradicts

the

definition

of

the

cis

and

completes

the

proof

for

Case

and

the

Lemma

Remaining

Part

of

Lemma

Pki

i

di

-LRB-

d

-RRB-

-LRB-

h

-RRB-

-LRB-

-LRB-

-LRB-

h

-RRB-

d

-RRB-

-RRB-

-LRB-

l

-RRB-

k

-LRB-

d

-RRB-

Proof

By

Lemma

we

partition

the

proof

into

the

following

two

cases

depending

on

the

relative

values

of

k

L

and

R.

Case

R

k.

Substituting

the

value

for

and

reordering

terms

the

expression

becomes

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l

-RRB-

-LRB-

h

-RRB-

dh

-LRB-

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

Adding

and

subtracting

-LRB-

h

-RRB-

to

the

numerator

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l

-RRB-

-LRB-

h

-RRB-

dh

-LRB-

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

Multiplying

the

right

hand

side

by

-LRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-RRB-

-LRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

we

know

that

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

k

-LRB-

l

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

dh

-LRB-

-RRB-

l

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

Substituting

the

conditions

for

Case

-LRB-

k

R

-LRB-

h

-RRB-

dh

-LRB-

-RRB-

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

in

the

above

equation

we

know

that

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

k

-LRB-

l

-RRB-

-LRB-

l?h

-RRB-

k

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

Which

is

equivalent

to

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

k

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

and

thus

Pki

i

di

k

-LRB-

d

-RRB-

Therefore

Pki

i

ci

Pki

i

di

k

-LRB-

d

-RRB-

A

contradiction

This

completes

the

proof

for

Case

Case

L

k

R.

Substituting

the

value

for

and

reordering

terms

the

expression

becomes

Pki

i

di

-LRB-

d

-RRB-

-LRB-

h

-RRB-

-LRB-

d

-RRB-

k

-LRB-

d

-RRB-

-LRB-

d

-RRB-

h

Which

is

equivalent

to

Pki

i

di

k

-LRB-

d

-RRB-

Therefore

Pki

i

ci

Pki

i

di

k

-LRB-

d

-RRB-

A

contradiction

This

completes

the

proof

for

Case

and

Case

Appendix

B

Lemma

For

the

set

of

values

Procedure

MColoring

is

defined

L

R.

Proof

By

applying

simple

algebraic

transformations

one

can

readily

see

that

the

definition

of

L

is

equivalent

to

L

-LRB-

h

-RRB-

h

ld

h

-LRB-

d

-RRB-

and

L

-LRB-

h

-RRB-

-LRB-

h

-RRB-

d

h

l

-LRB-

d

-RRB-

Substituting

l

-LRB-

h

-RRB-

d

in

the

above

inequality

and

simplifying

we

obtain

L

-LRB-

h

-RRB-

h

-LRB-

d

-RRB-

Since

l

h

we

multiply

the

last

term

of

the

inequality

by

l?h

l?h

and

obtain

L

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

After

simple

algebraic

manipulations

we

get

L

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

R

This

completes

the

proof

of

the

Lemma

Lemma

For

the

set

of

values

Procedure

MColoring

is

defined

R

-LRB-

h

-RRB-

d

h

d

Proof

Since

l

h

we

multiply

the

last

two

terms

in

left-hand

side

-LRB-

LHS

-RRB-

of

the

inequality

by

-LRB-

l?h

-RRB-

-LRB-

l?h

-RRB-

and

obtain

LHS

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

Substituting

l

-LRB-

h

-RRB-

d

in

the

rightmost

l

of

the

above

inequality

we

know

LHS

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

-LRB-

-LRB-

h

-RRB-

d

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

This

is

equivalent

to

LHS

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

R

This

completes

the

proof

of

the

Lemma

Lemma

The

value

for

defined

by

Procedure

MColoring

is

greater

than

or

equal

to

-LRB-

h

-RRB-

d

Proof

By

Lemma

we

partition

the

proof

into

the

following

two

cases

depending

on

the

relative

values

of

k

L

and

R.

Case

k

R.

Substituting

the

inequality

in

Lemma

in

the

equation

for

the

conditions

of

case

we

know

that

k

-LRB-

h

-RRB-

d

h

d

The

resulting

expression

after

multiplying

both

sides

by

d

and

rearranging

terms

is

k

-LRB-

d

-RRB-

-LRB-

-RRB-

d

h

-LRB-

-RRB-

Adding

d

-LRB-

h

-RRB-

h

to

both

sides

and

rearranging

terms

k

-LRB-

d

-RRB-

h

-LRB-

d

-RRB-

d

-LRB-

-RRB-

d

-LRB-

h

-RRB-

Factoring

h

in

the

right

hand

side

of

the

inequality

rearranging

terms

and

substituting

for

the

value

of

determined

by

the

procedure

we

know

-LRB-

k

h

-RRB-

d

-LRB-

k

h

-RRB-

h

-LRB-

h

-RRB-

d

This

completes

the

proof

for

Case

Case

L

k

R.

From

the

conditions

of

Case

we

know

that

k

h

h

-LRB-

d

-RRB-

ld

This

is

equivalent

to

-LRB-

d

-RRB-

d

-LRB-

h

-RRB-

-LRB-

-RRB-

which

is

equivalent

to

-LRB-

d

-RRB-

-LRB-

h

-RRB-

d

-LRB-

-RRB-

-LRB-

h

-RRB-

d

Adding

-LRB-

h

-RRB-

dl

to

both

sides

of

the

inequality

distributing

terms

and

replacing

for

the

value

of

determined

by

the

procedure

we

know

that

-LRB-

-LRB-

-RRB-

h

-RRB-

l

-LRB-

d

-RRB-

k

-LRB-

d

-RRB-

-LRB-

d

-RRB-

h

-LRB-

l

-RRB-

-LRB-

h

-RRB-

d

This

completes

the

proof

for

Case

and

the

Lemma

Remaining

Part

of

Lemma

Pki

i

ci

j

-LRB-

-LRB-

d

-RRB-

-RRB-

-LRB-

h

-RRB-

k

-LRB-

d

-RRB-

Proof

By

Lemma

we

partition

the

proof

into

the

following

two

cases

depending

on

the

relative

values

of

k

L

and

R.

Case

k

R.

Substituting

the

value

d

-LRB-

k

h

-RRB-

-LRB-

k

h

-RRB-

h

computed

by

the

algorithm

for

Case

in

the

above

inequality

Pki

i

ci

j

-LRB-

d

-LRB-

k

h

-RRB-

-LRB-

k

h

-RRB-

h

-LRB-

d

-RRB-

-RRB-

-LRB-

h

-RRB-

This

reduces

to

Pki

i

ci

j

d

-LRB-

k

h

-RRB-

-LRB-

k

h

-RRB-

-LRB-

d

-RRB-

-LRB-

h

-RRB-

which

is

equivalent

to

Pki

i

ci

j

k

-LRB-

d

-RRB-

Since

j

we

know

that

Pki

i

ci

k

-LRB-

d

-RRB-

This

contradicts

the

definition

of

the

cis

and

completes

the

proof

for

Case

Case

L

k

R.

Substituting

the

value

-LRB-

-LRB-

-RRB-

h

d

-RRB-

l

-LRB-

d

-RRB-

k

-LRB-

d

-RRB-

-LRB-

d

-RRB-

h

-LRB-

l

-RRB-

computed

by

the

algorithm

for

Case

in

the

above

inequality

Pki

ci

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l

-RRB-

Adding

and

subtracting

-LRB-

l

-RRB-

-LRB-

l

-RRB-

the

equation

becomes

Pki

ci

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l

-RRB-

Factoring

from

the

third

term

-LRB-

d

-RRB-

-LRB-

l

h

-RRB-

the

expression

becomes

Pki

ci

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

-LRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

l

Factoring

-LRB-

d

-RRB-

from

the

forth

term

the

expression

becomes

Pki

ci

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

-LRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

l

By

the

conditions

of

the

case

we

know

that

k

R

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

Substituting

in

the

above

inequality

and

simplifying

Pki

i

ci

j

k

-LRB-

h

-RRB-

-LRB-

d

-RRB-

l

k

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

l

which

is

equivalent

to

Pki

i

ci

j

k

-LRB-

d

-RRB-

Since

j

we

know

that

Pki

i

ci

k

-LRB-

d

-RRB-

This

contradicts

the

definition

of

the

cis

and

completes

the

proof

for

Case

and

the

Lemma

Remaining

Part

of

Lemma

Pki

i

di

-LRB-

d

-RRB-

-LRB-

h

-RRB-

-LRB-

-LRB-

-LRB-

h

-RRB-

d

-RRB-

-RRB-

-LRB-

l

-RRB-

k

-LRB-

d

-RRB-

Proof

By

Lemma

we

partition

the

proof

into

the

following

two

cases

depending

on

the

relative

values

of

k

L

and

R.

Case

R

k.

Substituting

the

value

for

and

reordering

terms

the

expression

becomes

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l

-RRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

Adding

and

subtracting

-LRB-

h

-RRB-

to

the

numerator

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l

-RRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

Multiplying

the

right

hand

side

by

-LRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-RRB-

-LRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

we

know

that

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

k

-LRB-

l

-RRB-

-LRB-

l?h

-RRB-

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

-RRB-

l

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

Substituting

the

conditions

for

Case

-LRB-

k

-LRB-

h

-RRB-

d

-LRB-

h

-RRB-

-LRB-

-RRB-

-LRB-

h

-RRB-

-LRB-

h

-RRB-

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

in

the

above

equation

we

know

that

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

k

-LRB-

l

-RRB-

-LRB-

l?h

-RRB-

k

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

Which

is

equivalent

to

Pki

i

di

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

k

-LRB-

h

-RRB-

-LRB-

l?h

-RRB-

h

-LRB-

d

-RRB-

-LRB-

l?h

-RRB-

-RRB-

and

thus

Pki

i

di

k

-LRB-

d

-RRB-

Therefore

Pki

i

ci

Pki

i

di

k

-LRB-

d

-RRB-

A

contradiction

This

completes

the

proof

for

Case

Case

L

k

R.

Substituting

the

value

for

and

reordering

terms

the

expression

becomes

Pki

i

di

-LRB-

d

-RRB-

-LRB-

h

-RRB-

-LRB-

d

-RRB-

k

-LRB-

d

-RRB-

-LRB-

d

-RRB-

h

Which

is

equivalent

to

Pki

i

di

k

-LRB-

d

-RRB-

Therefore

Pki

i

ci

Pki

i

di

k

-LRB-

d

-RRB-

A

contradiction

This

completes

the

proof

for

Case

and

the

Lemma

approximation algorithms
dynamic networks
multimessage multicasting

communication schedules
parallel iterative methods