cadance: a criticality-aware deployment and configuration engine

16
1 CaDAnCE: A Criticality-aware Deployment And Configuration Engine Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Gan Deng, Douglas Schmidt & Aniruddha Gokhale www.dre.vanderbilt.edu Presented at ISORC 2008 Orlando, FL, USA, May 5-7, 2008

Upload: oki

Post on 07-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Institute for Software Integrated Systems. Vanderbilt University Nashville, Tennessee. CaDAnCE: A Criticality-aware Deployment And Configuration Engine. Gan Deng, Douglas Schmidt & Aniruddha Gokhale www.dre.vanderbilt.edu. Presented at ISORC 2008 Orlando, FL, USA, May 5-7, 2008. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

1

CaDAnCE: A Criticality-aware Deployment And Configuration

Engine

Vanderbilt University Nashville, Tennessee

Institute for Software Integrated Systems

Gan Deng, Douglas Schmidt & Aniruddha Gokhale

www.dre.vanderbilt.eduPresented at ISORC 2008Orlando, FL, USA, May 5-7, 2008

Page 2: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

2

New Demands on Open Distributed Real-time & Embedded (DRE) Systems

Open Distributed real-time & embedded (DRE) systems• Network-centric & larger-scale

“systems of systems”• Dynamic context• Stringent simultaneous QoS demands

• e.g., scalability, dependability, throughput

Open Distributed real-time & embedded (DRE) systems• Network-centric & larger-scale

“systems of systems”• Dynamic context• Stringent simultaneous QoS demands

• e.g., scalability, dependability, throughput

Middleware Bus

Container

SecurityReplication TransactionPersistence

Container

… …

Page 3: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

3

NASA MMS Mission System Case StudyOperational String C

(Low Criticality)

Operational String A(High Criticality)

Operational String B(Medium Criticality)

FilteringTrace

DetectionState

EstimateGizmo

ControlTask

Comm

Data Analysis

Monitor

ScienceAgent

Science Agent

FilteringData

FusionMessaging

Gizmo

FilteringGizmo

• Operational String A A mission-critical task that collects important field data when a satellite moves to particular locations

–High criticality• Operational String B Domain-centric data analysis based on

predefined analysis models

–Medium criticality• Operational String C Collect auxiliary field data occasionally, such as

Sun zenith, satellite view zenith (only when requested by B)– Low criticality

A

B

CThreeOperational

StringExample

Page 4: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

4

Execution Manager

DomainApplication

Manager

startLaunch

App AppApp AppstartLaunch

Node ManagerNode

ApplicationManager

NodeApplication

spawn

install

Node ManagerNode

ApplicationManager

NodeApplication

startLaunch

spawn

• Operational string deployment via Synchronous Method Invocation (SMI)

–ExecutionManager (EM) iteratively makes synchronous invocation on each NodeManager (NM) to install components

• Each NM propagates component port references back to the EM–DAM dispatches component port object references to NMs for connection

establishment, i.e., fulfill dependency requirement between components

Operational String Deployment: OMG D&C

Facet

Event Sink

Facet

Event Sink

Page 5: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

5

• Context–A deployment order is the order in which operational strings are deployed,

which is determined by the dependencies between operational strings

• Problem–Deployment order inversion happens when a higher criticality operational

string has a dependency to a lower criticality operational string–A deployment order inversion can propagate across multiple operational

strings due to such dependencies

Challenge 1: Avoid Deployment Order Inversion

Operational String C(Low Criticality)

Operational String A(High Criticality)

Operational String B(Medium Criticality)

FilteringTrace

DetectionState

EstimateGizmo

ControlTask

Comm

Data Analysis

Monitor

ScienceAgent

Science Agent

FilteringData

FusionMessaging

Gizmo

FilteringGizmo

Page 6: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

6

• Context–The dynamic nature of open DRE systems requires on-demand

deployment of a number of operational strings in one request–Each operational strings has certain utility value to the entire DRE

system

• Problem–While the D&C framework improves the predictability of high-criticality

operational strings by minimizing their D&C latencies, it should also preserve the D&C predictability of other operational strings

Challenge 2: Preserve Predictability of Other Operational Strings

Operational String C(Low Criticality)

Operational String A(High Criticality)

Operational String B(Medium Criticality)

FilteringTrace

DetectionState

EstimateGizmo

