Characterizing

and

Evaluating

Performance

Tradeoffs

in

Causal

Multicasting

in

ATM

Networks

Frank

Adelstein

and

Mukesh

Singhal

Department

of

Computer

and

Information

Science

The

Ohio

State

University

Columbus

Ohio

-LCB-

frank

singhal

-RCB-

@cis

ohio-state

edu

Abstract

Because

of

the

high-speed

and

QOS

guarantees

ATM

networks

are

getting

popular

in

multimedia

applications

There

are

multimedia

applications

that

require

messages

to

be

delivered

in

an

order

that

preserves

cause

and

effect

relations

in

multicasts

-LRB-

called

causal

order

multicast

-RRB-

Causal

order

multicast

algorithms

introduce

an

overhead

because

they

append

control

information

to

messages

to

enforce

the

causal

order

In

this

paper

we

present

a

framework

for

evaluating

causal

multicast

algorithms

We

present

a

causal

multicast

algorithm

called

the

partition

method

that

supports

multicasting

and

has

a

low

overhead

We

compare

and

analyze

its

cost

with

the

cost

of

two

existing

algorithms

on

ATM

networks

called

the

causal

order

multicast

and

delta

causal

order

multicast

methods

This

analysis

is

carried

out

for

four

different

sample

network

topologies

to

represent

different

configurations

Introduction

Asynchronous

Transfer

Mode

-LRB-

ATM

-RRB-

networks

are

connection-oriented

cell-switched

networks

with

very

small

packet

-LRB-

called

cell

-RRB-

size

designed

for

high-speed

applications

that

require

large

amounts

of

bandwidth

and

low

delay

variance

ATM

networks

are

becoming

more

popular

and

will

greatly

benefit

several

applications

such

as

multimedia

transaction

processing

and

large

file

transfers

Multicasting

is

important

in

teleconferences

and

other

multimedia

applications

as

well

as

applications

such

as

partially

replicated

databases

A

message

is

multicast

if

it

is

sent

to

more

than

one

recipient

In

a

multicast

environment

messages

should

maintain

their

cause

and

effect

relation

-LRB-

causal

order

-RRB-

i.e.

message

delivery

should

preserve

the

cause

and

effect

relationship

In

addition

messages

that

are

not

related

by

cause

and

effect

i.e.

concurrent

messages

should

be

received

in

the

same

order

by

all

recipients

Multimedia

messages

also

have

a

real-time

constraint

they

must

be

received

by

the

destination

site

by

a

certain

time

after

which

their

data

can

not

be

used

When

sites

send

messages

to

each

other

through

a

communication

network

all

sites

that

receive

the

messages

should

see

them

in

a

consistent

order

A

causal

order

relation

between

two

messages

say

and

exist

if

either

a

-RRB-

both

messages

were

sent

from

the

same

site

and

was

sent

before

or

b

-RRB-

was

sent

by

a

site

after

that

site

received

Causal

ordering

of

messages

implies

that

there

is

the

same

causal

relation

between

message

send

events

and

the

corresponding

message

receive

events

When

a

site

multicasts

messages

to

other

sites

they

might

not

be

received

in

the

same

order

by

all

sites

By

imposing

causal

ordering

on

messages

all

messages

are

ordered

in

a

consistent

way

at

all

sites

As

an

example

consider

a

multimedia

conference

call

that

is

taking

place

at

several

different

sites

where

each

input

is

multicast

to

other

sites

For

correctness

the

transmitted

data

-LRB-

i.e.

speech

or

video

-RRB-

should

satisfy

causal

order

and

should

be

seen

-LRB-

and

heard

-RRB-

in

the

same

order

by

all

sites

especially

if

one

data

stream

is

in

the

response

to

another

In

addition

messages

have

real-time

constraints

if

a

message

can

not

be

delivered

i.e.

played

within

a

certain

time

it

must

be

discarded

In

a

multimedia

conference

call

where

each

speaker

is

heard

by

multiple

sites

the

multicast

messages

need

to

have

their

cause

and

effect

relations

preserved

A

causal

order

algorithm

is

required

to

preserve

the

causal

order

of

the

messages

Multicasting

without

causal

ordering

and

real-time

constraints

has

been

studied

in

ATM

networks

-LSB-

-RSB-

and

causal

order

without

multicasting

has

been

studied

-LSB-

-RSB-

Our

objective

is

to

establish

boundaries

to

determine

given

a

multicast

network

topology

which

causal

ordering

method

is

most

efficient

To

that

end

we

focus

on

two

algorithms

with

different

properties

such

as

overhead

and

type

of

causal

ordering

provided

In

addition

we

propose

a

new

algorithm

that

provides

causal

order

while

maintaining

realtime

constraints

has

a

low

overhead

and

supports

multicasting

We

present

a

framework

to

characterize

and

evaluate

the

overhead

and

performance

of

causal

multicast

algorithms

and

use

this

framework

to

evaluate

the

three

multicast

algorithms

The

rest

of

the

paper

is

organized

as

follows

Section

contains

the

system

model

formal

definitions

an

overview

of

multicasting

in

ATM

networks

and

a

description

of

previous

work

on

causal

multicasting

Section

presents

a

framework

to

characterize

and

evaluate

the

performance

of

multicast

algorithms

Section

presents

three

methods

for

causal

multicasting

whose

performance

will

be

analyzed

and

compared

Section

analyzes

the

cost

of

these

algorithms

for

various

multicast

topologies

Section

presents

conclusions

Background

System

Model

The

system

is

comprised

of

a

set

of

nodes

that

are

linked

to

each

other

through

a

communication

network

ATM

switches

comprise

the

nodes

and

the

links

or

edges

are

the

links

between

the

ATM

switches

The

system

is

modeled

by

a

directed

graph

G

-LRB-

V

E

-RRB-

where

V

is

the

set

of

vertices

in

the

graph

representing

nodes

in

the

system

-LRB-

i.e.

ATM

switches

-RRB-

and

E

is

the

set

of

edges

between

vertices

representing

communication

links

The

communication

network

supports

multicasting

from

a

source

node

to

a

set

of

destination

nodes

and

determines

the

route

for

the

multicast

messages

A

route

for

a

multicast

forms

a

subgraph

of

G

denoted

as

Gmcast

and

referred

to

as

the

multicast

topology

which

is

typically

a

tree

with

the

source

node

as

a

root

All

leaf

nodes

are

destination

nodes

however

destinations

for

the

multicast

can

be

non-terminal

nodes

as

well

N

is

used

to

denote

the

number

of

recipients

for

a

multicast

Causal

Multicast

This

section

presents

concepts

and

definitions

for

terms

that

are

used

throughout

the

paper

A

multicast

message

is

a

message

that

has

more

than

one

recipient

while

a

unicast

message

has

only

one

recipient

Broadcast

messages

are

a

special

case

of

multicasts

in

which

message

recipients

are

all

sites

in

a

domain

A

causal

dependency

relation

-LSB-

-RSB-

exists

between

two

messages

and

and

is

denoted

if

and

only

if

and

are

messages

that

were

sent

from

the

same

site

and

was

sent

before

or

was

sent

by

site

i

after

was

received

by

site

i.

Causal

ordering

is

defined

as

the

transitive

closure

of

the

causal

dependency

relation

and

is

denoted

as

A

delta

causal

relation

-LSB-

-RSB-

exists

between

two

messages

and

and

is

denoted

D

if

and

only

if

and

is

sent

at

most

delta

time

units

before

By

definition

the

delta

causal

order

relation

exists

between

two

messages

for

a

maximum

of

delta

time

units

Since

there

is

no

need

to

maintain

the

causal

order

relation

beyond

the

lifetime

of

a

message

delta

is

defined

to

be

the

lifetime

of

a

real-time

message

A

causal

multicasting

algorithm

is

an

algorithm

which

enforces

causal

ordering

among

multicast

messages

This

is

done

by

adding

control

information

about

causal

dependencies

to

every

message

and

maintaining

state

information

at

each

site

The

causal

order

is

enforced

by

delaying

the

delivery

to

the

application

of

messages

that

arrive

out

of

order

usually

until

the

missing

messages

have

arrived

Multicasting

in

ATM

Networks

Asynchronous

Transfer

Mode

-LRB-

ATM

-RRB-

networks

are

connection-oriented

cell-switched

networks

which

are

fundamentally

different

than

traditional

store-and-forward

networks

-LSB-

-RSB-

Connections

must

be

set

up

in

order

for

one

site

to

send

data

to

another

site

The

packets

or

cells

in

ATM

are

very

small

bytes

bytes

are

for

control

information

leaving

the

remaining

bytes

available

for

the

data

or

payload

Sites

in

an

ATM

network

are

connected

to

devices

called

switches

which

link

sites

and

other

switches

Each

switch

is

responsible

for

routing

cells

from

one

of

its

input

ports

to

one

-LRB-

or

more

-RRB-

of

its

output

ports

The

ATM

protocol

is

divided

into

three

layers

the

physical

the

ATM

and

the

ATM

adaptation

layer

-LRB-

AAL

-RRB-

The

physical

layer

is

similar

to

the

physical

layer

of

the

OSI

model

The

ATM

layer

is

responsible

for

transporting

the

cells

and

the

AAL

is

responsible

for

supporting

different

types

of

traffic

with

different

characteristics

Layers

above

these

