+ All Categories
Home > Documents > Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background:...

Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background:...

Date post: 20-Sep-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
23
1 Architectural and Optimization Techniques for Architectural and Optimization Techniques for Scalable, Real Scalable, Real - - time and Robust Deployment and time and Robust Deployment and Configuration of DRE Systems Configuration of DRE Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems Gan Deng Douglas C. Schmidt Aniruddha Gokhale
Transcript
Page 1: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

1

Architectural and Optimization Techniques for Architectural and Optimization Techniques for Scalable, RealScalable, Real--time and Robust Deployment and time and Robust Deployment and

Configuration of DRE SystemsConfiguration of DRE Systems

Vanderbilt University Nashville, Tennessee

Institute for Software Integrated Systems

Gan DengDouglas C. SchmidtAniruddha Gokhale

Page 2: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

2

Background: Enterprise DRE SystemsKey Characteristics

• Large-scale, network-centric, dynamic, “systems of systems”

• Simultaneous QoS demands with resource constraints–e.g., loss of resources

Highly Diverse Domains• Mission-critical systems for critical

infrastructure• e.g., power grid control,

real-time warehouse management & inventory tracking

• Total Ship Computing Environment (TSCE)• http://peoships.crane.navy.mil/ddx/

Page 3: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

3

Demands of Enterprise DRE SystemsKey Challenges• Highly heterogeneous platform,

languages & tool environments• Changing system running

environments• Enormous inherent & accidental

complexities

ResourcesU

tility

Desired Utility Curve “Working

Range”

“Softer” Requirements

Util

ity

Resources

Utility “Curve”

“Broken” “Works”

“Harder” Requirements

Enterprise DRE Systems

Page 4: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

4

Middleware Bus

Container

•Components encapsulate application “business” logic

•Components interact via ports•Provided interfaces, e.g.,facets•Required connection points, e.g., receptacles

•Event sinks & sources•Attributes

•Containers provide execution environment for components with common operating requirements

•Components/containers can also•Communicate via a middleware bus & •Reuse common middleware services

•All components must be deployed & configured (D&C) into the target environment

SecurityReplication TransactionPersistence

Container

… …

Promising Solution: Component Middleware

Page 5: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

5

• Key Ideas– Decouple system adaptation policy from system application code & allow

them to be changed independently from each other– Decouple system deployment framework & middleware from core system

infrastructure to allow enterprise DRE systems dynamically reconfigurable

Dynamic Runtime QoS Provisioning

System ObserversSystem ObserversSystem Condition Observers

System Deployment Agents

System D&C Services & Comp

Middleware

Adaptation Planner

ControlAlgorithmControlAlgorithm

AdaptationPlan

SystemConditions

Running Systems

Resources

Util

ity

Page 6: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

6

Limitations with Existing D&C Model

• The existing OMG D&C model cannot change the configuration once an application is deployed

–Must shutdown the entire application & redeploy, which is not feasible for enterprise DRE systems

Applicationsalways static

No QoS Assurance

SW Deployer Target EnvironmentD&C Services

D & CProfile

RunningApplications

• The existing OMG D&C model doesn’t address the QoS issues when performing (re)deployment & (re)configuration

–Scalability (e.g., large # of nodes)–Predictability (e.g., differentiate

priorities)–Robustness (e.g., mask partial failure)

Page 7: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

7

Overview of D&C Architecture Model

• Three-tier Architecture• Different nodes need to coordinate with each other• Central controller coordinates different objects distributed across

many different nodes

DeployerClient Utility

Deploy an application Domain

ApplicationManager

Deploy components to a node

Execution manager

NodeApplication

Manager

NodeApplication

Install components

Create containers

createNode Manager

Deployment Target Host A

CCMComponent

POA

Container

create

ORBCIAO

CCMComponent

NodeApplication

Manager

NodeApplication

Install components

Create containers

createNode Manager

Deployment Target Host B

CCMComponent

POA

Container

create

ORBCIAO

Deploy components to a node

Page 8: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

8

Overview of D&C Service Runtime

PreparePlan

StartLaunch

FinishLaunch

Start

Page 9: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

9

Experiments with D&C Implementation• Run D&C Experiments on two different

CCM-based applications– Small Application – Boeing BasicSP

Scenario (4 components)– Large Application – up to

1000 components in total• Experiments performed in the ISIS Lab

– Dual 2.8 GHz Xeon CPUs, 1GB of ram, 40GB HDD, and gigabit ethernet cards

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

– 5 nodes were used with 4 of them as deployment target for the application, and one as central controller running ExecutionManager (middle tier server)