ControlTask

Comm

Data Analysis

Monitor

ScienceAgent

Science Agent

FilteringData

FusionMessaging

Gizmo

FilteringGizmo

Page 7: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

7

Our Solution The CaDAnCE Approach• Develop an D&C framework called

Criticality-Aware Deployment And Configuration Engine (CaDAnCE)

–Based on our prior work on DAnCE

• Step 1 Convert a set of operational strings (based on XML-based deployment descriptors) into a set of directed graphs

• Step 2 Recompose the graphs based on operational strings criticalities & their dependency relationships by promoting components from one to another

• Step 3 Convert recomposed graphs back into a new set of in-memory operational strings

2

1

3

Benefit: Minimize D&C latency of mission-critical operational strings

Page 8: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

8

Medium PriorityHigh Criticality Low Criticality

CaDAnCE(After Processing High Criticality String)

1st Iteration

Medium CriticalityHigh Criticality Low Criticality

CaDAnCE(After Processing Medium Criticality String)

2nd Iteration

Medium CriticalityHigh Criticality Low Criticality

• Sort & iterate through all the operational strings, from the highest criticality to the lowest

–Process all the external dependencies of each operational string sequentially

–For each operational string, identify the components causing deployment order inversion by tracing criticality-inverted dependency trace

–Remove all external dependencies causing deployment order inversion by promoting components from lower criticality ones to higher criticality ones

Overview of the Recomposition Algorithm in CaDAnCE

Component Promoting

Component Promoting

Removing all criticality-inverted dependencies avoids deployment order inversion

Page 9: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

11

Execution Manager

DomainApplication

Manager

startLaunch

Node ManagerNode

ApplicationManager

Node ManagerNode

ApplicationManager

NodeApplication

NodeApplication

App AppApp AppstartLaunch

startLaunch

spawn spawn

install install

• Asynchronous deployment & serializability

–Apply Asynchronous Method Invocation (AMI) to take advantage of parallel processing among many nodes

–AMI, however, does not provide a mechanism to coordinate different nodes, which is required by D&C for connection establishment

–To ensure serializability of D&C process, we combine AMI with Asynchronous Method Handling (AMH)

Predictability Parallel Deployment via AMI/AMH

?

Page 10: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

12

Empirical Evaluation of CaDAnCE – HW/SW Testbed• Run experiments on a prototype

implementation of NASA MMS Mission System – 15 components in a sample

operational strings– Experimented with up to 64

operational strings & 960 components in total

• Experiments performed in the ISIS Lab– Dual 2.8 GHz Xeon CPUs,

1GB of ram, 40GB HDD, & gigabit ethernet cards

– Real-time Fedora Core 4 Linux kernel version 2.6.20-rt8-UNI

– Used up to 6 nodes

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Gizmo 3 Filter 3 Analysis 3

Gizmo 4 Filter 4 Analysis 4

Page 11: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

13

Effects on Operational String Recomposition• Hypothesis

– CaDAnCE should not change the functional correctness while producing correct dependencies between operational strings

• Experimental design

– The experiments consist of 3 operational strings with criticality level of high, medium, and low, respectively

– Before the experiment, 2 arbitrary criticality-inverted external dependencies are populated

– Measure the total # of components & # of dependencies (both internal & external) of each operational string before & after applying the CaDAnCE algorithm

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Gizmo 3 Filter 3 Analysis 3

Gizmo 4 Filter 4 Analysis 4 High

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Gizmo 3 Filter 3 Analysis 3

Gizmo 4 Filter 4 Analysis 4

Medium

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Gizmo 3 Filter 3 Analysis 3

Gizmo 4 Filter 4 Analysis 4

Low

Page 12: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

15CaDAnCE minimizes D&C latency of mission-critical operational strings

End-to-End Depl oyment Latency of Operati onal Stri ngs

0

1000

2000

3000

4000

5000

Late

ncy

(mil

isec

onds

)

Low Pri ori tyMedi um Pri ori tyHi gh Pri ori tyLow Pri ori ty-AMIMed Pri ori ty-AMIHi gh Pri ori ty-AMITotal LatencyTotal Latency-AMILow Pri ori ty 650826 2010396

Medi um Pri ori ty 1303584 1605292Hi gh Pri ori ty 1908699 887649Low Pri ori ty-AMI 216942 670132Med Pri ori ty-AMI 434528 401323Hi gh Pri ori ty-AMI 636233 211345Total Latency 3863109 4503337

