33
Composing and Decomposing Composing and Decomposing QoS QoS Attributes for Distributed Systems: Attributes for Distributed Systems: Experience to Date and Hard Problems Going Experience to Date and Hard Problems Going Forward Forward or How to Handle a 20 year problem in 2 or How to Handle a 20 year problem in 2 - - 3 year Increments 3 year Increments Dr. Rick Schantz and a host of talented colleagues, past and present Monterey Workshop October 16, 2006

Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

Composing and DecomposingComposing and DecomposingQoSQoS Attributes for Distributed Systems:Attributes for Distributed Systems:Experience to Date and Hard Problems Going Experience to Date and Hard Problems Going

ForwardForwardor How to Handle a 20 year problem in 2or How to Handle a 20 year problem in 2--3 year Increments3 year Increments

Dr. Rick Schantzand a host of talented colleagues, past and

present

Monterey WorkshopOctober 16, 2006

Page 2: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

2Copyright 2006 BBN Technologies

Brief OutlineBrief Outline

• Context• Examples• Enabling Aspects, Building Blocks

and Directions• Hard Problems and Longer Range

Issues, Looking Forward

Page 3: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

3Copyright 2006 BBN Technologies

Application

OperatingSystem

App

OperatingSystem

App

App

OS

App

OS

NetworkProtocols

App

OS

App

OS

NetworkProtocols

Middle-ware

Middle-ware

MWSvcs

MWSvcs

EmbeddedOS

EmbeddedOS

NetworkProtocols

LW Middle-ware

LW Middle-ware

MWSvcs

MWSvcs

Emb.App

Emb.App

Application

1950s 2006+Fifty Years of Distributed Systems Software Architecture Evolution

Historical Context: Software Infrastructure Historical Context: Software Infrastructure Enables Application CapabilitiesEnables Application Capabilities

1950s 1960s 1970s 1980s 2000s

App

OS

App

OS

NetworkProtocols

DatabaseSystems

DatabaseSystems

1990s

System Development EnvironmentsProgramming

Languages

??

Middle-ware

Middle-ware

Page 4: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

4Copyright 2006 BBN Technologies

Background: Underlying Forces at WorkBackground: Underlying Forces at Work

• Everything is a computer• Everything is a networked computer• Everything is potentially interdependent• Things connect to the real physical world• Increasing heterogeneity, distance and mobility

Mission critical distributed systems will continue to be built, fielded (and vulnerable) with or without proper basis, understanding and tools

Page 5: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

5Copyright 2006 BBN Technologies

Leading to Current Trends and DirectionsLeading to Current Trends and Directions

• Need for Integrated/Managed End-to-End Behavior– Multi-dimensional– String & Aggregate

• Multi-Layered Architectures, Network-centric Services & Systems of Systems

• Adaptive Designs Over Widely Varying and Changing Configurations– Static Dynamic

• (More) Advanced Software Engineering (trying to keep pace)– Methodologies, Processes, Tools, Complexity

Management

Page 6: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

6Copyright 2006 BBN Technologies

Brief OutlineBrief Outline

• Context• Examples• Enabling Aspects, Building Blocks

and Directions• Hard Problems, Looking Forward

Page 7: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

7Copyright 2006 BBN Technologies

CollaborationServer

C3ISimulation

Quality of ServiceManagement

Object Request Broker

AdaptiveResource Mgmt

Browser Application

JTIDSControls &Displays

Link 16 Interface Software

F-15 JTIDS Terminal

Quality ObjectFramework

Link 16 Interface Software

C2 JTIDS Terminal

Pluggable ProtocolPluggable Protocol

CollaborationClient

Link 16

Virtual TargetFolder

C2C2 FF--1515

Avionics Dynamic Mission PlanningAvionics Dynamic Mission Planning

Example DRE Application 1

Page 8: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

8Copyright 2006 BBN Technologies

ROT LROT RRESET

LEFT RIGHTQUERYLINE SYM

OUT

IN

M

HOME

UP

DOWN

PREVPAGE

NEXTPAGE

Avionics Dynamic Mission PlanningAvionics Dynamic Mission Planning

Full Image Tiled Image Compressed

Tiles

QoS Techniques• Tiling• Compression• Processor Resource Management• Network Resource Management

CollaborationClient Expected

Progress

Delegate

NetworkMonitorTAO ORB

ProgressContract

Measured

Progress

get_image()

get_tile(n, q)

adjust_rates()

Collaboration Task

NAVHUD

Soft Real-TimeTasks

Hard Real-TimeTasks

NAVNAVHUD

Soft Real-TimeTasks

Hard Real-TimeTasks