three

represent

higher

level

protocols

such

as

application

layers

-LSB-

-RSB-

There

are

two

issues

involved

in

multicasting

on

ATM

networks

cell

replication

and

routing

At

the

lowest

level

in

order

to

multicast

one

cell

must

be

delivered

to

multiple

output

ports

The

cell

must

be

replicated

within

the

switch

in

order

to

deliver

the

cell

to

different

output

ports

on

the

switch

This

typically

is

dealt

with

by

the

switch

hardware

and

firmware

-LSB-

-RSB-

The

other

issue

is

where

to

send

or

route

the

cells

At

the

switch

level

cells

must

be

routed

to

the

proper

output

ports

within

a

switch

once

they

have

been

replicated

At

the

network

level

the

cells

must

be

routed

from

one

switch

to

another

in

order

to

efficiently

reach

their

destinations

The

problem

of

finding

an

optimal

path

or

route

given

a

network

description

has

been

studied

in

-LSB-

-RSB-

Often

there

are

multiple

paths

and

routes

that

can

be

used

so

a

goal

is

to

minimize

the

number

of

paths

or

number

of

cells

that

must

be

transmitted

Much

of

the

research

on

multicasting

in

ATM

networks

is

focused

on

the

issues

of

replication

and

routing

ATM

Networks

and

Causal

Multicasting

Multicasting

on

ATM

networks

is

important

since

such

networks

are

attractive

for

multimedia

applications

Multicasting

is

important

in

multimedia

applications

because

applications

such

as

conference

calls

take

advantage

of

the

ability

to

send

the

same

data

stream

to

multiple

destinations

Such

multimedia

applications

require

a

large

bandwidth

ATM

networks

are

capable

of

offering

a

high

bandwidth

as

well

as

providing

guaranteed

quality

of

service

There

are

several

issues

that

need

to

be

addressed

in

order

to

utilize

a

causal

multicast

algorithm

in

an

ATM

network

One

of

the

most

prominent

features

of

ATM

is

the

small

cell

size

bytes

for

the

payload

-LRB-

data

-RRB-

and

for

control

information

-LRB-

bytes

total

-RRB-

Causal

multicast

algorithms

typically

impose

a

per

message

overhead

because

they

append

control

information

to

each

message

The

delta

causal

multicast

method

the

algorithm

in

this

paper

with

the

least

overhead

imposes

an

overhead

of

vectors

of

N

elements

each

with

every

message

for

N

recipients

Each

element

contains

a

timestamp

which

requires

a

long

integer

four

bytes

to

store

In

an

ATM

network

if

the

multicast

algorithm

is

implemented

at

the

ATM

layer

by

using

all

of

the

payload

space

in

an

ATM

cell

at

most

only

sites

could

be

included

in

a

multicast

group

-LRB-

vectors

timestamps/vector

bytes/timestamp

-RRB-

Obviously

this

is

too

restrictive

since

only

sites

at

most

could

be

supported

by

consuming

all

the

space

for

control

information

leaving

no

space

remaining

in

the

payload

for

the

actual

multicast

data

Therefore

the

causal

multicast

algorithm

must

be

implemented

at

a

level

higher

than

the

ATM

layer

The

ATM

adaptation

layer

-LRB-

AAL

-RRB-

contains

two

sublayers

the

segmentation

and

reassembly

sublayer

-LRB-

SAR

-RRB-

and

the

convergence

sublayer

-LRB-

CS

-RRB-

The

SAR

sublayer

is

responsible

for

dividing

large

packets

from

the

higher

layers

into

ATM

cells

at

the

transmitting

end

and

the

reverse

at

the

receiving

end

The

CS

sublayer

performs

service

dependent

functions

such

as

message

identification

and

time/clock

recovery

-LSB-

-RSB-

Causal

multicast

algorithms

would

be

appropriate

for

the

CS

sublayer

or

higher

Causal

ordering

would

be

based

on

the

application

layer

message

independent

of

the

cell

size

It

is

more

appropriate

to

perform

causal

ordering

at

the

message

or

packet

level

as

opposed

to

the

cell

level

Performing

causal

ordering

at

a

higher

level

is

more

cost

efficient

since

the

ratio

of

data

to

control

information

is

greater

Thus

there

is

a

higher

space

utilization

and

less

waste

Previous

Work

Causal

ordering

algorithms

impose

both

computational

as

well

as

message

overheads

The

computational

overhead

comes

from

the

underlying

algorithm

that

enforces

causal

order

and

varies

from

algorithm

to

algorithm

The

message

overhead

comes

from

the

extra

control

information

that

must

be

transmitted

with

each

message

This

information

can

be

in

the

form

of

time

vectors

-LSB-

-RSB-

or

message

histories

-LSB-

-RSB-

ISIS

the

first

system

to

support

causal

multicasting

sends

complete

message

histories

with

each

message

which

may

cause

a

significant

overhead

It

enforces

causal

order

of

messages

and

additionally

can

enforce

a

total

order

on

all

messages

including

concurrent

messages

It

does

not

support

real-time

constraints

Mostefaoui

and

Raynal

-LSB-

-RSB-

provide

a

low

cost

algorithm

for

causal

multicast

however

it

assumes

that

all

messages

are

broadcast

to

all

sites

This

allows

every

site

to

have

current

information

about

the

causal

relations

between

messages

In

addition

the

algorithm

requires

periodic

resynchronization

messages

to

be

sent

If

the

communication

medium

is

a

bus

based

medium

like

an

Ethernet

only

single

broadcast

is

needed

for

the

resynchronization

message

This

algorithm

does

not

support

any

real-time

constraints

The

Psync

protocol

by

Peterson

Buchholz

and

Schlichting

-LSB-

-RSB-

preserves

the

partial

order

between

messages

and

supports

fault-tolerance

It

does

not

impose

a

total

order

between

messages

at

different

sites

nor

does

it

support

real-time

constraints

The

causal

ordering

algorithm

of

Schiper

Eggli

and

Sandoz

-LSB-

-RSB-

insures

that

causal

order

relation

between

message

is

maintained

However

this

method

has

a

significant

overhead

as

O

-LRB-

N

-RRB-

vectors

must

be

transmitted

and

it

does

not

support

real-time

constraints

This

method

captures

the

casual

order

relations

between

messages

by

maintaining

a

dependency

matrix

which

consists

of

a

dependency

vector

for

each

site

An

element

j

of

a

vector

i

is

a

logical

timestamp

for

a

site

and

represents

the

last

known

state

of

site

j

for

site

i

or

is

state

of

site

j

that

site

i

depends

on

While

complete

transitive

causal

order

relations

can

be

traced

real-time

constraints

are

not

supported

The

causal

ordering

algorithm

of

Adelstein

and

Singhal

-LSB-

-RSB-

has

a

much

lower

overhead

and

maintains

delta

causal

order

-LSB-

-RSB-

in

which

the

causal

order

relations

only

exist

within

a

limited

delta

time

interval

It

only

prevents

causal

order

violations

due

to

the

triangle

inequality

in

which

the

causal

dependency

chain

has

a

maximum

length

of

two

However

rather

than

supporting

multicasting

directly

it

simulates

sending

a

multicast

message

to

N

sites

with

N

separate

unicast

messages

This

paper

proposes

another

approach

called

the

partition

method

which

is

designed

to

support

multicasting

with

low

overhead

It

breaks

up

the

multicast

into

groups

of

smaller

multicasts

called

partitions

in

which

sites

in

the

same

partition

are

close

together

with

respect

to

the

network

Characterizing

Multicast

Cost

In

this

section

we

characterize

and

evaluate

the

cost

of

multicasting

for

various

causal

order

algorithms

We

identify

the

underlying

tradeoffs

with

respect

to

the

cost

and

performance

for

these

algorithms

We

study

these

algorithms

for

various

topologies

since

the

underlying

multicast

topology

has

a

direct

impact

on

the

cost

of

transmitting

data

across

the

network

A

naive

approach

to

computing

this

cost

is

to

multiply

the

message

size

including

the

overhead

from

the

causal

ordering

scheme

by

the

number

of

recipients

of

the

message

However

this

only

reflects

the

cost

of

the

transmission

to

the

recipients

and

does

not

reflect

the

total

cost

associated

with

propagating

a

message

through

a

communication

network

This

implies

all

multicasts

with

the

same

number

of

recipients

have

identical

cost

Yet

two

multicasts

with

the

same

number

of

recipients

can

impose

very

different

costs

on

the

network

in

terms

of

volume

of

information

Figure

shows

two

multicasts

that

send

a

message

to

the

same

number

of

destinations

but

use

different

routing

In

multicast

A

approximately

of

the

path

is

common

to

all

the

destinations

and

is

shared

while

only

is

shared

for

multicast

B

A

B

Figure

Two

multicasts

with

different

routing

topologies

Intuitively

multicast

A

is

more

efficient

than

multicast

B

Since

there

is

less

duplication

fewer

sites

are

required

to

-LRB-

re

-RRB-

transmit

data

To

characterize

the

relative

efficiency

of

a

multicast

we

need

to

calculate

the

cost

that

a

causal

order

algorithm

imposes

upon

the

network

The

cost

must

reflect

the

total

volume

of

information

that

is

sent

through

the

network

and

this

is

related

to

the

underlying

topology

Our

framework

to

compute

this

cost

