AN

IMPROVED

CHARACTERIZATION

OF

RECOVERABLE

EMBEDDINGS

RINGS

IN

HYPERCUBES

Junlin

Liu

Thomas

J.

Sager

and

Bruce

M.

McMillin

Nov.

Department

of

Computer

Science

University

of

Missouri

at

Rolla

Rolla

Missouri

ff@cs.umr.edu

This

work

was

supported

in

part

by

the

National

Science

Foundation

under

Grant

Number

and

in

part

from

the

Air

Force

Of?ce

of

Scienti?c

Research

under

contract

number

Abstract

An

embedding

is

said

to

be

recoverable

if

any

single

fault

in

the

embedding

can

be

recovered

in

one

recon?guration

step

In

this

paper

we

present

a

heuristic

approach

to

construct

such

recoverable

embeddings

We

show

that

to

embed

a

k

-LRB-

even

-RRB-

length

ring

in

a

d-cube

where

k

and

d

our

scheme

will

guarantee

nding

a

recoverable

embed

ding

provided

such

an

embedding

exists

Compared

to

other

previously

proposed

schemes

our

scheme

achieves

much

better

results

Asuf?cient

condition

for

the

non-existence

of

recoverable

embeddings

for

embedding

rings

of

length

in

d-cubes

is

also

given

I.

Introduction

The

embedding

of

various

topologies

in

hypercubes

is

a

popular

research

topic

-LSB-

-RSB-

Most

of

this

research

assumes

that

processors

on

hypercubes

are

fault-free

However

with

the

increasing

size

of

parallel

computer

architecture

the

processors

tend

to

become

faulty

and

thus

a

consideration

for

reliability

and

fault

tolerance

is

needed

Recently

recon?gurable

embedding

schemes

have

been

considered

-LSB-

-RSB-

Such

research

emphasizes

on

devising

an

initial

embedding

which

facilitates

a

recon?gurable

system

to

recover

any

fault

with

the

aim

of

minimal

recovery

cost

and

performance

degradation

Generally

wesay

an

embedding

is

t

step

recoverable

if

a

single

fault

in

the

embedding

can

be

recovered

by

changing

the

states

of

at

most

t

fault-free

nodes

We

will

discuss

the

ideas

of

state

of

nodes

in

an

embedding

and

recovery

cost

further

in

Section

II

Since

those

embeddings

which

are

recoverable

are

the

most

interesting

in

this

paper

we

focus

on

dealing

with

the

recoverable

embeddings

of

a

speci?c

topology

the

ring

in

hypercubes

Throughout

this

paper

we

use

to

denote

the

phrase

recoverable

embedding

Some

recon?gurable

embedding

schemes

of

rings

in

hypercubes

have

been

reported

in

the

literature

-LSB-

-RSB-

Only

two

of

them

are

designed

to

deal

with

the

problem

of

recoverable

embeddings

-LSB-

-RSB-

For

convenience

we

shall

call

these

two

recon?gurable

schemes

as

Tsai

's

-LSB-

-RSB-

and

Lee

's

-LSB-

-RSB-

respectively.Tsai

sisdesigned

to

embed

rings

of

length

or

in

d-cubes

such

that

the

resulted

embeddings

will

be

recoverable

Since

this

scheme

only

deals

with

rings

of

two

speci?c

lengths

Tsai

sisavery

restricted

scheme

Lee

's

-LRB-

i.e.

in

-LSB-

-RSB-

-RRB-

can

embed

any

even

length

ring

in

hypercubes

and

the

resulted

embedding

is

recoverable

However

the

trade-offfor

such

excellent

performance

of

Lee

sisthe

large

expansion

-LRB-

i.e.

the

ratio

of

the

size

-LRB-

in

number

of

nodes

-RRB-

of

the

embedding

hypercube

to

that

of

the

embedded

ring

-RRB-

So

in

terms

of

processor

utilization

Lee

sisnot

an

ef?cient

scheme

In

this

paper

wepresent

a

heuristic

scheme

to

systematically

construct

sof

k

length

rings

in

d-cubes

where

k

is

even

k

and

d

Our

scheme

was

initiated

by

the

fol

lowing

conjecture

If

there

exists

a

of

a

length

ring

in

a

d-cube

and

a

of

a

length

ring

in

a

d-cube

then

there

exists

a

of

a

-LRB-

-RRB-

length

ring

in

a

-LRB-

d

-RRB-

cube

We

then

proved

that

the

conjecture

above

is

true

In

fact

a

of

a

-LRB-

-RRB-

length

ring

in

a

-LRB-

d

-RRB-

cube

can

be

obtained

by

directly

combining

a

of

a

length

ring

in

a

d-cube

and

a

a

length

ring

in

a

d-cube

with

some

modi?cation

Aformal

proof

is

given

to

show

the

correctness

of

our

approach

The

organization

of