RT EventChannel

RTScheduler

RT EventChannel

RTSchedulertask

eventrates

RMS or MUF scheduling of tasks

VTF tile

ProcessorResourceManager

QuO Components

TAO components

RT-ARM components

QuO Components

TAO components

RT-ARM components

A Net-meeting likemission replanningcollaboration betweenC2 and fighter aircraft

0

50

100

Start Deadline

Time

% Im

age

Proc

esse

dEarly

Late

On Time

• Request more bandwidth on next tile

• Request higher priority

• Request lower Q level on next tile

• Notify application

• Request higher Q level on next tile

• Finish early

Image A

Image B

Page 9: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

9Copyright 2006 BBN Technologies

CAOCCAOC

MultiMulti--UAV Reconnaissance and Situation Monitoring UAV Reconnaissance and Situation Monitoring Requires Dynamic EndRequires Dynamic End--toto--End End QoSQoS ManagementManagement

End-to-End Objective-Driven QoS Management

After Action Assessment• UAV provides high resolution imagery until a

human operator has determined that it is sufficient

• UAV over item of interest must continue to provide situation assessment imagery

Situation Assessment• UAV observing item of interest provides high

resolution imagery so that unfolding situation can be monitored, assessed, and acted upon

Reconnaissance Mode• Maximize area monitored• Sufficient resolution in delivered imagery to

determine items of interest

The challenge is to program the dynamic control and adaptation to manage and enforce end-to-end QoS.

Radio links are statically allocated

Vehicle platforms are closed with statically

scheduled tasks

Ground based CPUs have variable dynamic load

LAN/WAN links are shared with (a priori)

unknown load

Heterogeneous, shared, and constrained resources

Multi-layer points of view: System-view, goal-view, application-string view, local resource view

Goal-defined requirements and tradeoffs (e.g., rate, image size, fidelity)

Changing modes, participants, and environmental conditions

Example DRE Application 2

Page 10: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

10Copyright 2006 BBN Technologies

Demonstration Imagery Displays Demonstration Imagery Displays (Simulated C2 Receivers)(Simulated C2 Receivers)

Name, role and COI of the asset

Image size and rate are a result of QoS information management

Mission Manager driver for the scenario

Color of the border reflects the role of the SimUAV

Page 11: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

11Copyright 2006 BBN Technologies

QoSQoS Policies Used in the DemonstrationPolicies Used in the Demonstration

Mission Relative Priorities

ISR_COI 1

TST_COI 2

Qos Constraints and TradeoffsResource Needed Quality of Information Needed

BWNeeded(kbps)(Min-Max)

DiffServCodepoint

CPU(Receiver )

(%)

Rate(Timeliness)

IO/Frame Rate

Scaling(Size)

Compression(Accuracy)

Cropping(Precision)

SURVEILLANCE (ISR) 1 50-200 Best Effort 0.1-2.0 0.1 – 0.4 Qtr-Qtr JPG-JPG None

1.5-5.5

1.5-3.0

TARGET TRACKING (TT) 6 150-600 Expedited

Forwarding 1-1.5 Half-Half None - JPG None

BATTLE DAMAGE

ASSESSMENT (BDA)

4 300-400 Assured Forwarding 0.25-0.5 Full-Full None-JPG None-30%

Roles Relative Priority

More Detail

Page 12: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

12Copyright 2006 BBN Technologies

““Defense Enabling” Distributed ApplicationsThe DPASA ProjectThe DPASA Project

Build an information management system that can survive sustained attacks from nation-state adversary and complete its mission

Operate through attacks by using a layered defense-in-depth concept

• Accept some degradation

• Protect most valuable assets

• Move faster than the intruder

ENVIRONMENTAL LAN

ChemHAZ

EDC

JEES

WxHAZ

AMC CONUS LAN

MAF

Wing Ops LAN

COMBOPS

PLANNING LANAODB

TARGET

CAF

TAP

SWDIST TAPDB AODBSVR

PLANNING LANAODB

TARGET

CAF

TAP

SWDIST TAPDB AODBSVR

PSQ JBOSS App Server

RepositoryIOR, MDR, Security

JBI Core LAN

Public IP NetworkPublic IP Network

Legacy Solaris System

Windows

SeLinuxSeLinux

WinXPProWinXPPro

Solaris 8Solaris 8

RedHatRedHat

ADF NICADF NIC

Experiment Control/logging network

Win2000Win2000

Bump In Wire w/ADFBump In Wire w/ADF

Cisco Layer 3 Switch

Y.126

Y.125

Y.124

Y.123

Y.122

Y.121

Y.114

SPANSPAN