TIMER20Hz

GPS NAV DISPAIRFRAME

TIMER20Hz

GPS NAV DISPAIRFRAME

timeout data_avail

get_data ()

data_avail

get_data ()

Page 10: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

10

Pr el i mi nar y Per f or mance Resul t s ( 1000 Component s)1, 000 component s, 4 component ser ver s, 4 nodes

St ar tFi ni shLaunch

St ar t Launch

Pr epar ePl an

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Avg

Late

ncy

(mil

lise

cond

s)

1000 Component s 1212 15494 1181 164

1 2 3 4

Performance Benchmarking Results

End- t o- end Lat ency Resul t s

5750

11640

15370

18051

02000

40006000

8000

10000

12000

1400016000

1800020000

1 2 3 4Tot al Number of Nodes ( Each Node 250 Component s)

Avg

Late

ncy

(mil

lise

cond

s)

• The majority of latency is incurred during the StartLaunchphase (~85% of total)– NAM spawns NA component

servers dynamically– NA creates containers and set

up container policies accordingly

– Container loads component DLLs dynamically

– Container creates Homes, Instances & activates port objects, i.e., facets and event consumers

• When the application is scaled up, the end-to-end latency performance is linear to the total number of nodes and total number of components

Page 11: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

11

• Context– Enterprise DRE systems may have

hundreds or even thousands of components

– Component deployment is a complex task:

• D&C service objects across many (hundreds of) nodes

• Many tasks must be serialized, e.g., preparePlan, startLaunch, finishLaunch, start, etc.

• Problem– How to ensure the scalability of

handling a single (re)deploymentw/ many components & nodes

– How to ensure the scalability of handling many concurrent (re)deployments

Challenge 1: How to Ensure Scalability?

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

End-to-end Latency of Redeployment Request?

Page 12: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

12

Addressing Scalability Requirement for Single (Re)Deployment !!!! Parallel Processing via AMI/AMH

AMI ReplyHandler

handle_event()

DAM

startLaunch()

AsynchronousCompletion

Token

NAM

startLaunch()

<<uses>>

<<demuxes>>

1..*

1..* 1..*

calls operationOne-Way

Execution Manager

DomainApplication

Manager

Node ManagerNode

ApplicationManager

Node ManagerNode

ApplicationManager

NodeApplication

NodeApplication

App AppApp App

startLaunch

startLaunch

startLaunch

spawn spawn

install install

Page 13: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

13

Plan Launcher DM AMH Servant DM AMH Response Handler DM AMI Callback Handler Node Manager

For Every Node

StartLaunch ()create one AMI CB Handler for each Node

sendc_StartLaunch ()

Send Reply

Call Post_StartLaunch () After *ALL* AMI Returns

StartLaunch ()

StartLaunch () Returns to Plan Launcher

Collect Info From Each Reply Handler

Post_StarLaunch ()

Addressing Scalability Requirement for Single (Re)Deployment !!!! Parallel Processing via AMI/AMH

Page 14: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

14

Execution Manager

DomainApplication

Manager

Node ManagerNode

ApplicationManager

Node ManagerNode

ApplicationManager

NodeApplication

NodeApplication

App AppApp App

startLaunch

startLaunch

startLaunch

spawn spawn

install

install

Addressing Scalability Requirement for Single (Re)Deployment !!!! Thread-per-Node Model

• Context-aware threading model– ExecutionManager knows which nodes are involved for the particular

(re)deployment request by analyzing the deployment plan input– DomainApplicationManager spawns a number of threads dynamically with one

thread corresponding to one node– Each thread has its own execution context, i.e., component installation

information on that particular node– Each thread makes a two-way synchronous call to install components

Page 15: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

15

Performance Results

• Both AMI/AMH & Thread-per-node reduces the end-to-end latency by about 73% percent of the iterative approach

• This is because both optimization approaches can take advantage of the parallel processing capabilities of all the 4 different nodes

02000400060008000

100001200014000160001800020000

Avg Lat ency( mi l l i seconds)

Compar i son of Lant ency Resul t s ofDi f f er ent Opt i mi zat i on Appr oaches

( 1000 Component s, 4 Component Ser ver s, 4 Nodes)

AMI / AMHThr ead- per - nodeI t er at i ve

Page 16: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

16

ExecutionManager

• Context– Multiple redeployment requests can be invoked on ExecutionManager

simultaneously from different clients– Some of the requests are targeted on different deployment plans– Some of the requests are targeted on the same deployment plan