this

paper

is

as

follows

Section

II

reviews

the

failure

model

and

recon?guration

algorithm

in

-LSB-

-RSB-

The

details

of

the

proposed

heuristic

scheme

and

formal

proof

are

given

in

Section

III

Section

IV

discusses

a

suf?cient

condition

for

the

non-existence

of

's

The

concluding

remarks

follow

as

Section

V.

II

FailureModel

and

Recon?guration

Algorithm

In

embedding

the

guest

graph

is

the

network

topology

that

we

are

interested

in

simulating

using

a

host

graph.Since

we

deal

only

with

embedding

rings

in

d-cubes

the

guest

graph

of

the

embedding

is

a

k

length

ring

-LRB-

denoted

as

R

k

-RRB-

and

the

host

graph

is

a

hypercube

of

dimension

d

-LRB-

denoted

as

Cd

or

d-cube

-RRB-

A

d-cube

is

an

undirected

graph

with

nodes

labeled

through

There

is

an

edge

between

a

given

pair

of

nodes

if

and

only

if

the

binary

representation

of

their

labels

differ

by

exactly

one

bit

-LSB-

-RSB-

It

is

easy

to

see

that

Rk

is

embeddable

in

Cd

if

and

only

if

there

exists

a

subgraph

in

Cd

which

is

isomorphic

to

R

k

So

the

idea

of

recon?guration

is

to

maintain

a

fault-free

subgraph

in

Cd

that

is

isomorphic

to

R

k

The

recovery

model

and

recon?guration

algorithm

used

in

this

paper

follow

those

in

-LSB-

-RSB-

and

-LSB-

-RSB-

respectively.For

the

completeness

of

this

paper

webrie?y

summarize

their

ideas

and

approaches

here

FailureModel

Every

node

of

Cd

is

given

a

state

active

state

inactive

or

sparestate

or

faulty

state

Active

states

are

denoted

by

the

labels

k

where

k

is

the

length

of

the

embedded

ring

Inactive

or

spare

states

are

denoted

by

and

faulty

states

are

denoted

by

The

state

of

Cd

is

the

S

-LRB-

x

-RRB-

-LRB-

S

-LRB-

-RRB-

S

-LRB-

-RRB-

S

-LRB-

-RRB-

-RRB-

where

S

-LRB-

xi

-RRB-

isthe

state

of

node

x

i

in

Cd.Fig

shows

an

example

of

above

state

assignments

for

embedding

a

in

a

the

initial

state

of

is

S

-LRB-

-RRB-

-LRB-

-RRB-

The

embedded

graph

and

the

embedding

graph

with

every

node

labeled

with

its

state

is

shown

in

Fig.

-LRB-

a

-RRB-

and

Fig

-LRB-

b

-RRB-

respectively.Asindicated

by

the

arrowed

lines

contains

a

subgraph

isomorphic

to

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

Fig.

-LRB-

a

-RRB-

Fig.

-LRB-

b

-RRB-

Fig.

-LRB-

a

-RRB-

The

guest

graph

-LRB-

b

-RRB-

The

embedding

in

the

host

graph

with

every

node

labelled

with

a

state

Afault

F

-LRB-

S

-LRB-

x

j

-RRB-

-RRB-

happens

if

Cd

has

no

active

node

in

state

S

-LRB-

x

j

-RRB-

corresponding

to

a

node

of

R

k

For

example

if

the

node

in

Fig.

-LRB-

b

-RRB-

becomes

faulty

the

state

of

will

become

S

-LRB-

-RRB-

-LRB-

-RRB-

and

state

is

replaced

by

state

Thus

fault

detection

will

be

based

on

the

identi?cation

of

a

missing

state

of

the

k

possible

active

states

It

is

assumed

that

reliable

fault

diagnosis

mechanisms

are

available

and

if

a

node

becomes

faulty

its

state

changes

to

In

this

paper

we

deal

with

one

single

fault

only

Recon?guration

Algorithm

Let

node

at

be

a

active

node

with

state

t

in

an

embedding

For

every

active

node

at

t

k

-LRB-

i.e.

k

is

the

length

of

the

ring

embedded

-RRB-

node

at

maintains

the

backup

of

the

work

environment

of

node

a

-LRB-

t

-RRB-

mod

k

and

is

responsible

for

detecting

and

recovering

the

fault

F

-LRB-

-LRB-

t

-RRB-

mod

k

-RRB-

When

active

node

at

becomes

faulty

-LRB-

i.e.

fault

F

-LRB-

t

-RRB-

-RRB-

active

node

at

will

detect

this

fault

and

act

as

a

local

supervisor

to

invoke

following

recon?guration

actions

-RRB-

Compute

b

XOR

-LRB-

a

t

a

t

at

-RRB-

-LRB-

i.e.

nodes

b

a

t

a

t

and

at

constitute

the

four

nodes