X.126X.126 Q1SM

Q1PS

Q1COR

Q1PSQ

Q1DC

Q1NIDS

Q1AP

X.125X.125

X.124X.124

X.123X.123

X.122X.122

X.121X.121

X.114X.114

X.174X.174 Y.174

Y.173

Y.172

Y.171

Y.170

Y.169

Y.162

SPANSPAN

Q4SM

Q4PS

Q4COR

Q4PSQ

Q4DC

Q4NIDS

Q4AP

X.173X.173

X.172X.172

X.171X.171

X.170X.170

X.169X.169

X.162X.162

X.158X.158 Y.158

Y.157

Y.156

Y.155

Y.154

Y.153

Y.146

SPANSPAN

Q3SM

Q3PS

Q3COR

Q3PSQ

Q3DC

Q3NIDS

Q3AP

X.157X.157

X.156X.156

X.155X.155

X.154X.154

X.153X.153

X.146X.146

X.142X.142 Y.142

Y.141

Y.140

Y.139

Y.138

Y.137

Y.130

SPANSPAN

Q2SM

Q2PS

Q2COR

Q2PSQ

Q2DC

Q2NIDS

Q2AP

X.141X.141

X.140X.140

X.139X.139

X.138X.138

X.137X.137

X.130X.130

Z.169SPAN

Z.153SPAN

Z.146 Z.162Z.130

SPAN

Z.137

Z.114

Z.121SPAN

AMC CONUS LAN

Wing Ops LAN

PLANNING LAN

ENVIRONMENTAL LAN

MAFX.202

Z.202

MAFX.202 MAFX.202X.202

Z.202

CombOpsX.198 CombOpsX.198X.198

Z.198

AODBX.210

Z.210

AODBX.210 AODBX.210X.210

Z.210

TARGETX.211

Z.211

TARGETX.211 TARGETX.211X.211

Z.211

CAFX.212

Z.212

CAFX.212 CAFX.212X.212

Z.212

TAPX.213X.213

Z.213

swdist aodbsvr tapdb

Hub

ChemHazX.179

Z.179

ChemHazX.179 ChemHazX.179X.179

Z.179

EDCX.180X.180

Z.180

JEESX.181X.181

Z.181

WxHazX.178

Z.178

WxHazX.178 WxHazX.178X.178

Z.178

Z.200/29

Z.192/29Z.208/28

Z.176/28

QUAD 1 QUAD 2 QUAD 3 QUAD 4Z.128/30 Z.144/30Z.112/30 Z.160/30

ManagedSwitch

VLANVLAN

ANIDSX.203

Z.203

ANIDSX.203 ANIDSX.203X.203

Z.203

ENIDSX.184

Z.184

ENIDSX.184 ENIDSX.184X.184

Z.184

WNIDSX.196

Z.196

WNIDSX.196 WNIDSX.196X.196

Z.196

PNIDSX.215

Z.215

PNIDSX.215 PNIDSX.215X.215

Z.215

ScorebotX.214

Z.214

ScorebotX.214 ScorebotX.214X.214

Z.214PIX

PIXPIX

PIXPIX

PIXPIX

PIX

Cisco PIXCisco PIXSPAN

SPAN

SPAN

SPAN

Notional diagram of the undefended system

Defense-enabled system

Example DRE Application 3

Page 13: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

13Copyright 2006 BBN Technologies

Architecting Survivability into Large Systems With Architecting Survivability into Large Systems With RealtimeRealtimeResponseResponse

Diversity: Avoid common mode vulnerabilities

Layers of protection

Both HWand SW

Design Principles,

Architecturalconstrains

High barrier to intrusion

Adaptive response

Adaptivemiddleware

Rapid andcoordinatedresponse

Isolation,recovery,Graceful

degradation

Redundancy: No single point of failure in critical functionality

Weak assumptions

Less susceptible to attacker’s manipulation of environment

Detection and correlationEmbeddedsensors

Mix of IDSand Policyviolation

Advanced, distributedcorrelation

General principles for survivability

• Protect as best as possible

• Improve chances of detection

• Adapt to manage gaps

Reliability requires architecting in multiple dimensions

Even more so, when the goal is to be resilient not only against errors, but also against attacks….

Page 14: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

14Copyright 2006 BBN Technologies

Brief OutlineBrief Outline

• Context• Examples• Enabling Aspects, Building Blocks

and Directions• Hard Problems, Looking Forward

Page 15: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

15Copyright 2006 BBN Technologies

A Minimum Set of Capabilities for A Minimum Set of Capabilities for QoSQoSAdaptive MiddlewareAdaptive Middleware