Wi thout CaDAnCE Wi th CaDAnCE

Without AMI/AMH

With AMI/AMH

Results & Analysis for the Experiment

• CaDAnCE reduced the D&C latency of high criticality operational strings significantly (Both w/ AMI/AMH & w/o AMI/AMH)

• Without AMI/AMH, the total end-to-end latency of all operational strings increased due to component distribution effect

• With AMI/AMH, the total end-to-end latency of all operational strings is almost the same as without CaDAnCE

Page 13: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

16

D&C Latency vs. Criticality• Hypothesis

– CaDAnCE can avoid deployment order inversion when higher criticality operational strings have dependencies on lower criticality operational strings

• Experimental design

– Two experiments with different operational string configurations

– The first experiment has 3 operational strings with low operational string growth effect

• Each string has 15 components evenly distributed across 5 nodes

– The second experiment has 2 strings with high operational string growth effect (worst case scenario)

• Same configuration as above

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Gizmo 2 Filter 2 Analysis 2

Gizmo 2 Filter 2 Analysis 2

Comm

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Gizmo 2 Filter 2 Analysis 2

Gizmo 2 Filter 2 Analysis 2

Ground

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Gizmo 2 Filter 2 Analysis 2

Gizmo 2 Filter 2 Analysis 2

Comm

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Gizmo 2 Filter 2 Analysis 2

Gizmo 2 Filter 2 Analysis 2

Ground

Low Growth Effect

High Growth Effect

Page 14: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

17

Results & Analysis for the Second Experiment

CaDAnCE preserves predictability of lower criticality strings in case of merge

• The latency of deploying the high criticality operational string is nearly the same as deploying it without applying the CaDAnCE algorithm

• However, the D&C latency of low criticality operational string increases & becomes the same as that of high criticality string – Due to the operational string merge effect

• In worse case scenario, CaDAnCE performs the same as baseline, i.e., without using CaDAnCE

Operational String Merge (Worst Case Scenario)

0

100

200

300

400

500

600

700

Lat

ency

(M

ilise

cond

s)

Low Priority

High Priority

Low Priority 216942 629922 220942

High Priority 636233 629922 625662

WithoutCaDAnCE

CaDAnCE w/oOptimization

CaDAnCE w/Optimization

Page 15: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

18

Concluding Remarks• Component middleware has already

received widespread acceptance in enterprise business domains

– e.g.,J2EE, Web Services

• Developers of DRE systems have encountered limitations with the available component middleware platforms

• This research applies methodologies & techniques to improve both the human productivity & computing performance of D&C of component-based DRE systems

• Our techniques are most relevant with below two component models:– OMG CORBA Component Model

– OSOA Service Component Architecture (SCA)

Open-source software can be downloaded from www.dre.vanderbilt.edu/CIAO & www.dre.vanderbilt.edu/CoSMIC

DissertationResearch

Dimenstions

OptimizedD&C

Profile

D&C Profile

ComponentServer

Container

CCMComponent

POA

Internal

Interfaces

Ev

en

tS

ink

sF

ac

ets

Re

ce

pta

cle

sE

ve

nt

So

urc

esCo

mp

on

en

t C

on

text

Object Request Broker

Notification Service Lib

Event Service LibRT-Event

Service Lib.......

RT-EventService

Event ServiceNotification

Service

Service Usage Metadata

Service Usage Metadata

Service Usage Metadata

Middleware Service Configurator

Priority High

Operational String Deployment

Via CaDAnCE

Priority Low

……

Priority High Priority Low

……

2 3

Deployment Target Node

Node ManagerNode

ApplicationManager

Execution Manager

System Deployer

1. Deploy an component assembly

NodeApplication

Container

4. configure component server resources

DomainApplication

Manager

7. Install component

& homes

6. Createcontainers

StandardConfigurator

8. Configure attributes

3. Create component server

5. Load and initialize middleware services

Repository Manager

ITS D&CProfileD&C

Profile

2. Container-based publish/subscribe service deployment and configuration

1. A standards-based D&C framework for real-time component middleware

3. Predictable D&C middleware via operational string recompostion

1

Page 16: CaDAnCE: A Criticality-aware Deployment And Configuration Engine

19

Thank You