of

a

plane

of

hypercubes

-RRB-

-RRB-

Change

the

state

of

node

b

to

t

and

assign

the

work

environment

of

node

at

to

node

b

-LRB-

i.e.

we

will

denote

this

step

as

node

at

node

b

-RRB-

-RRB-

Let

the

previous

state

of

node

b

to

be

S

-LRB-

b

-RRB-

old.If

S

-LRB-

b

-RRB-

old

-LRB-

i.e.

spare

state

-RRB-

then

the

recovery

is

done

otherwise

a

propagated

fault

F

-LRB-

S

-LRB-

b

-RRB-

old

-RRB-

isissued

and

the

recon?guration

continues

The

XOR

operation

above

denotes

the

bitwise

exclusive

or

on

binary

numbers

We

shall

call

the

above

algorithm

the

xor-recon

guration

algorithm

Now

let

sconsider

an

example

for

the

xor-recon

guration

algorithm

Fig.

-LRB-

a

-RRB-

shows

the

original

fault-free

embedding

of

a

in

a

F

-LRB-

-RRB-

occurring

in

node

is

shown

in

Fig.

-LRB-

b

-RRB-

Since

node

with

state

is

responsible

for

detecting

and

recovering

the

fault

F

-LRB-

-RRB-

it

will

eventually

detect

the

fault

and

begin

to

act

as

a

local

supervisor.Then

since

XOR

-LRB-

-RRB-

and

S

-LRB-

-RRB-

we

have

node

node

and

a

propagated

fault

F

-LRB-

-RRB-

is

issued

The

result

of

above

actions

is

given

in

Fig

-LRB-

c

-RRB-

Similarly

node

state

detects

the

propagated

fault

F

-LRB-

-RRB-

and

computes

that

XOR

-LRB-

-RRB-

Since

S

-LRB-

-RRB-

we

have

node

node

and

the

recon?guration

is

done

The

nal

recon?guration

is

shown

in

Fig.

-LRB-

d

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

Fig.

-LRB-

d

-RRB-

Fig.

-LRB-

b

-RRB-

Fig.

-LRB-

c

-RRB-

Fig.

-LRB-

a

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

Fig.

-LRB-

a

-RRB-

The

embedding

-LRB-

to

-RRB-

with

no

faulty

nodes

-LRB-

b

-RRB-

The

fault

F

-LRB-

-RRB-

occurs

-LRB-

c

-RRB-

Active

node

recovers

F

-LRB-

-RRB-

and

a

propagated

fault

F

-LRB-

-RRB-

is

issued

-LRB-

d

-RRB-

Spare

node

recovers

F

-LRB-

-RRB-

and

the

recon?guration

is

done

The

cost

of

recovering

one

single

fault

is

measured

by

the

number

of

states

changed

of

fault-free

nodes

-LRB-

i.e.

spare

to

active

or

active

to

spare

-RRB-

during

the

recon?guration

actions

For

example

to

recover

the

fault

F

-LRB-

-RRB-

in

the

embedding

in

Fig.

-LRB-

a

-RRB-

the

system

needs

the

replacing

sequence

node

node

node

and

there

are

two

states

changed

of

fault-free

nodes

-LRB-

i.e.

node

changed

from

state

to

state

and

node

changed

from

state

to

state

-RRB-

Now

wecan

have

the

following

de?nition

De?nition

Asystem

with

an

embedding

scheme

and

a

recon?guration

algorithm

is

t

step

recoverable

if

the

system

can

recover

any

single

fault

by

changing

the

states

of

at

most

t

faultfree

nodes

Since

in

this

paper

when

we

mention

a

recon?guration

algorithm

we

mean

the

xorrecon?guration

algorithm

For

convenience

we

shall

say

an

embedding

is

t

step

recoverable

instead

of

saying

the

system

with

an

embedding

scheme

and

a

recon?guration

algorithm

is

t

step

recoverable

III

A

Heuristic

Approach

In

this

section

we

discuss

a

heuristic

method

to

systematically

construct

sfor

embed

ding

k

even

length

rings

in

d-cubes

where

k

and

d

Some

de?nitions

needed

for

the

further

discussion

in

this

paper

are

also

given

in

this

section

De?nition

Suppose

a

k

length

ring

is

embedded

in

a

d-cube

a

sequence

ak

is

called

active

node

sequence

of

the

embedding

where

ai

a

j

for

i

j

and

there

is

link

between

node

ai

and

node

a

j

in

the

d-cube

De?nition

Suppose

a

k

length

ring

is

embedded

in

a

d-cube

and

ak

isthe

activenode

sequence

of

the

embedding

Asequence

d

k

where

d

i

d

for

i

k

iscalled

a

total

transition

sequence

of

the

embedding

in

which

di

represents

the

dimension

of

the

link

connected

between

active

nodes

ai

and

a

-LRB-