• Specify the QoS needs of a mission, application, system

• Measure the QoS available in a system

• Control knobs to achieve QoS• Adapt to compensate for changes in

QoS• Mediate conflicting QoS requirements

Page 16: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

16Copyright 2006 BBN Technologies

CLIENT

DelegateContract

SysCond

Contract

Network

MECHANISM/PROPERTYMANAGER

operation()in args

out args + return value

IDLSTUBS

Delegate

SysCond

SysCond

SysCond

IDLSKELETON OBJECT

ADAPTER

ORB IIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

Adaptive Behavior EnablersAdaptive Behavior Enablers

Page 17: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

17Copyright 2006 BBN Technologies

CLIENT

DelegateContract

SysCond

Contract

Network

MECHANISM/PROPERTYMANAGER

operation()in args

out args + return value

IDLSTUBS

Delegate

SysCond

SysCond

SysCond

IDLSKELETON OBJECT

ADAPTER

ORB IIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

CLIENT

DelegateContract

SysCond

Contract

Network

MECHANISM/PROPERTYMANAGER

operation()in args

out args + return value

IDLSTUBS

Delegate

SysCond

SysCond

SysCond

IDLSKELETON OBJECT

ADAPTER

ORB IIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

Use CasesUse Cases

Page 18: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

18Copyright 2006 BBN Technologies

QuOQuO Components Are Packaged into Reusable Components Are Packaged into Reusable Bundles of Bundles of ““Systemic BehaviorSystemic Behavior”” Called Called QosketsQoskets

• The Qosket encapsulates a set of contracts (CDL), system condition objects (IDL), and QoS adaptive behavior (ASL)

• The Qosket exposes interfaces to access QuOcontrols and information (specified in IDL)

• The Qosket separates the functional adaptive behavior (business logic) from the QoS adaptive behavior and the middleware controls from the QoS mechanisms

Functional Behavior

Adaptation

QuO Contract

Object

QoS Adaptive Behavior

SysCond

QoSMechanisms

Client Code

Delegate Qosket

Page 19: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

19Copyright 2006 BBN Technologies

ComponentComponent--Based Adaptive Based Adaptive QoSQoSFrameworksFrameworks

C1 C2

qosket2qosket1

In-bandIn-band

out-of-band

• Complementary CCM and Qosketideas

– CIAO, Prism support static QoS– Qoskets support dynamic, adaptive QoS

• Lifecycle support for dynamic QoS– Information available at design,

configuration, assembly, and run times• Crosscutting QoS concerns become

many distributed qosket components– Better assembly and transparency using

CCM tools– QoS policies in components, containers,

and ORBs working with dynamic contract-based QoS and resource management

Qosket

Contracts SystemConditionObjects

CallbackObjects

QosketImplementation

HelperMethods

DelegateTemplates

SysCond

SysCondSysCondSysCond SysCond

SysCond

SysCond

SysCondSysCondSysCond SysCond

SysCond

CLIENT

Network

operation()in args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECT

ORBNetwork

CLIENT

Network

operation()in args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECT

ORBNetwork

CLIENT

NetworkNetwork

operation()in argsin args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON OBJECT

ADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON OBJECT

ADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECTOBJECT(SERVANT)

OBJECT

ORBNetworkNetwork

Delegate Delegate Delegate DelegateDelegate Delegate Delegate DelegateContract Contract ContractContractContract ContractContract ContractContract

Qosket

Contracts SystemConditionObjects

CallbackObjects

QosketImplementation

HelperMethods

DelegateTemplates

SysCond

SysCondSysCondSysCond SysCond

SysCond

SysCond

SysCondSysCondSysCond SysCond

SysCond

CLIENT

Network

operation()in args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECT

ORBNetwork

CLIENT

Network

operation()in args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECT

ORBNetwork

CLIENT

NetworkNetwork

operation()in argsin args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON OBJECT

ADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON OBJECT

ADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECTOBJECT(SERVANT)

OBJECT

ORBNetworkNetwork

Delegate Delegate Delegate DelegateDelegate Delegate Delegate DelegateContract Contract ContractContractContract ContractContract ContractContract

SysCond

SysCondSysCondSysCond SysCond

SysCond

SysCond

SysCondSysCondSysCond SysCond

SysCond

CLIENT

Network

operation()in args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECT

ORBNetwork

CLIENT

Network

operation()in args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECT

ORBNetwork

CLIENT

NetworkNetwork

operation()in argsin args

out args + return value

IDLSTUBS

OBJECTADAPTER

IDLSKELETON OBJECT

ADAPTER

IDLSKELETON

ORB