consists

of

the

following

First

we

count

the

number

of

message

hops

taken

by

a

multicast

algorithm

for

a

given

multicast

topology

Then

we

define

the

efficiency

of

a

multicast

topology

as

the

relative

saving

of

number

of

hops

This

is

one

minus

the

number

of

message

hops

of

a

multicast

divided

by

the

number

of

hops

of

a

unicast

We

then

compute

the

total

cost

of

the

algorithm

as

the

total

volume

of

information

transmitted

to

factor

in

the

control

information

Total

Network

Hops

Used

-LRB-

S

-RRB-

The

cost

of

a

multicast

depends

on

the

underlying

multicast

topology

of

the

communication

network

and

the

causal

multicast

algorithm

used

In

order

to

characterize

the

cost

a

variable

that

characterizes

the

underlying

topology

and

algorithm

is

needed

To

that

end

we

will

determine

how

many

messages

are

sent

in

a

multicast

which

allows

us

to

calculate

the

volume

of

data

that

is

transmitted

through

the

network

for

each

multicast

message

L

represents

all

the

links

in

the

multicast

tree

l

is

a

link

in

the

multicast

tree

and

cntl

is

the

count

of

how

many

times

messages

are

sent

over

link

l.

S

can

be

expressed

as

follows

S

l

cntl

l

L

-LSB-

-RSB-

Total

network

hops

is

defined

as

the

total

number

of

messages

sent

through

a

network

in

order

to

transmit

a

multicast

message

If

a

multicast

algorithm

sends

only

one

message

then

S

is

the

number

of

links

in

the

multicast

topology

If

the

multicast

algorithm

sends

more

than

one

message

then

S

is

the

number

of

times

each

link

is

used

S

is

sensitive

to

the

connection

topology

A

multicast

message

can

be

transmitted

to

all

its

recipients

simultaneously

-LRB-

i.e.

a

multicast

-RRB-

to

each

one

sequentially

or

by

some

combination

of

both

The

computation

of

S

depends

greatly

on

how

the

message

is

transmitted

The

following

two

paragraphs

describe

how

to

compute

S

for

two

different

multicast

algorithms

for

the

cases

of

one

simultaneous

transmission

and

many

sequential

transmissions

using

the

network

topologies

shown

in

Figure

A

message

is

transmitted

to

all

recipients

simultaneously

in

a

single

multicast

When

the

message

is

transmitted

it

splits

whenever

branching

occurs

in

the

multicast

tree

For

example

in

Figure

a

split

occurs

at

the

ninth

and

tenth

nodes

in

multicast

A

and

the

second

and

third

nodes

in

multicast

B

The

S

value

for

multicasting

denoted

by

SM

is

computed

by

summing

the

total

number

of

links

in

the

multicast

tree

Since

only

one

message

passes

through

each

link

any

path

that

is

shared

only

counts

once

towards

the

value

of

SM

Then

V

-LRB-

vN

-RRB-

E

V

x

V

G

-LRB-

V

E

-RRB-

is

a

graph

that

represents

the

communication

network

Gtop

-LRB-

Vtop

Etop

-RRB-

is

a

subgraph

of

G

and

is

a

tree

with

node

as

its

root

Gtop

represents

the

multicast

topology

for

the

communication

network

Given

Gtop

SM

is

defined

as

S

E

M

top

-LSB-

-RSB-

For

multicast

A

SM

is

and

for

multicast

B

it

is

SM

denotes

how

efficient

the

routing

is

as

the

routing

becomes

more

efficient

more

paths

are

shared

and

the

value

of

SM

decreases

An

upper

bound

for

SM

is

SU

described

next

which

occurs

when

a

multicast

is

implemented

as

a

series

of

unicasts

In

the

second

method

a

multicast

message

is

transmitted

as

a

series

of

unicast

messages

one

for

each

destination

The

S

value

for

the

set

of

unicasts

denoted

as

SU

is

computed

by

summing

the

number

of

links

the

message

passes

through

for

each

sender

to

recipient

pair

Given

a

network

multicast

topology

with

one

source

and

multiple

destinations

Dest

-LRB-

dm

-RRB-

where

m

n

and

Dest

Vtop

and

Dest

represents

recipients

of

the

multicasts

Path

-LRB-

j

-RRB-

length

of

path

from

to

j.

Then

S

Path

j

U

j

Dest

-LRB-

-RRB-

-LSB-

-RSB-

The

value

of

SU

for

both

topology

A

and

topology

B

is

since

both

topologies

have

recipients

each

with

a

path

length

of

SU

is

independent

of

how

much

path

is

shared

among

destinations

in

a

multicast

topology

Efficiency

of

a

Multicast

-LRB-

E

-RRB-

The

total

cost

of

sending

a

multicast

is

affected

both

by

the

overhead

of

the

control

information

sent

by

the

causal

order

algorithm

and

the

efficiency

of

the

underlying

multicast

topology

Intuitively

a

multicast

topology

is

more

efficient

if

fewer

messages

are

transmitted

over

the

links

to

perform

a

multicast

over

the

communication

network

As

the

efficiency

increases

more

links

are

shared

by

the

destinations

and

fewer

messages

are

transmitted

over

every

link

in

the

network

This

results

in

a

lower

total

volume

of

data

that

is

transmitted

through

the

network

The

cost

of

sending

a

multicast

message

through

the

multicast

topology

depends

upon

the

efficiency

of

the

multicast

topology

The

efficiency

of

the

multicast

is

expressed

with

respect

to

the

cost

of

sending

the

same

message

to

the

same

destinations

using

only

unicast

messages

The

efficiency

of

a

given

multicast

topology

is

defined

as

follows

Efficiency

S

S

M

U

-LRB-

-RRB-

-LSB-

-RSB-

For

example

in

Figure

for

multicast

A

SU

and

SM

so

the

efficiency

is

and

for

multicast

B

SU

and

SM

so

the

efficiency

is

only

Note

that

in

multicast

A

of

the

path

is

shared

while

in

multicast

B

only

of

the

path

is

shared

Thus

there

is

a

direct

relation

between

the

efficiency

and

the

amount

of

shared

path

in

a

multicast

topology

Causal

ordering

algorithms

impose

a

per-message

overhead

in

terms

of

the

control

information

sent

In

order

to

evaluate

the

cost

of

causal

order

algorithms

it

is

necessary

to

know

the

cost

of

sending

a

message

through

the

network

and

the

efficiency

of

the

particular

network

topology

We

now

compute

the

transmission

cost

in

multicasting

a

message

Transmission

Cost

-LRB-

C

-RRB-

The

transmission

cost

of

sending

a

multicast

message

through

a

network

includes

the

total

volume

of

information

that

is

sent

through

the

network

in

multicasting

a

message

The

cost

represents

how

much

work

is

done

by

the

network

As

a

network

transmits

a

greater

volume

of

information

issues

like

congestion

and

flow

control

as

well

as

bandwidth

requirements

and

allocation

become

more

important

The

transmission

cost

takes

into

account

each

link

in

the

network

that

is

used

to

transmit

the

message

In

performing

a

multicast

transmission

the

total

network

cost

is

cost

S

msg

size

-LRB-

-RRB-

where

msg

size

data

overhead

-LSB-

-RSB-

The

cost

is

in

terms

of

total

bits

transmitted

over

all

links

in

the

multicast

tree

since

S

represents

the

total

number

of

links

a

message

must

pass

through

and

the

represents

the

amount

of

data

that

must

be

passed

through

a

node

including

the

data

and

the

overhead

from

the

underlying

causal

ordering

algorithm

Cost

Analysis

of

Three

Causal

Multicast

Algorithms

In

this

section

we

perform

cost

analyses

of

three

algorithms

to

determine

the

costperformance

tradeoffs

The

first

algorithm

the

delta

causal

multicast

method

-LSB-

-RSB-

provides

a

restricted

form

of

causal

ordering

known

as

the

triangle

inequality

supports

real-time

constraints

-LRB-

delta-causality

-RRB-

has

a

low

overhead

and

enforces

identical

ordering

of

concurrent

messages

for

all

sites

However

it

performs

a

multicast

by

a

series

of

unicasts

The

second

algorithm

the

causal

order

multicast

method

-LSB-

-RSB-

maintains

all

causal

order

relations

However

it

has

a

large

overhead

it

does

not

support

real-time

constraints

and

does

not

order

concurrent

message

The

third

algorithm

the

partition

method

proposed

in

this

paper

supports

groups

of

multicasts

to

small

number

of

sites

in

order

to

provide

delta-causality

Each

group

of

sites

receives

its

own

multicast

which

contains

control

information

specific

to

its

destinations

similar

to

the

delta

causal

multicast

method

It

is

designed

to

have

good

performance

for

topologies

that

can

be

divided

into

small

clusters

or

partitions

of

nodes

with

mostly

common

paths

Delta-Causal

Multicast

Method

The

delta-causal

multicast

method

is

a

low-overhead

method

that

provides

a

restricted

form

of

causal

ordering

called

delta-causal

ordering

-LSB-

-RSB-

This

method

handles

violations

in

causal

ordering

due

to

the

triangle

inequality

-LSB-

-RSB-

The

triangle

inequality

occurs

when

a

message

that

passes

through

an

intermediate

site

takes

less

time

to

arrive

at

its

destination

than

one

directly

sent

to

the