i

-RRB-

mod

k

in

the

d-cube

De?nition

An

embedding

of

a

k

length

ring

in

a

d-cube

is

denoted

as

Rk

fi

Cd

and

let

Rk

fi

Cd

S

T

where

S

is

the

address

of

the

starting

node

and

T

is

the

total

transition

sequence

of

the

embedding

For

example

the

embedding

of

a

length

ring

in

a

in

Fig.

is

denoted

as

fi

Fig.

An

embedding

of

a

length

ring

in

a

Lemma

For

odd

length

rings

and

rings

with

length

less

than

there

are

no

sin

hypercubes

Proof

Itisshown

that

there

are

no

cycles

of

odd

length

in

hypercubes

-LSB-

-RSB-

therefore

no

odd

length

rings

can

be

embedded

in

hypercubes

Since

the

shortest

cycle

in

a

hypercube

has

length

a

length

ring

can

not

be

embedded

in

hypercubes

For

a

length

ring

in

a

hypercube

the

embedding

must

constitute

the

nodes

of

a

plane

of

the

hypercube

and

it

is

easy

to

see

that

such

embedding

is

not

a

Lemma

If

there

exists

a

of

a

k

length

ring

in

a

d-cube

then

there

exists

a

of

a

k

length

ring

in

a

-LRB-

d

-RRB-

cube

Proof

The

proof

is

trivial

Just

leave

one

d-cube

unused

and

the

same

of

a

k

length

ring

in

a

d-cube

is

also

a

of

a

k

length

ring

in

a

-LRB-

d

-RRB-

cube

Lemma

If

there

exists

a

of

a

length

ring

in

a

d-cube

and

a

of

a

length

ring

in

a

d-cube

then

there

exists

a

of

a

-LRB-

-RRB-

length

ring

in

a

-LRB-

d

-RRB-

cube

Proof

Wewill

show

how

to

construct

a

of

a

-LRB-

-RRB-

ring

in

a

-LRB-

d

-RRB-

cube

by

combining

of

a

length

ring

in

a

d-cube

and

a

of

a

length

ring

in

a

d-cube

First

let

a

of

a

length

ring

in

a

d-cube

and

a

of

a

length

ring

in

a

d-cube

be

R

k

fi

Cd

and

R

k

fi

Cd

respectively

where

d

and

d.Then

relabel

the

total

transition

sequence

of

the

fi

Cd

such

that

the

rst

three

elements

of

the

total

transition

sequences

of

R

k

fi

Cd

and

R

fi

Cd

will

be

the

same

For

example

if

fi

Cd

and

fi

Cd

then

after

relabelled

fi

Cd

will

be

changed

to

-LRB-

i.e.

swap

and

in

the

total

transition

sequence

of

R

k

fi

Cd

-RRB-

Furthermore

change

the

starting

node

of

the

new

R

k

fi

Cd

from

to

-LRB-

i.e.

denotes

the

bitwiseXOR

operation

-RRB-

So

we

have

R

k

fi

Cd

y

R

k

fi

Cd

such

that

both

embeddings

remain

recoverable

d

Fig.

Construction

of

a

total

transition

sequence

of

the

embedding

R

-LRB-

-RRB-

fi

C

-LRB-

d

-RRB-

by

using

the

total

transition

sequences

of

fi

C

d

and

R

fi

C

d

We

are

now

ready

to

generate

a

of

a

-LRB-

-RRB-

length

ring

in

a

-LRB-

d

-RRB-

cube

Fig.

shows

how

to

construct

a

total

transition

sequence

of

the

R

-LRB-

-RRB-

fi

C

-LRB-

d

-RRB-

by

using

the

total

transition

sequences

of

R

k

fi

Cd

and

R

k

fi

Cd.Basically

the

construction

will

replace

the

rst

in

both

total

transition

sequences

with

d

and

then

combine

these

two

new

total

transition

sequences

together

to

form

a

total

transition

sequence

of

the

R

-LRB-

k

-RRB-

fi

C

-LRB-

d

-RRB-

That

is

the

embedding

of

a

-LRB-

-RRB-

length

ring

in

a

-LRB-

d

-RRB-

cube

is

following

R

k

k

fi

Cd

d

d

Fig.

depicts

the

construction

for

R

fi

Cd

Fig.

-LRB-

a

-RRB-

and

-LRB-

b

-RRB-

show

the

partial

portions

of

R

k

fi

Cd

and

fi

Cd

respectively.The

embedding

R

-LRB-

-RRB-

fi

C

-LRB-

d

-RRB-

constructed

by

following

the

instructions

previously

mentioned

is

shown

partially

in

Fig.

-LRB-

c

-RRB-

Fig.

-LRB-

c

-RRB-

Fig.

-LRB-

a

-RRB-

a

a

d

d

s

s

s

z

x

x

z

Fig.

-LRB-

b