• Problems– How to maximize concurrent processing while also differentiate services

from different requests based on their priorities?

Challenge 2: How to Ensure Predictability?

Non-Critical Critical

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

Comm2Gizmo 3 Filter 1 Analysis 1

Page 17: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

17

Solution !!!! Applying RT-CORBA Features Redeploy_Plan

<Plan Descriptor>[Service Priority]

Execution Manager

DomainApplication

Manager

Node ManagerNode

ApplicationManager

Node ManagerNode

ApplicationManager

NodeApplication

NodeApplication

Thread Pool with Lanes

PRIORITY35

PRIORITY50

PRIORITY10

Thread Pool with Lanes

PRIORITY35

PRIORITY50

PRIORITY10

Thread Pool with Lanes

PRIORITY35

PRIORITY50

PRIORITY10

Deployer

• Apply RT-CORBA features to differentiate services based on priority– All D&C objects

(e.g., EM, DAM, NM, NAM) are configured with RT CORBA thread-pool-with-lanes concurrencymodel & Client_Propagatedpriority model

– The number of lanes, number of static threads, number of dynamicthreads & lane priorities are configurable when D&C services areinitialized

– When external clients request setting up & modifying services, the priority level could also be specified as part of the request

Page 18: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

18

Solution !!!! Admission Control + Differentiate Services• Applying RT-CORBA concurrency

model naively may render application into invalid state

– Each redeployment request comes with a self-contained (new) deployment plan

– Later redeployment request can preempt earlier redeployment request if later request has higher priority

– When the earlier redeployment request is resumed, it will cause the application into invalid state

RedeployPlan_01

Redeploy_Plan<DeploymentPlan>

[High Priority]

ExecutionManager

RedeployPlan_01

Redeploy_Plan<DeploymentPlan>

[Low Priority]

Page 19: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

19

Solution !!!! Admission Control + Differentiate Services• Build an Admission Control

Mechanism to Ensure Concurrent Processing on ExecutionManager

– Concurrent processing is allowed for redeployment request on different deployment plan

– Serialized processing must be ensured for redeployment request on the same deployment plan

RedeployString_02

RedeployString_01

Redeploy_Plan<DeploymentPlan_UUID>

[Service Priority]

ExecutionManager

RedeployString_03

RedeployString_03

Page 20: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

20

Challenge 3: How to Handle Partial Failure?

PreparePlan

StartLaunch

FinishLaunch

Start

• Context– DRE system deployment can fail

due to a number of reasons, e.g., lacking resources, lacking component DLLS, node failures

– If some deployment failure happens in one or more nodes, the entire deployment must be rolled back to its original state to make the system remain in consistent state

• Problem– To recover from failure, we must

address complexities arose from both space-dimension and time-dimension

– Space-dimension ! Failure on one node will affect other nodes

– Time-dimension ! Failure in later phase will affect previous phase

Comm Ground

Gizmo 1 Filter 1 Analysis 1

Gizmo 2 Filter 2 Analysis 2

Science Agent

X

X

X

XX

XX

Page 21: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

21

NodeAppManager

NodeAppNodeManager

creates

spawns

NodeAppManager

NodeAppNodeManager

creates

spawns

Solution !!!! Robust Atomic Deployment

ExecutionManager

NodeAppManager

NodeAppNodeManager

creates

spawns

DomainAppManager

creates0. Service Invoked1. PreparePlan2. StartLaunch3. FinishLaunch4. Start

PlanLauncher0

0

12

34

1

2

34

Fault Detection via a Call Map in AMI Reply Hander

Fault Recovery via In-memory State RecoveryFault Recovery via In-

memory State RecoveryFault Recovery via In-

memory State RecoveryFault Recovery via In-

memory State RecoveryFault recovery (rollback) from

In-memory state in each object

Fault Propagation via CORBA Exceptions & Timeouts

Page 22: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

22

Concluding Remarks• Dynamic redeployment & reconfiguration is essential to ensure the

success of component middleware for enterprise DRE systems• Existing D&C mechanisms lack support to ensure QoS of dynamic

redeployment & reconfiguration– Scalability– Predictability– Robustness

• Architectural optimization techniques described in this presentation establish an effective guidance to address such limitations

Source code is available for downloadwww.dre.vanderbilt.edu/CIAO

Page 23: Gan Deng Douglas C. Schmidt Aniruddha Gokhale · 2009. 5. 28. · Aniruddha Gokhale. 2 Background: Enterprise DRE Systems Key Characteristics ... Pr el i m inary Performance Resul

23

Questions & Comments


Recommended