same

destination

For

example

in

Figure

message

is

sent

from

site

A

to

site

B

and

then

from

site

B

to

site

C

while

message

goes

directly

from

site

A

to

site

C

The

triangle

inequality

occurs

if

takes

less

time

to

travel

than

Most

violations

of

causal

ordering

in

a

real-time

environment

are

likely

to

be

due

to

the

triangle

inequality

because

a

message

sent

directly

to

its

destination

that

takes

longer

than

one

that

traverses

multiple

hops

is

likely

to

have

exceeded

its

deadline

A

B

C

Figure

Triangle

Inequality

Each

site

maintains

a

dependency

matrix

in

which

an

entry

at

-LRB-

i

j

-RRB-

represents

the

timestamp

of

the

last

known

timestamp

of

site

j

as

far

as

site

i

knows

The

timestamp

is

based

on

a

physical

clock

that

is

kept

synchronized

with

the

other

sites

within

some

error

tolerance

by

a

clock

synchronization

algorithm

-LSB-

-RSB-

For

each

message

sent

from

site

i

to

site

j

two

vectors

are

appended

to

each

message

The

vectors

are

row

i

and

column

j

of

the

dependency

matrix

Upon

arrival

of

the

message

the

vectors

are

compared

to

the

corresponding

ones

at

the

destination

in

order

to

detect

missing

messages

that

the

current

message

is

causally

dependent

on

Concurrent

messages

can

be

identically

ordered

based

on

the

clock

value

of

their

timestamps

The

algorithm

implements

multicast

support

by

having

the

underlying

communication

system

implement

multiple

unicasts

Since

two

vectors

of

length

N

are

added

to

each

message

the

overhead

for

each

message

is

N.

Therefore

the

cost

of

this

algorithm

denoted

as

costU

is

costU

SU

-LRB-

-RRB-

-LSB-

-RSB-

Causal

Order

Multicast

Method

The

causal

order

multicast

method

-LSB-

-RSB-

provides

complete

causal

ordering

of

messages

between

all

sites

however

the

message

overhead

of

this

method

is

much

greater

than

that

of

the

previous

one

A

dependency

matrix

like

the

one

used

in

the

previous

method

is

maintained

and

the

entire

matrix

is

transmitted

with

each

message

The

matrix

is

merged

with

the

recipient

site?s

matrix

and

missing

messages

are

detected

by

comparing

the

values

in

the

matrix

in

the

message

with

the

values

of

the

matrix

at

the

recipient

Messages

that

depend

on

other

messages

that

have

not

yet

arrived

are

held

until

those

missing

messages

have

arrived

Concurrent

messages

are

not

guaranteed

to

be

delivered

in

the

same

order

at

every

site

by

this

algorithm

Since

the

entire

dependency

matrix

must

be

sent

with

each

message

which

consists

of

N

vectors

of

length

N

the

overhead

for

each

message

is

Therefore

the

cost

of

this

algorithm

denoted

as

costM

is

costM

SM

-LRB-

-RRB-

-LSB-

-RSB-

Comparison

of

the

two

methods

Comparing

the

costs

of

equations

-LSB-

-RSB-

and

-LSB-

-RSB-

it

is

clear

the

delta

causal

multicast

method

is

more

expensive

than

the

causal

order

multicast

method

when

SU

-LRB-

-RRB-

SM

-LRB-

-RRB-

-LSB-

-RSB-

By

using

the

definition

of

efficiency

equation

-LSB-

-RSB-

can

be

rewritten

as

E

N

data

size

N

data

size

-LSB-

-RSB-

Regrouping

equation

-LSB-

-RSB-

yields

E

-LSB-

-RSB-

When

both

methods

have

equal

cost

equation

-LSB-

-RSB-

can

be

expressed

as

E

-LSB-

-RSB-

Applying

the

quadratic

formula

to

equation

-LSB-

-RSB-

yields

N

E

E

data

size

E

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LSB-

-RSB-

Thus

given

E

and

the

N

can

be

determined

which

represents

the

number

of

recipients

where

both

methods

are

of

equal

cost

Values

of

N

greater

than

the

value

computed

from

equation

-LSB-

-RSB-

represent

network

configurations

in

which

the

delta

causal

multicast

method

has

a

lower

cost

Similarly

the

causal

multicast

method

has

a

lower

cost

when

values

of

N

are

less

than

the

value

computed

from

equation

-LSB-

-RSB-

Note

that

the

quadratic

formula

produces

two

roots

to

the

equation

however

negative

values

for

N

have

no

meaning

and

will

be

ignored

As

a

simplifying

assumption

let

us

first

assume

that

is

equal

to

zero

This

allows

us

to

only

focus

on

the

second

term

of

the

costs

in

equations

-LSB-

-RSB-

and

-LSB-

-RSB-

which

represent

the

cost

of

the

overhead

of

the

algorithms

It

is

clear

that

the

causal

order

multicast

method

is

more

efficient

than

the

delta

causal

multicast

method

if

SU

which

can

be

expressed

as

SM/SU

Recall

that

efficiency

is

defined

as

Therefore

when

is

equal

to

zero

if

then

the

causal

order

multicast

method

has

less

overhead

-LRB-

sending

the

full

dependency

matrix

in

one

multicast

is

more

efficient

than

sending

vectors

for

N

unicasts

-RRB-

otherwise

the

delta-causal

ordering

algorithm

has

less

overhead

Assuming

is

zero

allows

a

low

cost

analysis

to

be

performed

and

provides

a

lower

bound

on

the

N

versus

E

curves

Any

point

below

that

curve

represents

a

value

of

N

and

E

in

which

the

causal

multicasts

method

has

the

least

overhead

In

addition

if

the

amount

of

data

is

small

in

comparison

to

the

control

information

this

equation

can

provide

an

approximation

of

the

cost

Given

E

and

a

non-zero

equation

-LSB-

-RSB-

gives

a

value

of

N

where

the

two

methods

are

of

equal

cost

Figure

plots

the

break-even

value

of

N

for

values

of

E

from

to

for

various

values

of

For

the

non-zero

the

value

of

was

chosen

to

be

and

in

order

to

model

small

and

large

messages

The

zero

curve

is

also

plotted

to

show

a

lower

bound

Points

above

the

curve

represent

values

where

the

delta

causal

multicast

method

is

cheaper

while

points

below

the

curve

represent

values

where

the

causal

order

multicast

method

is

cheaper

Note

that

the

causal

order

multicast

method

tends

to

have

a

lower

overhead

than

the

delta-causal

multicast

method

when

there

is

a

lot

of

path

sharing

which

implies

higher

efficiency

Number

of

Nodes

Efficiency

byte

data

byte

data

approx

method

Figure

Break-even

curve

for

N

vs.

E.

Comparing

the

two

methods

it

is

evident

that

assuming

a

zero

captures

the

basic

shape

of

the

curve

and

gives

a

lower

bound

to

the

E

vs.

N

curves

given

by

equation

-LSB-

-RSB-

As

decreases

the

curve

goes

down

converging

when

equals

zero

Anything

below

the

zero

curve

represents

a

point

where

the

causal

multicast

method

is

more

efficient

than

the

delta

causal

multicast

method

and

is

a

tight

bound

As

increases

the

difference

between

the

zero

curve

and

other

curves

increases

To

determine

the

least

expensive

method

given

a

network

topology

and

E

and

N

can

be

determined

and

compared

to

the

corresponding

point

on

the

zero

curve

The

zero

curve

is

easy

to

compute

and

serves

as

a

lower

bound

indicating

when

the

causal

order

multicast

method

is

the

least

expensive

If

the

point

corresponding

to

the

calculated

values

of

E

and

N

is

not

below

the

zero

curve

then

the

point

can

be

compared

to

the

curve

computed

by

equation

-LSB-

-RSB-

for

given

value

of

the

to

determine

which

algorithm

to

use

We

also

observe

that

for

small

numbers

of

recipient

nodes

in

general

the

delta

causal

multicast

method

is

cheaper

As

the

efficiency

of

the

topology

increases

the

causal

order

multicast

method

becomes

cheaper

than

the

delta

causal

multicast

method

The

curve

rises

exponentially

as

the

value

of

efficiency

approaches

one

In

addition

as

the

size

of

the

data

increase

the

curve

tends

to

be

higher

meaning

that

more

recipient

nodes

can

be

supported

by

the

causal

order

multicast

method

at

the

same

efficiency

level

Partition

Method

The

delta

causal

multicast

method

presented

does

not

directly

support

multicast

messages

The

partition

method

is

similar

to

the

delta

causal

multicast

method

but

it

directly

supports

multicasting

It

maintains

the

same

real-time

delta

causality

constraints

and

has

a

lower

cost

than

sending

the

entire

dependency

matrix

with

each

message

Basic

Idea

Figure

shows

an

example

of

a

network

topology

in

which

it

is

easy

to

partition

into

two

multicasts

The

first

partition

includes

sites

B

and

C

and

the

second

partition

includes

sites

D

and

E

A

D

B

E

C

Figure

Easily

partitioned

network

topology

The

partition

method

divides

the

multicast

topology

into

groups

or

partitions

-LRB-

refer

to

section

for

a

description

of

how

partitions

are

formed

-RRB-

The

multicast

is

broken

into

as

many

multicasts

as

there

are

groups

the

sender

sends