-RRB-

Fig.

-LRB-

a

-RRB-

Partial

portion

of

the

embedding

fi

C

d

y

-LRB-

b

-RRB-

Partial

portion

of

the

embedding

fi

Cd

z

-LRB-

c

-RRB-

The

construction

of

the

embedding

k

fi

Cd

from

the

two

embeddings

Rk

fi

Cd

and

fi

C

d

Now

weprove

that

the

embedding

R

-LRB-

-RRB-

fi

C

-LRB-

d

-RRB-

d

d

is

recoverable

From

Fig.

-LRB-

c

-RRB-

we

know

that

to

con?rm

R

-LRB-

k

-RRB-

fi

C

-LRB-

d

-RRB-

is

recoverable

we

need

only

to

check

the

recovery

processing

for

active

nodes

ai

and

to

see

if

they

can

be

recovered

in

step

or

not

Other

active

nodes

in

R

-LRB-

-RRB-

fi

C

-LRB-

d

-RRB-

will

remain

recoverable

as

they

are

in

Rk

fi

Cd

and

fi

Cd.Moreover

all

the

spare

nodes

in

both

embeddings

fi

Cd

and

fi

Cd

will

remain

to

be

spare

nodes

as

they

join

in

R

-LRB-

-RRB-

fi

C

-LRB-

d

-RRB-

Since

active

nodes

a

and

ai

can

be

recovered

by

spare

nodes

and

in

one

step

respectively

R

-LRB-

k

k

-RRB-

fi

C

-LRB-

d

-RRB-

is

recoverable

Example

Suppose

we

have

two

's

fi

and

fi

then

by

Lemma

we

can

construct

a

of

a

length

ring

in

a

Following

the

steps

of

relabelling

the

total

transition

sequence

and

changing

the

starting

node

of

fi

wehave

fi

and

fi

Then

following

the

construction

procedure

given

in

Lemma

we

have

fi

which

is

recoverable

Fig.

depicts

these

three

's

Fig.

-LRB-

b

-RRB-

Fig.

-LRB-

a

-RRB-

Fig.

-LRB-

c

-RRB-

Fig.

-LRB-

a

-RRB-

fi

-LRB-

b

-RRB-

fi

-LRB-

c

-RRB-

fi

Lemma

There

exists

a

of

a

length

ring

in

a

Proof

The

embedding

fi

recoverable

Lemma

There

are

and

length

rings

in

a

but

no

of

a

length

ring

in

a

Proof

The

proof

is

divided

into

following

cases

Case

I

According

to

Lemma

and

Lemma

for

a

length

ring

there

is

a

in

a

-LRB-

i.e.

fi

-RRB-

Case

II

For

a

length

ring

the

embedding

fi

recoverable

Case

III

For

a

length

ring

since

and

there

exists

a

fi

there

is

a

of

a

length

ring

in

a

by

Lemma

Following

the

construction

steps

in

Lemma

we

have

fi

which

is

recoverable

Case

IV

For

a

length

ring

exhaustive

search

shows

that

there

is

no

of

a

length

ring

in

a

Lemma

For

length

rings

there

are

but

no

of

a

length

ring

in

a

Proof

The

proof

is

divided

into

the

following

cases

Case

I.

For

and

length

rings

according

to

Lemma

and

Lemma

there

are

softhese

rings

in

a

Case

II

For

a

length

ring

the

embedding

fi

is

recoverable

Case

III

For

and

length

rings

according

to

Lemma

there

are

's

of

these

rings

in

a

These

sare

shown

in

Table

I.

Case

IV

For

a

length

ring

exhaustive

search

shows

that

there

is

no

of

a

ring

in

TABLE

I

and

length

rings

in

a

Embeddings

Constructed

from

fi

fi

fi

C

fi

fi

fi

C

fi

fi

fi

C

fi

fi

fi

C

fi

1,5,3,1,2,3,1,4,3,1,2,3,1,5,3,1,2,3,1,4,3,1,2,3

fi

fi

C

Lemma

For

length

rings

-LRB-

i.e.

rings

of

length

k

k

-RRB-

there

are

Proof

The

proof

is

divided

into

the

following

cases

Case

I.

For

and

length

rings

according

to

Lemma

and

Lemma

there

are

softhese

rings

in

a

Case

II

For

and

length

rings

according

to

Lemma

there

are

's

of

these

rings

in

a

Summary

of

constructing

these

sisgiven

in

Table

II

Case

III

For

a

length

ring

since

or

it

is

supposed

to

follow

the

same

construction

procedure

in

Lemma

to

construct

a

of

a

length

ring

in

a

However

there

is

no

of

a

length

ring

in

a

-LRB-

Lemma

-RRB-

and

as

can

be

seen

in

Lemma

we

do

not

deal

with

of

a

length

ring

in

a

since

is

greater

than

So

the

construction

procedure

