Evaluating

Adaptive

Resource

Management

for

Distributed

Real-Time

Embedded

Systems

Nishanth

Shankaran,

Xenofon

Koutsoukos,

Douglas

C.

Schmidt,

and

Aniruddha

Gokhale

Dept.

of

EECS,

Vanderbilt

University,

Nashville

ABSTRACT

A

challenging

problem

faced

by

researchers

and

developers

of

distributed

real-time

and

embedded

(DRE)

systems

is

devising

and

implementing

effective

adaptive

resource

management

strategies

that

can

meet

end-to-end

quality

of

service

(QoS)

requirements

in

varying

operational

conditions.

This

paper

presents

two

contributions

to

research

in

adaptive

resource

management

for

DRE

systems.

First,

we

describe

the

structure

and

functionality

of

the

Hybrid

Adaptive

Resourcemanagement

Middleware

(HyARM),

which

provides

adaptive

resource

management

using

hybrid

control

techniques

for

adapting

to

workload

fluctuations

and

resource

availability.

Second,

we

evaluate

the

adaptive

behavior

of

HyARM

via

experiments

on

a

DRE

multimedia

system

that

distributes

video

in

real-time.

Our

results

indicate

that

HyARM

yields

predictable,

stable,

and

high

system

performance,

even

in

the

face

of

fluctuating

workload

and

resource

availability.

Categories

and

Subject

Descriptors

[Distributed

Systems]:

Distributed

Applications;

[Organization

and

Design]:

Real-time

Systems

and

Embedded

Systems

INTRODUCTION

Achieving

end-to-end

real-time

quality

of

service

(QoS)

is

particularly

important

for

open

distributed

real-time

and

embedded

(DRE)

systems

that

face

resource

constraints,

such

as

limited

computing

power

and

network

bandwidth.

Overutilization

of

these

system

resources

can

yield

unpredictable

and

unstable

behavior,

whereas

under-utilization

can

yield

excessive

system

cost.

A

promising

approach

to

meeting

these

end-to-end

QoS

requirements

effectively,

therefore,

is

to

develop

and

apply

adaptive

middleware

which

is

software

whose

functional

and

QoS-related

properties

can

be

modified

either

statically

or

dynamically.

Static

modifications

are

carried

out

to

reduce

footprint,

leverage

capabilities

that

exist

in

specific

platforms,

enable

functional

subsetting,

and/or

minimize

hardware/software

infrastructure

dependencies.

Objectives

of

dynamic

modifications

include

optimizing

system

responses

to

changing

environments

or

requirements,

such

as

changing

component

interconnections,

power-levels,

CPU

and

network

bandwidth

availability,

latency/jitter,

and

workload.

In

open

DRE

systems,

adaptive

middleware

must

make

such

modifications

dependably,

i.e.,

while

meeting

stringent

end-to-end

QoS

requirements,

which

requires

the

specification

and

enforcement

of

upper

and

lower

bounds

on

system

resource

utilization

to

ensure

effective

use

of

system

resources.

To

meet

these

requirements,

we

have

developed

the

Hybrid

Adaptive

Resource-management

Middleware

(HyARM),

which

is

an

distributed

resource

management

middleware.

HyARM

is

based

on

hybrid

control

theoretic

techniques

which

provide

a

theoretical

framework

for

designing

control

of

complex

system

with

both

continuous

and

discrete

dynamics.

In

our

case

study,

which

involves

a

distributed

real-time

video

distribution

system,

the

task

of

adaptive

resource

management

is

to

control

the

utilization

of

the

different

resources,

whose

utilizations

are

described

by

continuous

variables.

We

achieve

this

by

adapting

the

resolution

of

the

transmitted

video,

which

is

modeled

as

a

continuous

variable,

and

by

changing

the

frame-rate

and

the

compression,

which

are

modeled

by

discrete

actions.

We

have

implemented

HyARM

atop

The

ACE

ORB

(TAO)

which

is

an

implementation

of

the

Real-time

CORBA

specification

Our

results

show

that

HyARM

ensures

effective

system

resource

utilization

and

end-to-end

QoS

requirements

of

higher

priority

applications

are

met,

even

in

the

face

of

fluctuations

in

workload.

The

remainder

of

the

paper

is

organized

as

follows:

Section

describes

the

architecture,

functionality,

and

resource

utilization

model

of

our

DRE

multimedia

system

case

study;

Section

explains

the

structure

and

functionality

of

HyARM;

Section

evaluates

the

adaptive

behavior

of

HyARM

via

experiments