CLIENT OBJ OBJECT(SERVANT)

OBJECTOBJECT(SERVANT)

OBJECTOBJREF

ORB

IDLSTUBS

OBJECTADAPTER

IDLSKELETON OBJECT

ADAPTER

IDLSKELETON

OBJECT(SERVANT)

OBJECTOBJECT(SERVANT)

OBJECT

ORBNetworkNetwork

Delegate Delegate Delegate DelegateDelegate Delegate Delegate DelegateContract Contract ContractContractContract ContractContract ContractContract

Attributes

ComponentReference

ComponentHome

CORBA CCM • Component frameworks need static and dynamic QoS management to be suitable for DRE environments

• QoS encapsulation (e.g., qoskets) within a component framework (e.g., CCM) offers the potential for improved composition, transparency, and lifecycle support for QoS

Page 20: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

20Copyright 2006 BBN Technologies

Resource Layer(Control and allocation of an individual resource)

Resource Layer(Control and allocation of an individual resource)

Application String Layer(goals, requirements for an end-to-end application)

Application String Layer(goals, requirements for an end-to-end application)

System and Mission Layer (High level goals, requirements, trade-offs)

Application String Layer(goals, requirements for an end-to-end application)

mapping

Resource Layer(Control and allocation of an individual resource)

control

MultiMulti--Layer Layer QoSQoS Management ArchitectureManagement Architecture

Page 21: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

21Copyright 2006 BBN Technologies

SystemParticipant

Policy Status

System ParticipantLocal Resource Manager

Status

QoS behavior

Resource

Control

QoS behavior

QoS mechanism/

manager

Status Control

QoS behavior

Data Shaping

Status Adapt

• • • • • •

Configure

Feedback

• Local Resource Manager (LRM)

– Determines how to utilize allocated resources to meet mission goals

– Configures and monitors QoS behaviors to enforce QoS policy

• QoS behaviors– Control and

monitor individual resources or mechanisms, or adapt application behavior

MultiMulti--Layer QoS Management DesignLayer QoS Management Design

• System Resource Manager (SRM)– Knows mission goals and tradeoffs– Knows number and types of participants, roles

and relative importance, and available shared resources

– Produces policy defined for each participantSystem Resource Manager

SystemParticipant

SystemParticipant

Policy Status Policy Status

Controller QoSPredictor

Constraints

QoS levels

System Repository

Model of Shared System Resources,Participants

Mission goals,requirements,trade-offs

Page 22: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

22Copyright 2006 BBN Technologies

AlgorithmsAlgorithms

• We prototyped a few (variations) allocating based on priority, role, weight, number of assets, and available resources

• The current algorithm allocates one resource at a time

• Still some hard problems in allocating for more than one resource at a time

– Multi-dimensional resource provisioning– Capturing system dynamics (how changes in

one part of the system affects other parts)– Measures of utility to drive resource allocation

One prototype algorithm: First compute an allocation unit

Next, allocate each asset a number of allocation units sufficient to satisfy its roles and the COIs it participates in

But not less than its minimum or more than its maximum

( )

( ) ( ) ( )⎟⎟

⎜⎜

⎟⎟⎠

⎞⎜⎜⎝

⎛×

=

∑∑∈∈ COIsjrolesi

jCOIofweightiroleofweightiroleinassetsofnumber

availableresourcesunitalloc _

⎟⎟⎠

⎞⎜⎜⎝

⎛⇒×⎟

⎞⎜⎝

⎛⇒×= ∑∑

∈∈ COIsjk

rolesikkasset jCOIofweightjCOIinassetiroleofweightiroleinassetunitallocallocation _

Resource Allocation Algorithm

LRM

QoSPredictor 1

QoSPredictor N

PolicyPolicy

Policy

QoS level

. . .

Resource Allocation Algorithms

• We prototyped QoS predictor and mechanism algorithms for a few resources (e.g., bandwidth), datatypes(e.g., images), and techniques (e.g., pacing, compression, scaling)

QoS Enforcement Algorithms

QoS Enforcement Algorithms

Page 23: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

23Copyright 2006 BBN Technologies

LRM

LRM

SRM

CPUQC

NWQC

DSQC

LRM

Crop QC

ScaleQC

Compress QC

PacingQC

DePacingQC

DecompressQC

Image Receiver/ Display

Data Shaping QCs

ImageSender

Network

•••

SRM

LRM LRM

mechQC

mechQC

mechQC

mechQC•••

•••Hierarchical

Parallel

Sequential

Patterns of Component Composition

Page 24: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

24Copyright 2006 BBN Technologies

ScalingQosket

CompressionQosket