in

Lemma

does

not

work

for

this

case

Instead

we

come

out

the

following

of

a

ring

in

a

fi

1,2,3,1,2,4,1,2,3,1,2,5,1,2,3,1,2,4,1,2,3,1,6

TABLE

II

Summary

of

constructing

and

length

rings

in

a

Embeddings

Constructed

from

Embeddings

Constructed

from

fi

fi

fi

fi

fi

fi

C

fi

fi

fi

fi

fi

fi

C

fi

fi

fi

fi

fi

fi

C

fi

fi

fi

fi

fi

fi

C

fi

fi

fi

fi

fi

fi

C

fi

fi

fi

fi

fi

fi

C

Theorem

There

exists

a

of

a

k

even

length

ring

in

a

d-cube

where

k

and

d

except

when

k

with

d

and

k

with

d

Proof

Weuse

an

induction

proof

based

on

the

size

of

k

to

prove

this

theorem

Induction

base

For

d

d

d

and

d

the

theorem

follows

based

on

Lemma

Lemma

Lemma

and

Lemma

respectively

Induction

hypothesis

Assume

the

theorem

follows

when

d

m

That

is

there

exists

a

of

a

k

length

ring

in

a

m-cube

where

k

Induction

step

d

m

Case

I

k

According

to

induction

hypothesis

and

Lemma

there

exists

of

a

k

length

ring

in

a

-LRB-

m

-RRB-

cube

Case

II

k

-LRB-

m

-RRB-

Since

k

is

even

we

can

have

k

where

and

are

even

and

and

Bythe

induction

hypothesis

there

exists

a

of

a

length

ring

in

a

m-cube

and

a

of

a

length

ring

in

a

mcube

So

according

to

Lemma

there

exists

a

k

length

ring

in

a

-LRB-

m

-RRB-

cube

IV.ASuf?cient

Condition

for

the

Non-existence

of

's

In

this

section

we

discuss

a

suf?cient

condition

for

the

non-existence

of

sfor

embed

ding

k

even

length

rings

in

d-cubes

where

k

and

d

De?nition

If

nodes

ai

ai

and

ai

are

three

active

nodes

with

consecutive

states

in

an

embedding

s

XOR

-LRB-

a

i

a

i

ai

-RRB-

and

node

s

is

a

spare

node

which

can

be

used

to

recover

node

ai

in

one

step

then

nodes

a

i

ai

a

i

and

s

will

constitute

the

four

nodes

of

a

plane

of

a

hypercube

Wewill

call

this

plane

a

recovery

hyperplane

-LRB-

-RRB-

with

respect

to

s

and

denote

it

as

-LRB-

s

ai

ai

ai

-RRB-

-LRB-

the

order

is

not

important

-RRB-

Note

that

in

an

embedding

two

edges

incident

to

a

spare

node

will

decide

a

possible

with

respect

to

the

spare

node

Moreover

two

swith

respect

to

the

same

spare

node

will

intersect

either

at

the

spare

node

or

on

an

edge

with

the

spare

node

as

one

endpoint

Lemma

In

an

embedding

an

edge

incident

to

a

spare

node

can

be

contained

in

at

most

two

swith

respect

to

the

same

spare

node

That

is

it

is

impossible

to

have

more

than

two

swith

respect

to

the

same

spare

node

intersect

on

an

edge

with

the

spare

node

as

one

endpoint

Proof

Suppose

that

there

exists

an

embedding

such

that

three

swith

respect

to

the

same

spare

node

intersect

on

an

edge

with

the

spare

node

as

one

endpoint

Such

an

embedding

is

partially

depicted

in

Fig.

Nodes

ai

a

ai

are

active

nodes

and

node

s

is

a

spare

node

and

three

's

-LRB-

a

ai

a

s

-RRB-

-LRB-

s

a

ai

-RRB-

and

-LRB-

s

a

-RRB-

intersect

on

the

edge

-LRB-

s

-RRB-

Since

the

three

edges

-LRB-

ai

ai

-RRB-

-LRB-

ai

ai

-RRB-

and

-LRB-

ai

ai

-RRB-

which

are

incident

to

the

node

must

all

be

involved

in

the

embedding

the

embedding

is

not

a

valid

one

s

ai

a

a

a

i

a

i

Fig.

Three

swith

respect

to

s

intersect

on

the

edge

-LRB-

s

-RRB-

Theorem

When

embedding

rings

in

d-cubes

each

spare

node

can

be

used

for

at

most

d

active

nodes

as

recovery

node

That

is

it

is

impossible

to

have

more

than

d

swith

respect

to

a

same

spare

node

intersect

at

the

spare

node

Proof

Weknow

that

two

edges

incident

to

a

spare

node

will

decide

a

possible

with

respect

to

that

spare

node

and

an

edge

incident

to

a

spare

node

can

be

contained

in

at

most