on

our

multimedia

system

case

study;

Section

compares

our

research

on

HyARM

with

related

work;

and

Section

presents

concluding

remarks.

The

code

and

examples

for

HyARM

are

available

at

dre.vanderbilt.edu/∼nshankar/HyARM/.

Article

CASE

STUDY:

DRE

MULTIMEDIA

SYSTEM

This

section

describes

the

architecture

and

QoS

requirements

of

our

DRE

multimedia

system.

Multimedia

System

Architecture

Wireless

Link

Wireless

Link

Wireless

Link

Physical

Link

Physical

Link

Physical

Link

Base

Station

End

Receiver

End

Receiver

End

Receiver`

Physical

Link

End

Receiver

UAV

Camera

Video

Encoder

Camera

Video

Encoder

Camera

Video

Encoder

UAV

Camera

Video

Encoder

Camera

Video

Encoder

Camera

Video

Encoder

UAV

Camera

Video

Encoder

Camera

Video

Encoder

Camera

Video

Encoder

Figure

DRE

Multimedia

System

Architecture

The

architecture

for

our

DRE

multimedia

system

is

shown

in

Figure

and

consists

of

the

following

entities:

source

(video

capture

by

UAV),

where

video

is

captured

(related

to

subject

of

interest)

by

camera(s)

on

each

UAV,

followed

by

encoding

of

raw

video

using

a

specific

encoding

scheme

and

transmitting

the

video

to

the

next

stage

in

the

pipeline.

distributor

(base

station),

where

the

video

is

processed

to

remove

noise,

followed

by

retransmission

of

the

processed

video

to

the

next

stage

in

the

pipeline.

Sinks

(command

and

control

center),

where

the

received

video

is

again

processed

to

remove

noise,

then

decoded

and

finally

rendered

to

end

user

via

graphical

displays.

Significant

improvements

in

video

encoding/decoding

and

(de)compression

techniques

have

been

made

as

a

result

of

recent

advances

in

video

encoding

and

compression

techniques

Common

video

compression

schemes

are

Real

Video,

and

Each

compression

scheme

is

characterized

by

its

resource

requirement,

e.g.,

the

computational

power

to

(de)compress

the

video

signal

and

the

network

bandwidth

required

to

transmit

the

compressed

video

signal.

Properties

of

the

compressed

video,

such

as

resolution

and

frame-rate

determine

both

the

quality

and

the

resource

requirements

of

the

video.

Our

multimedia

system

case

study

has

the

following

endto-end

real-time

QoS

requirements:

latency,

interframe

delay

(also

know

as

jitter),

frame

rate,

and

picture

resolution.

These

QoS

requirements

can

be

classified

as

being

either

hard

or

soft.

Hard

QoS

requirements

should

be

met

by

the

underlying

system

at

all

times,

whereas

soft

QoS

requirements

can

be

missed

For

our

case

study,

we

treat

QoS

requirements

such

as

latency

and

jitter

as

harder

QoS

requirements

and

strive

to

meet

these

requirements

at

all

times.

In

contrast,

we

treat

QoS

requirements

such

as

video

frame

rate

and

picture

resolution

as

softer

QoS

requirements

and

modify

these

video

properties

adaptively

to

handle

dynamic

changes

in

resource

Although

hard

and

soft

are

often

portrayed

as

two

discrete

requirement

sets,

in

practice

they

are

usually

two

ends

of

a

continuum

ranging

from

softer

to

harder

rather

than

two

disjoint

points.

ity

effectively.

DRE

Multimedia

System

Rresources

There

are

two

primary

types

of

resources

in

our

DRE

multimedia

system:

processors

that

provide

computational

power

available

at

the

UAVs,

base

stations,

and

end

receivers

and

network

links

that

provide

communication

bandwidth

between

UAVs,

base

stations,

and

end

receivers.

The

computing

power

required

by

the

video

capture

and

encoding

tasks

depends

on

dynamic

factors,

such

as

speed

of

the

UAV,

speed

of

the

subject

(if

the

subject

is

mobile),

and

distance

between

UAV

and

the

subject.

The

wireless

network

bandwidth

available

to

transmit

video

captured

by

UAVs

to

base

stations

also

depends

on

the

wireless

connectivity

between

the

UAVs

and

the

base

station,

which

in-turn

depend

on

dynamic

factors

such

as

the

speed

of

the

UAVs

and

the

relative

distance

between

UAVs

and

base

stations.

The

bandwidth

of

the

link

between

the

base

station

and

the

end

receiver

is

limited,

but

more

stable

than

the

bandwidth

of

the

wireless

network.

Resource

requirements

and

availability

of

resources

are

subjected

to

dynamic

changes.

Two

classes

of

applications

QoS-enabled

and

best-effort

use

the

multimedia

system

infrastructure

described

above

to

transmit

video

to

their

respective

receivers.

QoS-enabled

class

of

applications

have

higher

priority

over

best-effort

class

of

application.

In

our

study,

emergency

response

applications

belong

to

QoS-enabled

and

surveillance

applications

belong

to

best-effort

class.

For

example,

since

a

stream

from

an

emergency

response

application

is

of

higher

importance

than

a

video

stream

from

a

surveillance

application,

it

receives

more

resources

end-to-end.

Since

resource

availability

significantly

affects

QoS,

we

use

current

resource

utilization

as

the

primary

indicator

of

system

performance.

We

refer

to

the

current

level

of

system

resource

utilization

as

the

system

condition.

Based

on

this

definition,

we

can

classify

system

conditions

as

being

either

under,

over,

or

effectively

utilized.

Under-utilization

of

system

resources

occurs

when

the

current

resource

utilization

is

lower

than

the

desired

lower

bound

on

resource

utilization.

In

this

system

condition,

residual

system

resources

(i.e.,

network

bandwidth

and

computational

power)

are

available

in

large

amounts

after

meeting

end-to-end

QoS

requirements

of

applications.

These

residual

resources

can

be

used

to

increase

the

QoS

of

the

applications.

For

example,

residual

CPU

and

network

bandwidth

can

be

used

to

deliver

better

quality

video

(e.g.,

with

greater

resolution

and

higher

frame

rate)

to

end

receivers.

Over-utilization

of

system

resources

occurs

when

the

current

resource

utilization

is

higher

than

the

desired

upper

bound

on

resource

utilization.

This

condition

can

arise

from

loss

of

resources

network

bandwidth

and/or

computing

power

at

base

station,

end

receiver

or

at

UAV

or

may

be

due

to

an

increase

in

resource

demands

by

applications.

Over-utilization

is

generally

undesirable

since

the

quality

of

the

received

video

(such

as

resolution

and

frame

rate)

and

timeliness

properties

(such

as

latency

and

jitter)

are

degraded

and

may

result

in

an

unstable

(and

thus

ineffective)

system.

Effective

resource

utilization

is

the

desired

system

condition

since

it

ensures

that

end-to-end

QoS

requirements

of

the

UAV-based

multimedia

system

are

met

and

utilization

of

both

system

resources,

i.e.,

network

bandwidth

and

computational

power,

are

within

their

desired

utilization

bounds.

Article

Section

describes

techniques

we

applied

to

achieve

effective

utilization,

even

in

the

face

of

fluctuating

resource

availability

and/or

demand.

OVERVIEW

OF

HYARM

This

section

describes

the

architecture

of

the

Hybrid

Adaptive

Resource-management

Middleware

(HyARM).

HyARM

ensures

efficient

and

predictable

system

performance

by

providing

adaptive

resource

management,

including

monitoring

of

system

resources

and

enforcing

bounds

on

application

resource

utilization.

HyARM

Structure

and

Functionality

Resource

Utilization

Legend

Resource

Allocation

Application

Parameters

Figure

HyARM

Architecture

HyARM

is

composed

of

three

types

of

entities

shown

in

Figure

and

described

below:

Resource

monitors

observe

the

overall

resource

utilization

for

each

type

of

resource

and

resource

utilization

per

application.

In

our

multimedia

system,

there

are

resource

monitors

for

CPU

utilization

and

network

bandwidth.

CPU

monitors

observe

the

CPU

resource

utilization

of

UAVs,

base

station,

and

end

receivers.

Network

bandwidth

monitors

observe

the

network

resource

utilization

of

wireless

network

link

between

UAVs

and

the

base

station

and

wired

network

link

between

the

base

station

and

end

receivers.

The

central

controller

maintains

the

system

resource

utilization

below

a

desired

bound

by

processing

periodic

updates

it

receives

from

resource

monitors

and

modifying

the

execution

of

applications

accordingly,

e.g.,

by

using

different

execution

algorithms

or

operating

the

application

with

increased/decreased

QoS.

This

adaptation

process

ensures

that

system

resources

are

utilized

efficiently

and

end-to-end

application

QoS

requirements

are

met.

In

our

multimedia

system,

the

HyARM

controller

determines

the

value

of

application

parameters

such

as

video

compression

schemes,

such

as

Real

Video

and

and/or

frame

rate,

and

picture

resolution.

From

the

perspective

of

hybrid

control

theoretic

techniques

the

different

video

compression

schemes

and

frame

rate

form

the

discrete

variables

of

application

execution

and

picture

resolution

forms

the

continuous

variables.

Application

adapters

modify

application

execution

according

to

parameters

recommended

by

the

controller

and

ensures

that

the

operation

of

the

application

is

in

accordance

with

the

recommended

parameters.

In

the

current

mplementation

of

HyARM,

the

application

adapter

modifies

the

input

parameters

to

the

application

that

affect

application

QoS

and

resource

utilization

compression

scheme,

frame

rate,

and

picture

resolution.

In

our

future

implementations,

we

plan

to

use

resource

reservation

mechanisms

such

as

Differentiated

Service

and

Class-based

Kernel

Resource

Management

to

provision/reserve

network

and

CPU

resources.

In

our

multimedia

system,

the

application

adapter

ensures

that

the

video

is

encoded

at

the

recommended

frame

rate

and

resolution

using

the

specified

compression

scheme.

Applying

HyARM

to

the

Multimedia

System

Case

Study

HyARM

is

built

atop

TAO

a

widely

used

open-source

implementation

of

Real-time

CORBA

HyARM

can

be

applied

to

ensure

efficient,

predictable

and

adaptive

resource

management

of

any

DRE

system

where

resource

availability

and

requirements

are

subject

to

dynamic

change.

Figure

shows

the

interaction

of

various

parts

of

the

DRE

multimedia

system

developed

with

HyARM,

TAO,

and

TAO"s

A/V

Streaming

Service.

TAO"s

A/V

Streaming

service

is

an

implementation

of

the

CORBA

A/V

Streaming

Service

specification.

TAO"s

A/V

Streaming

Service

is

a

QoS-enabled

video

distribution

service

that

can

transfer

video

in

real-time

to

one

or

more

receivers.

We

use

the

A/V

Streaming

Service

to

transmit

the

video

from

the

UAVs

to

the

end

receivers

via

the

base

station.

Three

entities

of

Receiver

UAV

TAO

Resource

Utilization

HyARM

Central

Controller

A/V

Streaming

Service

Sender

Real

Video

HyARM

Resource

Monitor

A/V

Streaming

Service

Receiver

Compressed

Video

Compressed

Video

Application

HyARM

Application

Adapter

Remote

Object

Call

Control

Inputs

Resource

Utilization

Resource

Utilization

Control

Inputs

Control

Inputs

Legend

Figure

Developing

the

DRE

Multimedia

System

with

HyARM

HyARM,

namely

the

resource

monitors,

central

controller,

and

application

adapters

are

built

as

CORBA

servants,

so

they

can

be

distributed

throughout

a

DRE

system.

Resource

monitors

are

remote

CORBA

objects

that

update

the

central

controller

periodically

with

the

current

resource

utilization.

Application

adapters

are

collocated

with

applications

since

the

two

interact

closely.

As

shown

in

Figure

UAVs

compress

the

data

using

various

compression

schemes,

such

as

and

Real

Video,

and

uses

TAO"s

A/V

streaming

service

to

transmit

the

video

to

end

receivers.

HyARM"s

resource

monitors

continuously

observe

the

system

resource

utilization

and

notify

the

central

controller

with

the

current

utilization.

The

interaction

between

the

controller

and

the

resource

monitors

uses

the

Observer

pattern

When

the

controller

receives

resource

utilization

updates

from

monitors,

it

computes

the

necessary

modifications

to

application(s)

parameters

and

notifies

application

adapter(s)

via

a

remote

operation

call.

Application

adapter(s),

that

are

collocated

with

the

application,

modify

the

input

parameters

to

the

application

in

our

case

video

encoder

to

modify

the

application

resource

utilization

and

QoS.

The

base

station

is

not

included

in

the

figure

since

it

only

retransmits

the

video

received

from

UAVs

to

end

receivers.

Article

PERFORMANCE

RESULTS

AND

ANALYSIS

This

section

first

describes

the

testbed

that

provides

the

infrastructure

for

our

DRE

multimedia

system,

which

was

used

to

evaluate

the

performance

of

HyARM.

We

then

describe

our

experiments

and

analyze

the

results

obtained

to

empirically

evaluate

how

HyARM

behaves

during

underand

over-utilization

of

system

resources.

Overview

of

the

Hardware

and

Software

Testbed

Our

experiments

were

performed

on

the

Emulab

testbed

at

University

of

Utah.

The

hardware

configuration

consists

of

two

nodes

acting

as

UAVs,

one

acting

as

base

station,

and

one

as

end

receiver.

Video

from

the

two

UAVs

were

transmitted

to

a

base

station

via

a

LAN

configured

with

the

following

properties:

average

packet

loss

ratio

of

and

bandwidth

Mbps.

The

network

bandwidth

was

chosen

to

be

Mbps

since

each

UAV

in

the

DRE

multimedia

system

is

allocated

Kbps.

These

parameters

were

chosen

to

emulate

an

unreliable

wireless

network

with

limited

bandwidth

between

the

UAVs

and

the

base

station.

From

the

base

station,

the

video

was

retransmitted

to

the

end

receiver

via

a

reliable

wireline

link

of

Mbps

bandwidth

with

no

packet

loss.

The

hardware

configuration

of

all

the

nodes

was

chosen

as

follows:

MHz

Intel

Pentium

III

processor,

MB

physical

memory,

Intel

EtherExpress

Pro

Mbps

Ethernet

ports,

and

GB

hard

drive.

A

real-time

version

of

Linux

TimeSys

Linux/NET

based

on

RedHat

Linux

used

as

the

operating

system

for

all

nodes.

The

following

software

packages

were

also

used

for

our

experiments:

Ffmpeg

which

is

an

open-source

library

(http:

that

compresses

video

into

Real

Video,

and

many

other

video

formats.

Iftop

which

is

an

opensource

library

we

used

for

monitoring

network

activity

and

bandwidth

utilization.

ACE

TAO

which

is

an

opensource

implementation

of

the

Real-time

CORBA

specification

upon

which

HyARM

is

built.

TAO

provides

the

CORBA

Audio/Video

(A/V)

Streaming

Service

that

we

use

to

transmit

the

video

from

the

UAVs

to

end

receivers

via

the

base

station.

Experiment

Configuration

Our

experiment

consisted

of

two

(emulated)

UAVs

that

simultaneously

send

video

to

the

base

station

using

the

experimentation

setup

described

in

Section

At

the

base

station,

video

was

retransmitted

to

the

end

receivers

(without

any

modifications),

where

it

was

stored

to

a

file.

Each

UAV

hosted

two

applications,

one

QoS-enabled

application

(emergency

response),

and

one

best-effort

application

(surveillance).

Within

each

UAV,

computational

power

is

shared

between

the

applications,

while

the

network

bandwidth

is

shared

among

all

applications.

To

evaluate

the

QoS

provided

by

HyARM,

we

monitored

CPU

utilization

at

the

two

UAVs,

and

network

bandwidth

utilization

between

the

UAV

and

the

base

station.

CPU

resource

utilization

was

not

monitored

at

the

base

station

and

the

end

receiver

since

they

performed

no

computationallyintensive

operations.

The

resource

utilization

of

the

Mpbs

physical

link

between

the

base

station

and

the

end

receiver

does

not

affect

QoS

of

applications

and

is

not

monitored

by

HyARM

since

it

is

nearly

times

the

MB

bandwidth

of

the

LAN

between

the

UAVs

and

the

base

station.

The

experiment

also

monitors

properties

of

the

video

that

affect

the

QoS

of

the

applications,

such

as

latency,

jitter,

frame

rate,

and

resolution.

The

set

point

on

resource

utilization

for

each

resource

was

specified

at

which

is

the

upper

bound

typically

recommended

by

scheduling

techniques,

such

as

rate

monotonic

algorithm

Since

studies

have

shown

that

human

eyes

can

perceive

delays

more

than

we

use

this

as

the

upper

bound

on

jitter

of

the

received

video.

QoS

requirements

for

each

class

of

application

is

specified

during

system

initialization

and

is

shown

in

Table

Empirical

Results

and

Analysis

This

section

presents

the

results

obtained

from

running

the

experiment

described

in

Section

on

our

DRE

multimedia

system

testbed.

We

used

system

resource

utilization

as

a

metric

to

evaluate

the

adaptive

resource

management

capabilities

of

HyARM

under

varying

input

work

loads.

We

also

used

application

QoS

as

a

metric

to

evaluate

HyARM"s

capabilities

to

support

end-to-end

QoS

requirements

of

the

various

classes

of

applications

in

the

DRE

multimedia

system.

We

analyze

these

results

to

explain

the

significant

differences

in

system

performance

and

application

QoS.

Comparison

of

system

performance

is

decomposed

into

comparison

of

resource

utilization

and

application

QoS.

For

system

resource

utilization,

we

compare

network

bandwidth

utilization

of

the

local

area

network

and

CPU

utilization

at

the

two

UAV

nodes.

For

application

QoS,

we

compare

mean

values

of

video

parameters,

including

picture

resolution,

frame

rate,

latency,

and

jitter.

Comparison

of

resource

utilization.

Over-utilization

of

system

resources

in

DRE

systems

can

yield

an

unstable

system.

In

contrast,

under-utilization

of

system

resources

increases

system

cost.

Figure

and

Figure

compare

the

system

resource

utilization

with

and

without

HyARM.

Figure

shows

that

HyARM

maintains

system

utilization

close

to

the

desired

utilization

set

point

during

fluctuation

in

input

work

load

by

transmitting

video

of

higher

(or

lower)

QoS

for

QoS-enabled

(or

best-effort)

class

of

applications

during

over

(or

under)

utilization

of

system

resources.

Figure

shows

that

without

HyARM,

network

utilization

was

as

high

as

during

increase

in

workload

conditions,

which

is

greater

than

the

utilization

set

point

of

by

As

a

result

of

over-utilization

of

resources,

QoS

of

the

received

video,

such

as

average

latency

and

jitter,

was

affected

significantly.

Without

HyARM,

system

resources

were

either

under-utilized

or

over-utilized,

both

of

which

are

undesirable.

In

contrast,

with

HyARM,

system

resource

utilization

is

always

close

to

the

desired

set

point,

even

during

fluctuations

in

application

workload.

During

sudden

fluctuation

in

application

workload,

system

conditions

may

be

temporarily

undesirable,

but

are

restored

to

the

desired

condition

within

several

sampling

periods.

Temporary

over-utilization

of

resources

is

permissible

in

our

multimedia

system

since

the

quality

of

the

video

may

be

degraded

for

a

short

period

of

time,

though

application

QoS

will

be

degraded

significantly

if

poor

quality

video

is

transmitted

for

a

longer

period

of

time.

Comparison

of

application

QoS.

Figures

Figure

and

Table

compare

latency,

jitter,

resolution,

and

frameArticle

Class

Resolution

Frame

Rate

Latency

(msec

Jitter

(msec)

QoS

Enabled

x

Best-effort

x

Table

Application

QoS

Requirements

Figure

Resource

utilization

with

HyARM

Figure

Resource

utilization

without

HyARM

rate

of

the

received

video,

respectively.

Table

shows

that

HyARM

increases

the

resolution

and

frame

video

of

QoSenabled

applications,

but

decreases

the

resolution

and

frame

rate

of

best

effort

applications.

During

over

utilization

of

system

resources,

resolution

and

frame

rate

of

lower

priority

applications

are

reduced

to

adapt

to

fluctuations

in

application

workload

and

to

maintain

the

utilization

of

resources

at

the

specified

set

point.

It

can

be

seen

from

Figure

and

Figure

that

HyARM

reduces

the

latency

and

jitter

of

the

received

video

significantly.

These

figures

show

that

the

QoS

of

QoS-enabled

applications

is

greatly

improved

by

HyARM.

Although

application

parameters,

such

as

frame

rate

and

resolutions,

which

affect

the

soft

QoS

requirements

of

best-effort

applications

may

be

compromised,

the

hard

QoS

requirements,

such

as

latency

and

jitter,

of

all

applications

are

met.

HyARM

responds

to

fluctuation

in

resource

availability

and/or

demand

by

constant

monitoring

of

resource

utilization.

As

shown

in

Figure

when

resources

utilization

increases

above

the

desired

set

point,

HyARM

lowers

the

utilization

by

reducing

the

QoS

of

best-effort

applications.

This

adaptation

ensures

that

enough

resources

are

available

for

QoS-enabled

applications

to

meet

their

QoS

needs.

Figures

and

show

that

the

values

of

latency

and

jitter

of

the

received

video

of

the

system

with

HyARM

are

nearly

half

of

the

corresponding

value

of

the

system

without

HyARM.

With

HyARM,

values

of

these

parameters

are

well

below

the

specified

bounds,

whereas

without

HyARM,

these

value

are

significantly

above

the

specified

bounds

due

to

overutilization

of

the

network

bandwidth,

which

leads

to

network

congestion

and

results

in

packet

loss.

HyARM

avoids

this

by

reducing

video

parameters

such

as

resolution,

frame-rate,

and/or

modifying

the

compression

scheme

used

to

compress

the

video.

Our

conclusions

from

analyzing

the

results

described

above

are

that

applying

adaptive

middleware

via

hybrid

control

to

DRE

system

helps

to

improve

application

QoS,

increase

system

resource

utilization,

and

provide

better

predictability

(lower

latency

and

inter-frame

delay)

to

QoSenabled

applications.

These

improvements

are

achieved

largely

due

to

monitoring

of

system

resource

utilization,

efficient

system

workload

management,

and

adaptive

resource

provisioning

by

means

of

HyARM"s

network/CPU

resource

monitors,

application

adapter,

and

central

controller,

respectively.

RELATED

WORK

A

number

of

control

theoretic

approaches

have

been

applied

to

DRE

systems

recently.

These

techniques

aid

in

overcoming

limitations

with

traditional

scheduling

approaches

that

handle

dynamic

changes

in

resource

availability

poorly

and

result

in

a

rigidly

scheduled

system

that

adapts

poorly

to

change.

A

survey

of

these

techniques

is

presented

in

One

such

approach

is

feedback

control

scheduling

(FCS)

FCS

algorithms

dynamically

adjust

resource

allocation

by

means

of

software

feedback

control

loops.

FCS

algorithms

are

modeled

and

designed

using

rigorous

controltheoretic

methodologies.

These

algorithms

provide

robust

and

analytical

performance

assurances

despite

uncertainties

in

resource

availability

and/or

demand.

Although

existing

FCS

algorithms

have

shown

promise,

these

algorithms

often

assume

that

the

system

has

continuous

control

variable(s)

that

can

continuously

be

adjusted.

While

this

assumption

holds

for

certain

classes

of

systems,

there

are

many

classes

of

DRE

systems,

such

as

avionics

and

total-ship

computing

environments

that

only

support

a

finite

a

priori

set

of

discrete

configurations.

The

control

variables

in

such

systems

are

therefore

intrinsically

discrete.

HyARM

handles

both

continuous

control

variables,

such

as

picture

resolution,

and

discrete

control

variable,

such

as

discrete

set

of

frame

rates.

HyARM

can

therefore

be

applied

to

system

that

support

continuous

and/or

discrete

set

of

control

variables.

The

DRE

multimedia

system

as

described

in

Section

is

an

example

DRE

system

that

offers

both

continuous

(picture

resolution)

and

discrete

set

(frame-rate)

of

control

variables.

These

variables

are

modified

by

HyARM

to

achieve

efficient

resource

utilization

and

improved

application

QoS.

CONCLUDING

REMARKS

Article

Figure

Comparison

of

Video

Latency

Figure

Comparison

of

Video

Jitter

Source

Picture

Size

Frame

Rate

With

HyARM

Without

HyARM

QoS

Enabled

Application

X

X

Best-effort

Application

X

X

QoS

Enabled

Application

X

X

Best-effort

Application

X

X

Table

Comparison

of

Video

Quality

Many

distributed

real-time

and

embedded

(DRE)

systems

demand

end-to-end

quality

of

service

(QoS)

enforcement

from

their

underlying

platforms

to

operate

correctly.

These

systems

increasingly

run

in

open

environments,

where

resource

availability

is

subject

to

dynamic

change.

To

meet

end-to-end

QoS

in

dynamic

environments,

DRE

systems

can

benefit

from

an

adaptive

middleware

that

monitors

system

resources,

performs

efficient

application

workload

management,

and

enables

efficient

resource

provisioning

for

executing

applications.

This

paper

described

HyARM,

an

adaptive

middleware,

that

provides

effective

resource

management

to

DRE

systems.

HyARM

employs

hybrid

control

techniques

to

provide

the

adaptive

middleware

capabilities,

such

as

resource

monitoring

and

application

adaptation

that

are

key

to

providing

the

dynamic

resource

management

capabilities

for

open

DRE

systems.

We

employed

HyARM

to

a

representative

DRE

multimedia

system

that

is

implemented

using

Real-time

CORBA

and

CORBA

A/V

Streaming

Service.

We

evaluated

the

performance

of

HyARM

in

a

system

composed

of

three

distributed

resources

and

two

classes

of

applications

with

two

applications

each.

Our

empirical

results

indicate

that

HyARM

ensures

efficient

resource

utilization

by

maintaining

the

resource

utilization

of

system

resources

within

the

specified

utilization

bounds,

QoS

requirements

of

QoS-enabled

applications

are

met

at

all

times.

Overall,

HyARM

ensures

efficient,

predictable,

and

adaptive

resource

management

for

DRE

systems.

REFERENCES

T.

F.

Abdelzaher,

J.

Stankovic,

C.

Lu,

R.

Zhang,

and

Y.

Lu.

Feddback

Performance

Control

in

Software

Services.

IEEE:

Control

Systems,

June

L.

Abeni,

L.

Palopoli,

G.

Lipari,

and

J.

Walpole.

Analysis

of

a

reservation-based

feedback

scheduler.

In

IEEE

Real-Time

Systems

Symposium,

Dec.

S.

Blake,

D.

Black,

M.

Carlson,

E.

Davies,

Z.

Wang,

and

W.

Weiss.

An

architecture

for

differentiated

services.

Network

Information

Center

RFC

Dec.

H.

Franke,

S.

Nagar,

C.

Seetharaman,

and

V.

Kashyap.

Enabling

Autonomic

Workload

Management

in

Linux.

In

Proceedings

of

the

International

Conference

on

Autonomic

Computing

(ICAC),

New

York,

New

York,

May

IEEE.

E.

Gamma,

R.

Helm,

R.

Johnson,

and

J.

Vlissides.

Design

Patterns:

Elements

of

Reusable

Object-Oriented

Software.

Addison-Wesley,

Reading,

MA,

G.

Ghinea

and

J.

P.

Thomas.

Qos

impact

on

user

perception

and

understanding

of

multimedia

video

clips.

In

MULTIMEDIA

Proceedings

of

the

sixth

ACM

international

conference

on

Multimedia,

pages

Bristol,

United

Kingdom,

ACM

Press.

Internet

Engineering

Task

Force.

Differentiated

Services

Working

Group

(diffserv)

Charter.

X.

Koutsoukos,

R.

Tekumalla,

B.

Natarajan,

and

C.

Lu.

Hybrid

Supervisory

Control

of

Real-Time

Systems.

In

IEEE

Real-Time

and

Embedded

Technology

and

Applications

Symposium,

San

Francisco,

California,

Mar.

J.

Lehoczky,

L.

Sha,

and

Y.

Ding.

The

Rate

Monotonic

Scheduling

Algorithm:

Exact

Characterization

and

Average

Case

Behavior.

In

Proceedings

of

the

IEEE

Real-Time

Systems

Symposium

(RTSS

pages

IEEE

Computer

Society

Press,

J.

Loyall,

J.

Gossett,

C.

Gill,

R.

Schantz,

J.

Zinky,

P.

Pal,

R.

Shapiro,

C.

Rodrigues,

M.

Atighetchi,

and

D.

Karr.

Comparing

and

Contrasting

Adaptive

Middleware

Support

in

Wide-Area

and

Embedded

Distributed

Object

Applications.

In

Proceedings

of

the

International

Conference

on

Distributed

Computing

Systems

pages

IEEE,

Apr.

C.

Lu,

J.

A.

Stankovic,

G.

Tao,

and

S.

H.

Son.

Feedback

Control

Real-Time

Scheduling:

Framework,

Modeling,

and

Algorithms.

Real-Time

Systems

Journal,

July

Object

Management

Group.

Real-time

CORBA

Specification,

OMG

Document

edition,

Aug.

D.

C.

Schmidt,

D.

L.

Levine,

and

S.

Mungee.

The

Design

and

Performance

of

Real-Time

Object

Request

Brokers.

Computer

Communications,

Apr.

Thomas

Sikora.

Trends

and

Perspectives

in

Image

and

Video

Coding.

In

Proceedings

of

the

IEEE,

Jan.

X.

Wang,

H.-M.

Huang,

V.

Subramonian,

C.

Lu,

and

C.

Gill.

CAMRIT:

Control-based

Adaptive

Middleware

for

Real-time

Image

Transmission.

In

Proc.

of

the

IEEE

Real-Time

and

Embedded

Tech.

and

Applications

Symp.

(RTAS),

Toronto,

Canada,

May

Article

O B I I O O O O O O O O O O O O O O O O O O O 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 I O O O O O B I I O O O O O O O O O O O O O O B I I O O O O O O O O O O O O B I I I O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I I O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I I O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I O O O O O O O O O O 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 B I O O O O O O O B I O O O B I 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 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 O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O

distributed real-time embedded system
end-to-end quality of service
service end-to-end quality
hybrid control technique
real-time video distribution system
real-time corba specification
video encoding/decoding
resource reservation mechanism
dynamic environment
distribute real-time embed system
hybrid system
service quality

hybrid adaptive resourcemanagement middleware