PacingQosket

EncodingQosket

InformationSupplier/

Consumer

InformationSupplier/

Consumer

MultiMulti--Layered EndLayered End--toto--End End QoSQoS Management Management End-to-end QoS management must

– Manage all the resources that can affect QoS, i.e., anything that could be a bottleneck at any time during the operation of the system (e.g., CPU, bandwidth, memory, power, sensors, …)

– Shape the data and processing to fit the available resources and the mission needs

• What can be delivered/processed• What is important to deliver/process

– Includes capturing mission requirements, monitoring resource usage, controlling resource knobs, and runtime reallocation/adaptation

InformationSupplier

InformationConsumer

Network

Control and Monitor CPU Processing– CPU Reservation or CPU priority and scheduling– Have versions that work with CPU broker, RT CORBA, RTARM

CPUBrokerQosket

CPUBrokerQosket

CPUBrokerQosket

CPUBrokerQosket

Control and Monitor Network Bandwidth– Set DiffServ CodePoints (per ORB, component server, thread, stream, or message)– Work with DSCP directly or with higher level bandwidth brokers– Priority-based (Diffserv) or reservation-based (RSVP)

DiffservQosket

DiffservQosket

DiffservQosket

Dynamic QoS realized by• Assembly of QoS components• Paths through QoS components• Parameterization of QoS components• Adaptive algorithms in QoS components

Coordinated QoS Management

Shape and Monitor Data and Application Behavior– Shape the data to fit the resources and the requirements– Insert using components, objects, wrappers, aspect weaving, or intercepters– Library that includes scaling, compression, fragmentation, tiling, pacing, cropping,

format change

DataShapingQosket

DataShapingQosket

DataShapingQosket

DataShapingQosket

DataShapingQosket

DataShapingQosket

System resource managersallocate available resourcesbased on mission requirements,participants, roles, and priorities

SystemResourceManager

Local resource managers decide how best to utilize the resource allocation to meet mission requirementsLocal

ResourceManager

LocalResourceManager

LocalResourceManager

LocalResourceManager

Page 25: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

25Copyright 2006 BBN Technologies

SimUAVSensorSimUAVSensor

CroppingQosket

CroppingQosket

ScalingQosketScalingQosket

CompressionQosket

CompressionQosket

PacingQosketPacingQosket

CPUBrokerQosket

CPUBrokerQosket

DiffservQosketDiffservQosket

LocalResourceManager

LocalResourceManager

LocalResourceManager

qosket attributes

AM1__ImageLogicalDeviceComponentLogical_Optical_Sensor

AM1__DataGeneratorQosketComponentOptical_Qosket

AM1__DataGeneratorComponentOptical_Sensor

AM1__CompressionProcessorImage_Compressor

AM1__ScalingProcessorImage_Scaling

OM1__MissionModeComponentMode_Controller

AM1__MissionBWComponentBandWidth_Controller

AM1__MissionCPUComponentCPU_Controller

OM1__ModeResourceMonitorComponentMode_Monitor

AM1__BWResourceMonitorComponentBandWidth_Monitor

AM1__CPUResourceMonitorComponentCPU_Monitor

5HZ

10HZ

20HZ

1HZ

10. Push()

11. Push()

12. GetImage()

4. Push()

5. Push()

6. GetBW_Utilization()

7. Push()

9. GetMode()

8. Push()

1. Push()

2. Push()3. GetCPU_Utilization()

13. GetValue()14. GetValue()

15. GetValue()

18*. UpdateImage()

17*. UpdateImage()

20. Push()

21. GetImage()

AM1__DataDisseminatorComponentComm_Link

22. Push()23. GetImage()

ContractPrism_Contract

16. Eval ()

AM1__TiledImageProcessorLogical_Tiled_Optical_Sensor

19*. UpdateImage()

5HZ

AM1__PacingQosketComponentPacing_Qosket

24. Push()

25. GetImage()

26*. Push()

PCES_Imaging_Station_ComponentPCES_Imaging_Station

PCES_Asset_SRM_ComponentPCES_Asset_SRM

PCES_UCAV_Server_ComponentPCES_UCAV_Server

27*. GetImage()

images

policymissionmode

changes

ReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiver

SystemResourceManager

SystemResourceManager

images

policy

C2

Clie

nt

CFF

Status

TrackData

BDIImagery

BDIImagery

Embedded Battle

Command

3-DTerrain

Navigation

BDIImageDisplay

LauncherSimulator

2-DSituation

Awareness

TrackDistribution

CFF CFF

Status Status

TrackData

TrackDataimages

RTE

CR

TEC