two

swith

respect

to

the

same

spare

node

-LRB-

i.e.

Lemma

-RRB-

Since

in

d-cubes

each

node

has

d

edges

incident

to

it

the

best

recovery

case

for

a

spare

node

will

be

that

each

edge

incident

to

the

spare

node

is

contained

exactly

in

two

swith

respect

to

the

spare

node

This

situation

is

depicted

in

Fig.

In

Fig.

each

edge

incident

to

a

spare

node

s

is

contained

exactly

in

two

swith

respect

to

s.Ifweadd

one

more

with

respect

to

s

to

Fig.

one

edge

incident

to

s

will

be

contained

in

three

swith

respect

to

s

and

this

violates

Lemma

Therefore

there

are

at

most

d

active

nodes

which

use

node

s

as

recovery

node

edge

edge

edge

edge

d

s

Fig.

Each

edge

incident

to

the

spare

nodes

s

is

contained

exactly

in

two

swith

respect

to

s.

Lemma

In

an

embedding

if

there

are

two

swith

respect

to

s

-LRB-

s

a

ai

a

-RRB-

and

-LRB-

s

a

ai

-RRB-

which

intersect

on

the

edge

-LRB-

s

ai

-RRB-

then

the

sequence

a

a

ai

a

or

a

ai

a

a

must

be

a

partial

portion

of

the

active-node

sequence

of

the

embedding

Proof

The

situation

is

depicted

in

Fig.

-LRB-

s

a

-RRB-

with

respect

to

s

and

then

sequence

ai

a

ai

or

a

ai

must

be

the

partial

portion

of

the

active-node

sequence

of

the

embedding

Similarly

sequence

a

or

ai

a

must

also

be

the

partial

portion

of

the

active-node

sequence

of

the

embedding

Therefore

we

have

either

a

ai

or

a

ai

a

tobethe

partial

portion

of

the

active-node

sequence

of

the

embedding

s

ai

Fig.

swith

respect

to

the

spare

node

s

-LRB-

s

a

a

-RRB-

and

-LRB-

s

ai

-RRB-

intersect

on

the

edge

-LRB-

s

a

-RRB-

Lemma

When

embedding

rings

in

d-cubes

a

spare

node

will

be

used

for

d

active

nodes

as

recovery

node

if

and

only

if

each

edge

incident

to

this

spare

node

is

contained

exactly

in

two

swith

respect

to

this

spare

node

Proof

The

proof

of

Theorem

had

already

proven

the

if

part

So

here

we

need

only

to

discuss

the

only

if

part

Assume

that

not

every

edge

incident

to

a

spare

node

is

contained

exactly

in

two

swith

respect

to

a

spare

node

Let

and

be

the

numbers

of

edges

incident

to

the

spare

node

that

are

contained

exactly

in

zero

one

and

two

swith

respect

to

the

spare

node

respectively.Note

that

d.Then

the

total

number

of

swith

respect

to

the

spare

node

will

be

d

That

is

this

spare

node

is

used

for

less

than

d

active

nodes

as

recovery

node

in

the

embedding

Theorem

When

embedding

a

k

length

ring

in

a

d-cube

if

a

spare

node

is

used

for

d

active

nodes

as

a

recovery

node

then

k

and

the

active

nodes

in

the

embedding

consist

of

these

d

active

nodes

and

the

d

neighbors

of

this

spare

node

Proof

Since

this

spare

node

is

used

for

d

active

nodes

as

recovery

node

according

to

Lemma

each

edge

incident

to

this

spare

node

is

contained

exactly

in

two

swith

respect

to

this

spare

node

Again

we

use

a

picture

to

describe

this

situation

s

a

a

d

n

d

a

d

Fig.

Each

edge

incident

to

the

spare

nodes

s

is

contained

exactly

in

two

swith

respect

to

s

In

Fig.

node

s

is

the

spare

node

n

i

i

d

are

neighbors

to

node

s

-LRB-

i.e.

all

in

active

state

-RRB-

and

a

i

i

d

are

those

d

active

nodes

that

use

node

s

as

recovery

node

Then

according

to

Lemma

sequences

and

nd

ad

must

all

be

in

the

partial

portion

of

the

active-node

sequence

of

the

embedding

Since

the

combination

of

these

sequences

form

a

cycle

-LRB-

i

e

nd

ad

-RRB-

the

length

of

this

cycle

must

be

equal

to

the

length

of

the

ring

embedded

That

is

k

Theorem

When

embedding

a

k

length

ring

in

a

d-cube

where

k

then

each

spare

node

in

an

embedding

can

be

used

for

at

most

d

active

nodes

as

recovery

node

Proof

Itiseasy

to

verify

that

for

d

Then

according

to

Theorem

it

is

impos

sible

to

embed

a

k

length

ring

in

a

d-cube

where

k

and

d

such

that

a

spare

node

