Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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
2Copyright 2006 BBN Technologies
Brief OutlineBrief Outline
• Context• Examples• Enabling Aspects, Building Blocks
and Directions• Hard Problems and Longer Range
Issues, Looking Forward
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
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
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
6Copyright 2006 BBN Technologies
Brief OutlineBrief Outline
• Context• Examples• Enabling Aspects, Building Blocks
and Directions• Hard Problems, Looking Forward
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
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
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
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
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
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
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….
14Copyright 2006 BBN Technologies
Brief OutlineBrief Outline
• Context• Examples• Enabling Aspects, Building Blocks
and Directions• Hard Problems, Looking Forward
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
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
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
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
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
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
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
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
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
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
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
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.
27Copyright 2006 BBN Technologies
Brief OutlineBrief Outline
• Context• Examples• Enabling Aspects, Building Blocks
and Directions• Hard Problems, Looking Forward
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
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
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
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
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
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