IntegratedDisplayC4ISIM

Blue Controller

JBI

Integrating the ComponentsIntegrating the ComponentsSystem resource manager determines allocation of resources to participants and roles• Assigns a weight to each role based on its

relative importance (from the blue controller) • Divides the total amount of resources (e.g.,

Mbps or %CPU) by the number of participants in all roles multiplied by their weight to get a resource unit

• Each participant is allocated a resource unit times the weight of its role

End-to-End Quality of Service

System resource manager pushes policy to each participant (SimUAVs)

• Role• Relative importance• Resource allocation• Min and Max allowed (from mission requirements)

Local resource manager determines how best to utilize allocated resources• Diffserv Code Point (based on relative importance of role)• CPU reservation• Shaping data to fit allocated CPU and bandwidth: rate, size (cropping or

scale), compression• Chooses based on resource allocation and mission needs of the role

Local resource manager configures qoskets to enforce resource management

Qoskets control resources and shape imagery

• Diffserv Code Point • CPU reservation• Rate, compression level, amount to scale or

crop

Page 26: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

26Copyright 2006 BBN Technologies

SimUAVSensorSimUAVSensor

CroppingQosket

CroppingQosket

ScalingQosketScalingQosket

CompressionQosket

CompressionQosket

PacingQosketPacingQosket

CPUBrokerQosket

CPUBrokerQosket

DiffservQosketDiffservQosket

LocalResourceManager

LocalResourceManager

LocalResourceManager

qosket attributes

AM1__ImageLogicalDeviceComponentLogical_Optical_Sensor

AM1__DataGeneratorQosketComponentOptical_Qosket

AM1__DataGeneratorComponentOptical_Sensor

AM1__CompressionProcessorImage_Compressor

AM1__ScalingProcessorImage_Scaling

OM1__MissionModeComponentMode_Controller

AM1__MissionBWComponentBandWidth_Controller

AM1__MissionCPUComponentCPU_Controller

OM1__ModeResourceMonitorComponentMode_Monitor

AM1__BWResourceMonitorComponentBandWidth_Monitor

AM1__CPUResourceMonitorComponentCPU_Monitor

5HZ

10HZ

20HZ

1HZ

10. Push()

11. Push()

12. GetImage()

4. Push()

5. Push()

6. GetBW_Utilization()

7. Push()

9. GetMode()

8. Push()

1. Push()

2. Push()3. GetCPU_Utilization()

13. GetValue()14. GetValue()

15. GetValue()

18*. UpdateImage()

17*. UpdateImage()

20. Push()

21. GetImage()

AM1__DataDisseminatorComponentComm_Link

22. Push()23. GetImage()

ContractPrism_Contract

16. Eval ()

AM1__TiledImageProcessorLogical_Tiled_Optical_Sensor

19*. UpdateImage()

5HZ

AM1__PacingQosketComponentPacing_Qosket

24. Push()

25. GetImage()

26*. Push()

PCES_Imaging_Station_ComponentPCES_Imaging_Station

PCES_Asset_SRM_ComponentPCES_Asset_SRM

PCES_UCAV_Server_ComponentPCES_UCAV_Server

27*. GetImage()

images

policymissionmode

changes

ReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiverReceiver

SystemResourceManager

SystemResourceManager

images

policy

C2

Clie

nt

CFF

Status

TrackData

BDIImagery

BDIImagery

Embedded Battle

Command

3-DTerrain

Navigation

BDIImageDisplay

LauncherSimulator

2-DSituation

Awareness

TrackDistribution

CFF CFF

Status Status

TrackData

TrackDataimages

RTE

CR

TEC

IntegratedDisplayC4ISIM

Blue Controller

JBI

Surveillance imagery isdisplayed at ground display;One UAV is directed to provide persistent coverage of an item of interest

Dynamic ReconfigurationDynamic Reconfiguration

Mission Mode Changes and Reconfiguration

UAVs send surveillance imagery

UAV observing situation sends higher quality images

Human operator assesses the situation and determines whether action is required

UAV provides after action imagery

Dynamic End-to-End QoS Management

SRM reallocates resources and pushes new policy to participants; LRM determines new adaptation and control.

SRM reallocates resources and pushes new policy to participants; LRM determines new adaptation and control.

Page 27: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

27Copyright 2006 BBN Technologies

Brief OutlineBrief Outline

• Context• Examples• Enabling Aspects, Building Blocks

and Directions• Hard Problems, Looking Forward

Page 28: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

28Copyright 2006 BBN Technologies

Looking Forward Again:Looking Forward Again:Three Areas of Continued R&DThree Areas of Continued R&D