will

be

used

for

d

active

nodes

as

recovery

node

Moreover

according

to

Theorem

each

spare

node

in

an

embedding

can

not

be

used

for

more

than

d

active

nodes

as

recovery

node

the

theorem

follows

Theorem

For

an

embedding

of

a

q

even

length

ring

in

a

d-cube

if

d

q

then

the

embedding

can

never

be

recoverable

Proof

InTheorem

we

know

that

embedding

a

ring

of

length

in

a

d-cube

each

spare

node

can

be

used

for

at

most

d

active

nodes

as

recovery

node

So

if

the

number

of

spare

nodes

multiplied

by

d

than

the

total

number

of

active

nodes

then

there

must

be

some

active

nodes

which

can

not

be

recovered

in

one

step

That

is

if

the

following

inequality

is

satis?ed

-LRB-

q

-RRB-

-LRB-

d

-RRB-

q

fi

d

qd

q

q

fi

d

q

the

embedding

is

not

recoverable

V.

C

oncluding

Remarks

In

this

paper

wepresent

a

heuristic

scheme

to

systematically

construct

sof

k

even

length

rings

in

d-cubes

where

k

and

d

Compared

to

other

recoverable

embedding

schemes

which

are

either

applicable

to

limited

length

rings

-LSB-

-RSB-

or

resulting

in

large

expansion

-LSB-

-RSB-

our

scheme

is

more

general

and

has

much

better

result

Asuf?cient

condition

is

also

given

in

this

paper

to

deal

with

the

non-existence

of

swhen

k

length

rings

are

embedded

in

d-cubes

where

k

For

the

general

problem

of

nding

in

a

d-cube

the

NP-completeness

conjecture

of

this

problem

-LSB-

-RSB-

is

still

unsolved

References

-LSB-

-RSB-

Brandenburg

J.

E.

and

Scott

D.

S.

Embeddings

of

communication

trees

and

grids

into

hypercubes

Tech

Rep.

No.

Intel

Scienti?c

Computers

-LSB-

-RSB-

Chan

M.

Y.

embeddings

of

grids

into

hypercubes

in

Int

Conf

Parallel

Conference

pp.

-LSB-

-RSB-

Chan

M.

Y.and

Chin

F.Y.L.

On

embedding

rectangular

grids

in

hypercubes

IEEE

Trans

on

Comput.

vol

pp.

-LSB-

-RSB-

Chen

S.

K.

Liang

C.

T.

and

Tsai

W.T.

Loops

and

multi-dimensional

grids

on

hypercubes

Mapping

and

recon?guration

algorithms

in

int

Conf

Parallel

Processing

pp.

-LSB-

-RSB-

Chen

S.

K.

Liang

C.

T.

and

Tsai

W.T.

An

ef?cient

multi-dimensional

grids

recon?guration

algorithm

on

hypercubes

in

Symp

of

Fault-Tolerant

Computing

pp.

-LSB-

-RSB-

Ho

C.T.and

Johnsson

S.

L.

Embedding

meshes

in

boolean

cubes

by

graph

decomposition

J.

Parallel

Distrib

Comput

pp.

-LSB-

-RSB-

Krishnakumer

N.

Hegde

V.

and

Iyenger

S.S.

Fault

tolerant

based

embeddings

of

quadtrees

into

hypercube

in

Int

Conf

Parallel

Processing

pp

III

-LSB-

-RSB-

Lee

T.

C.

Quick

recovery

of

embedded

structures

in

hypercube

computers

in

Proc

Distributed

Memory

Computing

Conference

pp

-LSB-

-RSB-

Liu

J.

and

McMillin

B.

M.

A

divide

and

conquer

ring

embedding

on

hypercubes

with

ef?cient

recovery

ability

in

Int

Conf

Parallel

Processing

pp

III

-LSB-

-RSB-

Liu

J.

and

McMillin

B.

M.

An

enhanced

recon?gurable

embedding

scheme

for

rings

in

hypercubes

toappear

in

Int

Conf

on

Parallel

and

Dist

Systems

-LSB-

-RSB-

Saad

Y.

a

nd

Schultz

M.

H.

Topological

properties

of

hypercubes

IEEE

Trans

on

Computer

vol

pp.

-LSB-

-RSB-

Wagner

A.

Embedding

arbitrary

binary

trees

in

a

hypercube

J.

Parallel

Distrib

Comput

pp.

-LSB-

-RSB-

Wu

A.

Y.

Embeddings

of

tree

networks

into

hypercubes

J.

Parallel

Distrib

Comput

pp.

-LSB-

-RSB-

Yanney

R.M.and

Hayes

J.

P.

Distributed

recovery

in

fault-tolerant

multiprocessors

networks

IEEE

Trans

on

Computers

vol

pp.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O B O O B O O B O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O

embedding
fault tolerance
hypercube
reconguration
ring