a

separate

multicast

for

each

group

Every

site

within

a

partition

receives

the

same

multicast

message

including

the

control

information

Sites

in

different

partitions

receive

different

multicast

messages

The

data

is

the

same

for

all

sites

but

the

control

information

differs

from

partition

to

partition

The

result

is

that

the

original

multicast

message

is

replaced

by

several

smaller

multicasts

Control

information

is

appended

to

every

message

The

control

information

in

a

message

is

similar

to

that

in

the

delta

causal

multicast

method

that

is

two

vectors

are

sent

with

every

message

from

site

i

to

site

j

specifically

row

i

and

column

j

of

the

dependency

matrix

at

site

i

Since

the

second

vector

i.e.

column

j

is

specific

to

the

destination

multicasting

a

message

to

all

of

the

recipients

in

a

partition

requires

adding

an

additional

vector

for

each

site

So

for

the

partition

method

for

each

partition

row

i

of

the

dependency

matrix

is

sent

as

well

as

every

column

j

for

a

node

j

in

the

partition

receiving

the

multicast

When

a

site

j

receives

a

multicast

message

from

site

i

it

extracts

two

vectors

row

i

and

column

j

from

the

control

information

that

was

appended

to

the

message

The

delta

causal

multicast

method

is

a

special

case

of

the

partition

method

in

which

each

partition

contains

only

one

element

The

worst

case

occurs

when

all

nodes

are

contained

in

one

partition

which

is

similar

to

the

delta

causal

multicast

For

N

recipients

all

in

one

partition

N

vectors

are

sent

with

each

vector

containing

N

element

which

is

an

overhead

of

N

In

this

case

the

overhead

cost

is

slightly

higher

than

that

of

the

causal

order

multicast

method

which

sends

the

full

dependency

matrix

with

each

message

and

has

an

overhead

of

However

if

partition

sizes

and

members

are

properly

selected

the

cost

is

less

than

either

of

the

previous

approaches

Cost

Analysis

We

now

analyze

the

cost

overhead

of

the

partition

method

Assume

there

are

k

partitions

where

each

partition

contains

q

nodes

-LRB-

initially

we

assume

there

are

an

equal

number

of

nodes

in

each

partition

-RRB-

So

the

number

of

recipients

of

the

multicast

N

is

q

k

N

Since

a

separate

multicast

is

done

for

each

partition

and

since

each

partition

can

have

different

characteristics

including

efficiency

one

S

value

is

not

sufficient

to

describe

the

cost

of

the

entire

multicast

Therefore

unlike

the

previous

two

methods

a

separate

S

value

must

be

computed

for

each

partition

The

variable

SMi

is

used

to

denote

the

SM

value

for

partition

i.

Therefore

SMi

reflects

the

number

of

links

that

are

required

to

send

a

multicast

message

to

a

partition

i

The

cost

of

sending

a

multicast

message

to

the

sites

in

partition

i

is

obtained

by

multiplying

SMi

by

the

amount

of

data

The

cost

for

each

partition

must

be

summed

in

order

to

compute

the

cost

of

the

entire

multicast

Using

the

definitions

from

Section

we

define

Part

Dest

i

where

Part

Dest

i

i

U

and

Part

Part

i

j

i

j

i

j

Gtop

-LRB-

Vtop

Etop

-RRB-

is

a

subgraph

of

G

and

is

a

tree

rooted

at

and

represents

the

multicast

topology

GPi

-LRB-

VPi

EPi

-RRB-

is

a

subgraph

of

Gtop

and

represents

the

multicast

topology

for

a

partition

i

where

EPi

VPi

x

VPi

VPi

Vtop

and

VPi

-LCB-

vx

x

vdest

Parti

such

that

vx

is

an

element

along

the

path

from

to

vdest

inclusive

-RCB-

SMi

is

defined

as

follows

S

E

Mi

Pi

-LSB-

-RSB-

Assuming

each

partition

contains

the

same

number

of

sites

say

q

each

message

contains

q

vectors

with

N

elements

per

vector

-LRB-

if

partition

sizes

are

not

of

the

same

size

a

different

value

of

q

can

be

used

for

each

partition

-RRB-

So

the

control

information

overhead

for

a

partition

is

described

as

overhead

-LRB-

q

-RRB-

N

Nq

N.

-LSB-

-RSB-

Therefore

the

multicast

cost

for

a

partition

is

-LRB-

Nq

N

-RRB-

SMi

-LSB-

-RSB-

where

SMi

is

the

S

value

for

the

multicast

for

partition

i

So

the

total

cost

of

the

entire

multicast

denoted

as

costP

is

defined

as

CostP

S

Nq

N

data

size

Mi

i

-LRB-

-RRB-

-LSB-

-RSB-

Partition

Method

The

Algorithm

Each

site

maintains

the

following

variables

Depi

represents

an

NxN

dependency

matrix

at

site

i

in

which

each

element

-LRB-

x

y

-RRB-

of

the

matrix

represents

the

timestamp

of

the

last

message

site

x

sent

to

site

y

as

far

as

site

i

knows

represents

the

current

time

indicated

by

the

local

real-time

clock

at

a

site

Every

site

has

a

clock

and

constantly

updates

it

by

an

underlying

clock

synchronization

algorithm

is

a

variable

that

denotes

the

amount

of

time

necessary

to

hold

a

message

to

compensate

for

the

network

transit

time

DD

represents

the

time

the

data

in

a

message

is

useful

and

is

defined

to

be

For

example

an

upper

bound

for

D

for

audio

data

is

milliseconds

Message-queue

is

a

priority

queue

to

hold

messages

that

have

arrived

from

the

communication

medium

but

have

not

yet

been

delivered

to

the

application

layer

The

queue

is

ordered

in

increasing

order

of

the

message

timestamp

Msg

is

the

multicast

message

it

consists

of

the

data

or

payload

denoted

as

msg.data

and

up

to

N

vectors

added

by

the

causal

order

algorithm

denoted

as

msg.vectx

where

x

N

Multicasting

a

Message

from

Site

i

to

Recipients

in

SendMessage

-LRB-

msg

i

f

-RRB-

-LCB-

j?f

Depi

-LSB-

i

j

-RSB-

x

-LRB-

-LSB-

x

-RSB-

Depi

-LSB-

i

x

-RSB-

-RRB-

row

i

of

dependency

matrix

n

FOREACH

z

in

-LRB-

f

-RRB-

x

-LRB-

msg.vectn

-LSB-

x

-RSB-

Depi

-LSB-

x

z

-RSB-

-RRB-

column

j

of

dependency

matrix

n

n

where

f

is

the

set

of

destinations

for

the

multicast

ENDFOREACH

Multicast

message

to

sites

in

f.

-RCB-

end

function

Receiving

A

Message

From

Site

i

At

Site

j

ReceiveMessage

-LRB-

msg

j

-RRB-

-LCB-

IF

-LRB-

-LSB-

j

-RSB-

D

-RRB-

THEN

Discard

message

the

msg

is

past

its

deadline

RETURN

ENDIF

insure

the

message

is

not

delivered

until

at

least

time

units

after

being

sent

wait

-LRB-

MAX

-LRB-

-LRB-

-LSB-

j

-RSB-

-RRB-

-RRB-

-RRB-

Rule

Extract

vector

corresponding

to

column

j

as

CheckAndDeliver

-LRB-

msg

j

-RRB-

-RCB-

end

function

Each

recipient

site

is

concerned

only

with

two

vectors

The

first

corresponds

to

row

i

of

the

sender

i?s

dependency

matrix

The

second

corresponds

to

column

j

-LRB-

for

a

particular

recipient

site

j

-RRB-

of

sender

i?s

dependency

matrix

Since

multiple

vectors

are

appended

to

a

message

sites

must

be

able

to

identify

which

vector

corresponds

to

which

column

of

the

dependency

matrix

This

can

be

done

by

including

an

ID

field

with

each

vector

or

by

agreeing

upon

some

a

priori

order

for

the

vectors

when

the

multicast

tree

is

formed

CheckAndDeliver

-LRB-

msg

j

-RRB-

-LCB-

compare

the

message

with

the

Dep

matrix

of

the

destination

site

-LRB-

j

-RRB-

Put

message

msg

in

queue

IF

-LRB-

DependencyExists

-LRB-

msg

Depj

-RRB-

-RRB-

THEN

Rule

Return

ENDIF

DeliverMessage

-LRB-

msg

-RRB-

deliver

message

with

no

dependencies

check

other

messages

in

queue

and

deliver

any

that

do

not

have

dependencies

since

other

messages

may

have

been

waiting

for

this

message

FOREACH

x

in

-LRB-

message-queue

-RRB-

IF

-LRB-

NOT

-LRB-

DependencyExists

-LRB-

x

Depj

-RRB-

-RRB-

THEN

DeliverMessage

-LRB-

x

-RRB-

ENDIF

ENDFOREACH

-RCB-

end

function

DeliverMessage

-LRB-

msg

-RRB-

-LCB-

deliver

message

and

merge

sending

site?s

dependency

vector

into

local

matrix

Remove

message

msg

from

queue

FOR

x

to

N

DO

IF

-LRB-

-LSB-

x

-RSB-

Depj

-LSB-

i

x

-RSB-

-RRB-

THEN

Depj

-LSB-

i

x

-RSB-

-LSB-