1. Heterogeneity is your friend, but is still too costly– On the one hand we often preach it,– But in practice we avoid it– Needs fixing, to avoid the risks of innovation slowdown &

monoculture

2. Lot’s and lot’s of interacting pieces across platforms with realtimerequirements over shared environments– Mandates new higher level abstractions for development and

tools, tools, tools

3. Many of the distributed, realtime, embedded environments weengage have certifiability requirements– Current approach is completely static and exhaustive testing– Interconnection drives dynamic behavior which breaks current

approaches

Page 29: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

29Copyright 2006 BBN Technologies

Moving To A Higher Level of Abstraction –Model Based Design of Runtime Adaptive Behavior

Modeling of QoS for DRE adaptive applications that behave appropriately under dynamic conditions

QoS

Aspe

ct 1

QoS Aspect 2

QoS Aspect 3Acceptable

MinimumAcceptable Value

Minimum AcceptableValue

Maximum UsefulValue

Maximum Useful Value

Maximum UsefulValue

Unacceptable

Minimum AcceptableValue

• Simplify the development of end-to-end and system-wide QoS adaptation and control for DRE systems

• Enable a larger class of practitioners, i.e., adaptive DRE system builders with less training in QoS or adaptive programming

• Improve the formalization, robustness, and usability of QoS adaptive concepts and applications.

Unacceptablebehavior

Acceptablebehavior

Want to model and synthesize adaptive behaviors that

• Ensure predictable, controlled behavior• Satisfy mission requirements (i.e., use

requirements to choose suitable tradeoffs)• Gracefully degrade and recover

CLIENT

DelegateContractContract

SysCond

ContractContract

NetworkNetwork

MECHANIS M/PROPERTYMANAGER

operation()in argsin args

out args + return value

IDLSTUBS

Delegate

SysCond

SysCond

SysCond

IDLSKELETON OBJ ECT

ADAPTER

ORB IIOPORB IIOP ORBIIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

Create ModelStore Generate

Repository

Runtime System

MonitorRefine

Page 30: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

30Copyright 2006 BBN Technologies

Observable and Controllable Parameters Observable and Controllable Parameters and Adaptation Behaviorsand Adaptation Behaviors

Observable and Controllable Parameters Adaptation Behaviors

We have a set of off the shelf encapsulated behaviors (qoskets)

• CPU Broker• Compression

– Wavelet, JPEG, PNG• Cropping• Setting Diffserv Codepoints• Pacing (changing frame

rate)• Scaling• Tiling

Two levels of resource management controllers• A system resource manager that sets policy for participants

• Local resource managers that enforce policy

Page 31: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

31Copyright 2006 BBN Technologies

Adaptive Distributed Systems and CertificationAdaptive Distributed Systems and Certification

• Adaptive Systems reallocate resources and change strategies at run-time

• provide system agility to tolerate – Failures, changing workloads, etc.

• tailors allocations and strategies to current conditions• cannot deploy adaptive systems unless certified • static approaches are generally not feasible

– cannot always know worst-case– allocation is not fixed– too many choices and possibilities to analyze

statically and to largely rely on testing• need some new approaches to certification

Page 32: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

32Copyright 2006 BBN Technologies

Investigating Ideas Toward the Certification of Investigating Ideas Toward the Certification of Dynamic SystemsDynamic Systems

• To facilitate certification, the process of creating dynamic systems needs to include two related pieces– The ability to assess the comprehensive

quality, reliability, and correctness of system behavior

– The ability to (positively and assuredly) controlsystem behavior

• These two go hand-in-hand for certification– Ability to drive the system toward assessable

“good” behavior– Ability to prevent the system from incorrect,

unreliable or “bad” behavior • These two together can potentially provide a

basis for evidence-based certification

Page 33: Composing and Decomposing QoS Attributes for Distributed ... › monterey06 › slides › Schantz-Monterey06.… · Composing and Decomposing QoS Attributes for Distributed Systems:

33Copyright 2006 BBN Technologies

UtilityUtility--Based CertificationBased Certification• Utility measures can capture attributes of system

performance and quality– Measure user-perceived value derived from control– Provide a quantitative measure for certification

• Considering Utility as measured and computed at each level of abstraction

Job utility involves combinations of continuing service and meeting deadlines, …

• Feedback control uses utility measurements/estimates to drive toward higher (increasing) utility– Allows system to dynamically respond to unforeseen

situations

System utility:

Mission utility:

String utility:

∑ == i jjS

j

Si

Si

mi UwU

0

∑ ==

M

imi

mi UwU

0

∑=

=j

j

P

i

jobl

j

Si u

PU

1

1