x

-RSB-

ENDIF

ENDFOR

-RCB-

end

function

Boolean

DependencyExists

-LRB-

msg

matrix

-RRB-

-LCB-

a

dependency

is

represented

by

a

timestamp

in

the

message

that

is

later

than

the

corresponding

one

in

the

dependency

matrix

provided

that

that

timestamp

is

no

older

than

by

D

-LRB-

i.e.

missing

message

has

not

expired

-RRB-

FOR

x

to

N

DO

IF

-LRB-

-LRB-

-LSB-

x

-RSB-

matrix

-LSB-

x

j

-RSB-

-RRB-

AND

-LRB-

-LSB-

x

-RSB-

-RRB-

D

-RRB-

THEN

RETURN

true

ENDIF

ENDFOR

RETURN

false

-RCB-

end

function

Additionally

when

a

message

is

put

in

the

queue

an

asynchronous

timer

is

set

at

MAX

-LRB-

-LSB-

x

-RSB-

D

-RRB-

for

all

x

When

the

timer

expires

the

system

checks

if

the

message

has

any

dependencies

by

calling

the

function

DependencyExists

-LRB-

-RRB-

The

message

is

discarded

if

so

and

delivered

otherwise

All

other

messages

in

the

queue

are

checked

for

dependencies

because

undelivered

messages

may

now

become

deliverable

if

the

queued

message

only

depends

upon

the

discarded

or

delivered

message

Once

the

message

is

delivered

-LRB-

or

discarded

-RRB-

the

other

messages

on

its

dependency

chain

can

be

delivered

The

proof

of

correctness

for

the

delta

causal

multicast

method

presented

in

-LSB-

-RSB-

applies

to

the

partition

method

Since

the

delta

causal

method

is

a

special

case

of

the

partition

method

in

which

all

recipients

are

in

the

same

partition

the

proof

can

be

generalized

to

apply

to

the

partition

method

Selecting

Elements

in

a

Partition

Selecting

nodes

in

a

partition

has

a

strong

influence

on

the

cost

of

multicasting

the

data

in

the

partition

method

In

addition

the

number

of

nodes

in

a

partition

also

influences

the

cost

The

efficiency

of

a

partition

is

equivalent

to

the

definition

of

efficiency

from

equation

-LSB-

-RSB-

except

that

SU

and

SM

are

only

computed

for

the

nodes

in

parti

The

following

simple

heuristic

servers

as

a

criterion

to

decide

whether

a

node

should

be

included

in

a

partition

Let

a

be

the

minimum

allowed

efficiency

for

any

partition

A

node

vx

can

be

added

to

partition

i

if

the

efficiency

of

the

partition

is

greater

than

or

equal

to

a

The

size

of

a

partition

plays

an

important

roll

in

influencing

the

total

cost

of

a

multicast

for

the

partition

method

In

Section

we

analyze

the

effect

the

size

of

a

partition

has

on

the

cost

Performance

Results

In

this

section

we

compute

the

total

network

transmission

cost

using

the

causal

order

multicast

delta

causal

multicast

and

partition

methods

on

four

different

topologies

For

the

partition

method

three

partitions

of

two

recipients

each

were

used

-LRB-

in

Section

we

example

how

partition

size

affects

the

cost

-RRB-

For

the

purpose

of

comparative

analysis

we

focus

on

some

extreme

cases

with

respect

to

efficiency

similar

to

the

examples

in

Figure

In

the

multicast

topology

shown

in

Figure

the

split

occurs

late

and

most

of

the

path

from

the

sender

to

the

recipients

is

shared

In

contrast

Figure

shows

a

multicast

topology

where

the

elements

split

as

early

as

possible

and

there

is

no

path

sharing

The

late

split

topology

is

well

suited

for

multicasting

while

the

early

split

topology

is

not

Figure

shows

a

topology

where

the

nodes

quickly

split

into

smaller

subgroups

and

the

subgroups

split

into

individual

recipients

at

the

final

stage

Figure

shows

a

topology

in

which

there

are

two

groups

of

recipient

nodes

one

group

that

is

relatively

close

to

the

sender

and

another

that

is

relatively

far

from

the

sender

This

topology

represents

a

less

extreme

case

that

may

be

more

likely

to

occur

in

practice

than

the

previous

examples

Since

we

are

concerned

with

the

overhead

imposed

by

the

algorithms

is

initially

assumed

to

be

zero

in

the

examples

The

results

for

non-zero

are

presented

in

Error

Reference

source

not

found

and

Error

Reference

source

not

found

Analytical

Results

Figure

Late

Split

Topology

Case

Late

Split

Figure

shows

a

topology

where

the

split

occurs

late

and

most

of

the

path

from

the

sender

to

the

recipients

is

shared

Specifically

only

the

final

element

of

the

path

is

not

shared

among

all

recipients

It

represents

an

efficient

multicast

topology

For

this

case

SM

SU

SMi

for

i

Efficiency

CostP

-LRB-

-RRB-

CostM

-LRB-

-RRB-

CostU

-LRB-

-RRB-

Recall

that

the

cost

for

the

partition

method

is

-LRB-

N

q

N

-RRB-

SMi

which

is

Since

the

partitions

in

the

late

split

and

early

split

examples

contain

the

same

number

of

nodes

and

all

nodes

have

the

same

path

lengths

the

cost

of

each

partition

will

be

the

same

Since

all

partitions

have

the

same

cost

-LRB-

except

in

the

combined

local

and

remote

topology

Figure

-RRB-

the

cost

for

only

one

partition

is

calculated

and

the

total

cost

for

all

partitions

is

obtained

by

multiplying

the

cost

of

the

partition

by

the

number

of

partitions

For

the

causal

order

multicast

method

the

overhead

from

the

vectors

is

which

is

in

all

of

the

examples

For

the

delta

causal

multicast

method

the

overhead

from

the

vectors

is

which

is

The

multicast

topology

in

this

example

is

fairly

efficient

almost

The

cost

of

all

three

methods

is

fairly

close

in

this

case

but

the

partition

method

has

the

least

cost

with

the

causal

order

multicast

method

second

and

the

delta

causal

multicast

method

being

the

worst

The

delta

causal

multicast

method

is

the

most

expensive

method

in

this

case

because

the

efficiency

of

the

topology

is

high

enough

so

that

the

cost

of

unicasting

smaller

messages

with

two

vectors

is

greater

than

sending

one

large

message

with

vectors

The

partition

approach

has

the

least

cost

because

it

performs

multicasts

efficiently

while

sending

smaller

messages

only

three

vectors

per

message

For

two

partitions

of

three

elements

Costp

and

for

only

one

partition

Costp

Note

that

using

two

partitions

of

three

elements

each

is

marginally

worse

than

using

three

partitions

with

two

elements

each

Figure

Early

Split

Topology

-LRB-

worst

case

scenario

-RRB-

Case

Early

Split

Figure

shows

a

multicast

topology

where

elements

split

as

early

as

possible

No

component

of

the

path

to

any

recipient

is

shared

This

is

a

worst

case

scenario

with

an

efficiency

of

For

this

case

SM

SU

SMi

for

i

Efficiency

CostP

-LRB-

-RRB-

CostM

-LRB-

-RRB-

CostU

-LRB-

-RRB-

This

is

a

worst

case

example

in

which

the

multicast

topology

is

the

same

as

a

series

of

unicasts

since

no

path

component

whatsoever

is

shared

-LRB-

hence

an

efficiency

of

-RRB-

In

this

example

the

partition

method

is

tied

with

the

delta

causal

multicast

method

for

having

the

least

cost

with

the

multicast

method

being

about

three

times

worse

With

the

low

efficiency

sending

an

entire

matrix

with

every

message

becomes

very

costly

resulting

in

the

high

overhead

of

the

multicast

method

The

delta

causal

multicast

method

sends

each

recipient

a

separate

message

sharing

no

information

and

is

well

suited

for

a

topology

where

the

efficiency

of

the

topology

is

low

The

partition

method

has

the

same

cost

as

the

delta

causal

multicast

method

While

it

attempts

to

utilize

any

underlying

multicasts

if

there

is

no

inherent

path

sharing

in

the

topology

there

is

nothing

it

can

exploit

The

relatively

low

overhead

coupled

with

small

partition

sizes

allows

this

method

to

be

no

more

expensive

than

the

delta

causal

multicast

method

in

this

case

While

it

is

designed

to

exploit

underlying

multicasting

and

have

a

lower

cost

than

the

delta

causal

multicast

method

it

is

not

a

guaranteed

performance

as

the

following

example

demonstrates

In

a

topology

similar

to

Figure

in

which

each

path

has

a

length

of

seven

rather

than

six

-LRB-

because

a

node

is

added

to

each

path

increasing

the

total

number

of

nodes

from

to

-RRB-

Costp

CostM

CostU

The

early

split

topology

is

a

poor

choice

to

use

for

any

type

of

multicasting

It

is

unlikely

that

this

type

of

topology

with

this

low

of

an

efficiency

would

be

used

in

practice

in

a

multicasting

environment

Figure

Mixed

Split

Topology

Case

Mixed

Split

The

mixed

split

topology

combines

the

characteristics

of

both

the

early

split

and

late

split

topologies

The

mixed

split

topology

has

an

early

initial

split

as

well

as

a

second

split

at

the

end

Figure

shows

such

a

topology

where

the

nodes

quickly

split

into

smaller

subgroups

and

the

subgroups

split

into

individual

recipients

at

the

final

stage

This

is

a

simple

model

where

intuitively

it

seems

the

partition

method

should

perform

well

In

this

topology

how

partitions

are

formed

has

a

major

impact

on

the

total

cost

for

the

partition

method

The

partitions

are

constructed

efficiently

if

the

nodes

in

a

partition

share

most

of

their

path

such

as

partitions

-LRB-

-LCB-

-RCB-

-LCB-

-RCB-

and

-LCB-

-RCB-

-RRB-

If

the

nodes

in

a

partition

share

little

of

their

path

then

the

partitions

are

said

to

be

constructed

inefficiently

For

this

case

SM

SU

SMi

-LRB-

if

partitioned

efficiently

specifically

-LCB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-RCB-

-RRB-

for

i

SMi

-LRB-

if

partitioned

inefficiently

e.g.

-LCB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-RCB-

-RRB-

for

i

Efficiency

CostP

efficient

-LRB-

-RRB-

CostP

inefficient

-LRB-

-RRB-

CostM

-LRB-

-RRB-

CostU

-LRB-

-RRB-

The

efficiency

of

this

topology

is

about

Since

this

efficiency

is

not

very

high

the

causal

order

multicast

method

does

not

perform

well

and

the

delta

causal

multicast

method

is

significantly

less

expensive

If

the

partitions

are

constructed

efficiently

then

the

partition

method

has

the

least

overhead

This

is

because

the

partition

method

takes

advantage

of

the

high

local

efficiency

of

the

partitions

due

to

the

high

amount

of

shared

paths

within

each

partition

even

if

the

overall

efficiency

of

the

multicast

topology

is

fairly

low

However

a

poor

choice

of

elements

for

a

partition

results

in

a

cost

that

is

even

greater

than

the

multicast

method

The

rest

of

the

examples

in

this

paper

only

consider

efficient

partitions

Thus

the

partition

method

has

a

cost

that

is

less

than

the

other

two

methods

Similarly

for

the

same

topology

but

with

path

lengths

increased

to

seven

-LRB-

by

adding

an

additional

node

in

the

three

middle

paths

in

the

graph

-RRB-

the

cost

of

the

partition

method

is

still

cheaper

at

with

the

delta

causal

multicast

at

and

the

causal

order

multicast

method

at

If

the

path

lengths

are

increased

to

the

cost

of

the

partition

method

is

the

delta

causal

multicast

method

is

and

the

causal

order

multicast

method

is

Figure

Combined

Local

and

Remote

Topology

Case

Combined

Local

and

Remote

Figure

shows

a

topology

in

which

there

are

two

types

of

recipient

nodes

local

and

remote

The

local

nodes

are

relatively

close

to

the

sender

and

the

remote

nodes

are

relatively

far

from

the

sender

There

are

two

partitions

in

this

example

one

consisting

of

the

three

local

nodes

that

are

two

hops

away

from

the

sender

and

the

other

consisting

of

the

three

remote

nodes

that

are

six

hops

away

from

the

sender

Such

a

situation

arises

when

messages

are

multicast

to

several

distinct

clusters

of

nodes

For

this

case

SM

SU

-LRB-

local

group

-RRB-

-LRB-

remote

group

-RRB-

Efficiency

CostP

CostM

-LRB-

-RRB-

CostU

-LRB-

-RRB-

In

this

example

the

multicast

method

has

considerably

more

overhead

while

the

delta

causal

multicast

and

partition

methods

have

identical

overheads

For

the

same

topology

where

the

remote

nodes

path

length

is

-LRB-

by

introducing

one

additional

node

in

the

middle

of

the

topology

-RRB-

the

efficiency

is

approximately

and

the

costs

for

partition

causal

order

multicast

and

delta

casual

multicast

methods

are

and

respectively

Similarly

if

the

path

length

is

the

efficiency

is

approximately

and

the

costs

for

the

partition

causal

order

multicast

and

delta

causal

multicast

methods

are

and

respectively

Such

topologies

where

there

are

clusters

of

nodes

that

share

most

of

their

path

are

well

suited

for

the

partition

method

since

the

nodes

can

easily

be

grouped

into

partitions

where

all

nodes

in

a

partition

share

almost

every

component

of

their

path

While

the

overall

efficiency

of

the

topology

is

not

that

high

the

partition

method

can

utilize

the

relatively

high

local

efficiency

of

the

nodes

within

each

partition

Table

summarizes

the

total

costs

for

these

sample

topologies

presented

in

the

four

cases

using

the

three

different

methods

for

equal

to

zero

The

table

also

includes

values

for

the

combined

local

and

remote

topology

for

different

values

of

the

path

length

of

the

remote

cluster

The

first

column

represents

the

topology

name

with

the

path

length

in

parentheses

The

second

third

and

fourth

columns

represent

the

total

cost

for

the

delta

causal

multicast

causal

order

multicast

and

partition

methods

respectively

The

total

cost

of

a

multicast

is

directly

related

to

the

efficiency

of

the

topology

and

the

size

of

the

data

We

observe

that

the

partition

method

consistently

performs

better

than

the

other

methods

in

most

cases

with

the

exception

of

the

early

split

topology

Note

however

that

that

topology

is

poorly

suited

for

multicasting

The

performance

of

the

partition

method

in

the

combined

local

and

remote

topology

improves

as

the

length

of

the

remote

path

increases

since

the

efficiency

increases

with

the

path

length

In

general

the

delta

causal

multicast

method

is

second

and

the

causal

order

multicast

method

is

third

with

respect

to

total

cost

Table

and

Table

summarize

the

costs

when

equals

and

respectively

in

order

to

model

the

total

cost

for

small

and

large

message

As

increases

the

difference

between

the

least

and

second

least

most

expensive

methods

decreases

Even

though

the

multicast

method

performs

well

for

certain

topologies

while

for

others

the

delta

causal

order

method

performs

well

the

partition

method

consistently

has

a

low

overhead

and

generally

has

the

least

overhead

In

the

cases

in

which

it

does

not

have

the

least

overhead

its

performance

is

comparable

to

the

method

with

the

least

overhead

Therefore

the

partition

method

has

good

overall

performance

for

differing

topologies

Table

Costs

for

the

Sample

Topologies

for

Equal

to

Zero

Topology

CostU

CostM

CostP

Late

Split

432 396 378

Early

Split

-LRB-

-RRB-

432 1296 432

Early

Split

-LRB-

-RRB-

504 1512 756

Mixed

Split

-LRB-

-RRB-

432 756 378

Mixed

Split

-LRB-

-RRB-

504 864 432

Mixed

Split

-LRB-20-RRB- 1440 2268

Combined

Local/Remote

-LRB-

-RRB-

252 360 264

Combined

Local/Remote

-LRB-

-RRB-

288 396 288

Combined

Local/Remote

-LRB-

-RRB-

360 469 336

Combined

Local/Remote

-LRB-10-RRB- 432 540

Combined

Local/Remote

-LRB-20-RRB- 792 900

Table

Costs

for

the

Sample

Topologies

for

Equal

to

Topology

CostU

CostM

CostP

Late

Split

4096 1496 2478

Early

Split

4032 4896 6048

Mixed

Split

-LRB-

-RRB-

4032 2856 2478

Mixed

Split

-LRB-20-RRB- 8568 13440

Combined

Local/Remote

-LRB-

-RRB-

2688 1496 1488

Combined

Local/Remote

-LRB-20-RRB- 7392 3400

Table

Costs

for

the

Sample

Topologies

for

Equal

to

Topology

CostU

CostM

CostP

Late

Split

Early

Split

Mixed

Split

-LRB-

-RRB-

Mixed

Split

-LRB-20-RRB- 121440

Combined

Local/Remote

-LRB-

-RRB-

Combined

Local/Remote

-LRB-

-RRB-

Partition

Size

There

are

various

ways

to

form

partitions

depending

upon

the

partition

size

-LRB-

number

of

elements

in

a

partition

-RRB-

and

what

elements

are

selected

for

a

partition

We

now

examine

the

effect

that

partition

size

has

on

the

total

cost

for

the

partition

method

local

remote

Figure

Changing

Partition

Sizes

The

topology

from

Figure

consists

of

two

clusters

a

remote

cluster

in

which

each

recipient

has

a

path

length

of

and

a

local

cluster

in

which

each

recipient

has

a

path

length

of

two

First

we

assume

that

each

local

cluster

consists

of

recipients

Without

mixing

the

local

and

remote

recipients

there

are

different

sizes

for

the

partitions

and

elements

The

respective

costs

for

these

partition

sizes

are

Now

if

we

assume

that

each

cluster

consists

of

recipients

then

there

are

different

sizes

for

the

partitions

and

elements

The

respective

costs

for

these

partition

sizes

are

and

Figure

is

a

plot

of

the

partition

size

versus

the

total

cost

for

the

partition

method

for

several

different

values

for

the

number

of

destinations

With

the

exception

of

when

there

is

only

one

element

in

a

partition

the

cost

increases

as

the

number

of

elements

in

a

partition

increase

This

indicates

that

the

partition

method

is

most

efficient

when

there

are

a

small

number

of

elements

in

a

partition

Cost

Number

of

nodes

in

a

partition

nodes

total

nodes

total

nodes

total

nodes

total

Figure

Number

of

Elements

in

a

Partition

vs.

Cost

Conclusions

ATM

networks

are

high-speed

connection-oriented

cell-switched

networks

that

can

provide

a

guaranteed

quality

of

service

and

are

designed

to

be

used

for

both

local

and

wide

area

networks

Because

of

their

high-speed

and

QOS

guarantees

ATM

networks

are

becoming

popular

in

multimedia

applications

Causal

multicasting

algorithms

are

important

to

multimedia

applications

because

they

guarantee

that

messages

that

are

multicast

to

multiple

recipients

are

delivered

in

a

consistent

order

that

preserves

cause

and

effect

relationships

For

example

causal

multicasting

can

be

used

for

a

conference

call

application

that

involve

recipients

at

several

remote

locations

In

such

an

application

the

cause

and

effect

relation

between

messages

should

be

preserved

while

delivering

the

data

within

real-time

constraints

In

this

paper

we

developed

a

method

of

expressing

the

efficiency

of

a

multicast

for

a

given

network

topology

The

efficiency

describes

the

amount

of

sharing

among

the

network

paths

The

greater

the

number

of

shared

paths

the

higher

the

efficiency

Given

the

efficiency

and

the

data

size

we

developed

a

framework

to

characterize

and

evaluate

the

cost

of

causal

multicast

algorithms

We

discussed

three

methods

to

support

causal

multicasting

on

ATM

networks

namely

the

causal

order

multicast

delta

causal

multicast

and

partition

methods

The

causal

order

multicast

method

supports

causal

ordering

but

does

not

support

real-time

constraints

and

has

a

high

overhead

O

-LRB-

-RRB-

The

delta

causal

multicast

method

eliminates

violations

in

causal

order

only

due

to

the

triangle

inequality

however

it

supports

a

time

restricted

form

of

causal

ordering

known

as

delta-causal

order

and

has

a

much

lower

overhead

than

the

causal

order

multicast

method

O

-LRB-

-RRB-

The

third

method

the

partition

method

developed

in

this

paper

exploits

the

multicasting

ability

of

the

communication

network

and

typically

has

a

lower

cost

than

the

other

two

methods

Utilizing

the

developed

framework

for

evaluating

the

causal

multicast

algorithms

we

analyzed

the

performance

of

the

three

methods

with

respect

to

their

overhead

cost

for

four

distinct

network

topologies

Since

the

overhead

of

these

methods

depends

upon

the

underlying

topology

of

the

multicast

network

four

different

sample

topologies

were

used

to

represent

various

routing

configurations

and

efficiencies

While

the

overhead

cost

of

the

three

methods

is

sensitive

to

the

underlying

multicast

topology

the

partition

method

is

also

sensitive

to

the

nodes

that

comprise

of

each

partition

and

the

number

of

nodes

in

a

partition

We

analyzed

the

performance

of

the

partition

method

with

respect

to

the

partition

size

too

In

general

our

analysis

indicates

that

if

the

multicast

topology

is

quite

efficient

-LRB-

-RRB-

the

causal

multicast

method

has

the

least

overhead

However

the

overhead

of

sending

a

matrix

of

size

with

each

message

quickly

increases

the

total

cost

as

the

efficiency

decreases

For

topologies

with

lower

efficiencies

-LRB-

-RRB-

the

delta-causal

ordering

method

was

found

to

perform

best

since

its

message

overhead

of

compensates

for

the

lower

efficiency

The

partition

approach

is

well

suited

for

multicast

topologies

which

have

distinct

and

the

sites

in

each

group

share

most

of

their

paths

with

each

other

The

combined

local

and

remote

topology

represents

such

a

situation

which

might

arise

frequently

in

ATM

networks

since

these

networks

can

serve

as

both

a

local

and

wide

area

networks

-LRB-

LANs

and

WANs

-RRB-

The

partition

method

performs

well

with

this

topology

since

it

exploits

the

local

efficiency

of

the

clusters

even

when

the

overall

efficiency

of

the

network

is

not

very

high

The

partition

method

is

efficient

supports

multicast

and

in

general

has

a

low

cost

Its

overhead

is

least

when

the

nodes

in

a

partition

share

most

of

their

paths

and

the

number

of

nodes

in

a

partition

is

small

The

cost

equations

derived

in

the

developed

framework

can

be

used

to

measure

the

cost

of

causal

multicast

algorithms

and

compare

them

against

each

other

Future

work

includes

simulating

the

performance

of

the

three

methods

Since

the

performance

of

the

methods

is

topologically

dependent

it

will

be

necessary

to

experimentally

determine

what

types

of

multicast

topologies

will

be

commonly

used

by

observing

real

networks

Finally

a

hybrid

approach

that

switches

between

the

three

different

methods

based

on

the

topology

and

the

size

of

the

data

may

be

the

best

method

and

should

be

explored

as

well

References

Frank

Adelstein

and

Mukesh

Singhal

Real-Time

Causal

Message

Ordering

in

Multimedia

Systems

to

appear

in

the

Proceedings

of

the

International

Conference

on

Distributed

Computing

Systems

Vancouver

June

-LRB-

Also

available

as

Technical

Report

The

Ohio

State

University

March

-RRB-

Kenneth

Birman

Andr

Schiper

and

Pat

Stephenson

Lightweight

Causal

and

Atomic

Group

Multicast

ACM

Transactions

on

Computer

Systems

-LRB-

-RRB-

August

pp.

Nim

Cheung

The

Infrastrucutre

for

Gigabit

Computer

Networks

IEEE

Communications

Magazine

-LRB-

-RRB-

April

pp.

Douglas

Comer

Internetworking

with

TCP/IP

Principles

and

Architecture

Prentice-Hall

John

Matthew

Simon

Doar

Multicast

in

the

Asynchronous

Transfer

Mode

Environment

Ph.D.

Thesis

St.

John?s

College

University

of

Cambridge

January

R.

Gusella

S.

Zatti

The

Accuracy

of

the

Clock

Synchronization

Achieved

by

TEMPO

in

Berkeley

UNIX

BSD

IEEE

Transactions

on

Software

Engineering

-LRB-

-RRB-

July

pp.

The

Institute

for

Electrical

and

Electronics

Engineers

Carrier

Sense

Multiple

Access

with

Collision

Detections

-LRB-

CSMA/CD

-RRB-

Access

Method

and

Physical

Layer

Specifications

American

National

Standards

ANSI/IEEE

Std

Chong-Kwon

Kim

and

Tony

T.

Lee

Call

Scheduling

Algorithms

in

a

Multicast

Switch

IEEE

Transactions

on

Communications

-LRB-

-RRB-

March

pp

Leslie

Lamport

Time

Clocks

and

the

Ordering

of

Events

in

a

Distributed

System

International

Standards

Organization

Basic

Reference

Model

for

Open

System

Interconnections

ISO

J.

Bryan

Lyles

and

Daniel

C.

Swinehart

The

Emerging

Gigabit

Environment

and

the

Role

of

Local

ATM

IEEE

Communications

Magazine

April

M.

Macedonia

and

D.

Brutzman

MBone

Provides

Audio

and

Video

Across

the

Internet

IEEE

Computer

-LRB-

-RRB-

April

pp.

Robert

Metcalfe

and

David

Boggs

Ethernet

Distributed

Packet

Switching

for

Local

Computer

Networks

Communications

of

the

ACM

-LRB-

-RRB-

July

pp

David

Mills

Internet

Time

Synchronization

The

Network

Time

Protocol

IEEE

Transactions

on

Communications

-LRB-

-RRB-

October

pp.

Achour

Mostefaoui

Michel

Raynal

Causal

Multicasts

in

Overlapping

Groups

Towards

a

Low

Cost

Approach

IEEE

Int

Conf

on

Future

Trends

of

Distr

Comp

Systems

Lisboa

September

Ciro

A.

Noronha

Jr.

and

Fouad

A.

Tobagi

Optimum

Routing

of

Multicast

Streams

in

the

Proceedings

of

the

IEEE

Infocom

pp.

Larry

Peterson

Nick

Buchholz

and

Richard

Schlichting

Preserving

and

Using

Context

Information

in

Interprocess

Communication

ACM

Transactions

on

Computer

Systems

-LRB-

-RRB-

August

pp.

M.

de

Prycker

Asynchronous

Transfer

Mode

Ellis

Howood

Ltd.

A.

Schiper

J.

Eggli

A.

Sandoz

A

New

Algorithm

to

Implement

Causal

Ordering

In

Proceedings

of

the

International

Workshop

on

Distributed

Algorithms

in

Lecture

Notes

in

Computer

Science

Springer-Verlag

New

York

pp.

Nachum

Sharcham

and

James

S.

Meditch

An

Algorithm

For

Optimal

Multicast

of

Multimedia

Streams

in

the

Proceedings

of

the

IEEE

Infocom

pp.

Jonathan

Turner

An

Optimal

Nonblocking

Multicast

Virtual

Circuit

Switch

in

the

Proceedings

of

the

IEEE

Infocom

pp.

Raj

Yavatkar

MCP

A

Protocol

For

Coordination

and

Temporal

Synchronization

in

Multimedia

Collaborative

Applications

In

the

Proceedings

of

the

International

Conference

on

Distributed

Computing

Systems

pp.