constrained component deployment in wide-area networks using ai planning techniques

23
Constrained Component Deployment in Wide-Area Networks Using AI Planning Techniques T. Kichkaylo, A. Ivan, V. Karamcheti New York University

Upload: fritzi

Post on 06-Jan-2016

30 views

Category:

Documents


3 download

DESCRIPTION

Constrained Component Deployment in Wide-Area Networks Using AI Planning Techniques. T. Kichkaylo, A. Ivan, V. Karamcheti New York University. Motivation. Component-based frameworks (CORBA, J2EE, .NET) Distributed applications with reusable components Static application structure - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Constrained Component Deployment in Wide-Area Networks

Using AI Planning Techniques

T. Kichkaylo, A. Ivan, V. Karamcheti

New York University

Vijay Karamcheti
The line looks awkward.
Page 2: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Motivation

Component-based frameworks (CORBA, J2EE, .NET) Distributed applications with reusable components Static application structure … but environments change

Dynamic frameworks (Ninja, CANS, Smock) Different application configurations for adaptiveness Change of configuration at run time

Vijay Karamcheti
Colors seem "dull"
Vijay Karamcheti
People don't immediately associate these with component-based frameworks.Important to distinguish between "static" frameworks (CORBA, J2EE, DCOM, .NET, others) and more "dynamic" ones, like these ...I would add a bullet that distinguishes between these.
Vijay Karamcheti
Too terse - what is a "plan"
Page 3: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Main components

Additional components

Network

Example: Mail Application

fast

secure

client

decryptencrypt cache

high bw, sec

low bw, sec

server

high bw, insec

low bw, insec

Vijay Karamcheti
Colors seem "dull"
Vijay Karamcheti
People don't immediately associate these with component-based frameworks.Important to distinguish between "static" frameworks (CORBA, J2EE, DCOM, .NET, others) and more "dynamic" ones, like these ...I would add a bullet that distinguishes between these.
Vijay Karamcheti
Too terse - what is a "plan"
Page 4: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Modules of Dynamic Frameworks

Parts of a dynamic component-based framework Monitor Trigger Planner Deployer

Planner Purpose: given a description of the environment and available

components and goal, find a deployment plan– Set of components

– Linkages between them

– Placement of the components

Assumption: provided information is correct Guarantee: if found, the deployment plan is feasible

Page 5: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Component Placement Problem (CPP)

Basic structure of the CPP Environment = nodes and links Framework = components and interfaces Constraints (quantitative and qualitative) Goal is to place a client component on a given node

Previous work: add restrictions Chains of components (Conductor, CANS) Fixed locations (Ninja) Fixed set of properties (Ninja)

Reality: need to solve the general case Model Algorithm

Page 6: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Modeling of the CPP

Network Nodes

Links

Framework

Vijay Karamcheti
Modeling of what?You may want to use the same terminology we used in the paper: "Component Placement Problem"
Vijay Karamcheti
Add words to the picture so it is clear that you are referring to components, nodes, and links ...Not immediately clear how you go from the example component placement problems to concerns of security, trust, ....also, NumReq, ReqSize is way too specific for this early in the presentation ... this needs to be prefaced by something like the following:1. component placement needs to satisfy various constraints: quantitative (resource level) as well as qualitative (e.g., give example of one such ..)2. additionally it needs to do the above starting from descriptions at the level of individual components3. need to express the behavior of components in a way that is independent of their use in the final placement4. here is our approach for doing this ...[ the material on the slide is at this level; but will not make sense unless the first three points are made]
Vijay Karamcheti
what is an "interface"?the point: you need a discussion of how you are modeling components before you dive into this.
Page 7: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Modeling of the CPP

Network Nodes

Links

Framework Components

Black boxes >

required

interfaces

implemented

interfaces

Vijay Karamcheti
Modeling of what?You may want to use the same terminology we used in the paper: "Component Placement Problem"
Vijay Karamcheti
Add words to the picture so it is clear that you are referring to components, nodes, and links ...Not immediately clear how you go from the example component placement problems to concerns of security, trust, ....also, NumReq, ReqSize is way too specific for this early in the presentation ... this needs to be prefaced by something like the following:1. component placement needs to satisfy various constraints: quantitative (resource level) as well as qualitative (e.g., give example of one such ..)2. additionally it needs to do the above starting from descriptions at the level of individual components3. need to express the behavior of components in a way that is independent of their use in the final placement4. here is our approach for doing this ...[ the material on the slide is at this level; but will not make sense unless the first three points are made]
Vijay Karamcheti
what is an "interface"?the point: you need a discussion of how you are modeling components before you dive into this.
Page 8: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Modeling of the CPP

Network Nodes

Links

Framework Components

Black boxes

Interfaces (typed data streams)

>>implements

(produces)

requires

(consumes)

Vijay Karamcheti
Modeling of what?You may want to use the same terminology we used in the paper: "Component Placement Problem"
Vijay Karamcheti
Add words to the picture so it is clear that you are referring to components, nodes, and links ...Not immediately clear how you go from the example component placement problems to concerns of security, trust, ....also, NumReq, ReqSize is way too specific for this early in the presentation ... this needs to be prefaced by something like the following:1. component placement needs to satisfy various constraints: quantitative (resource level) as well as qualitative (e.g., give example of one such ..)2. additionally it needs to do the above starting from descriptions at the level of individual components3. need to express the behavior of components in a way that is independent of their use in the final placement4. here is our approach for doing this ...[ the material on the slide is at this level; but will not make sense unless the first three points are made]
Vijay Karamcheti
what is an "interface"?the point: you need a discussion of how you are modeling components before you dive into this.
Page 9: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Modeling of the CPP

Network Nodes

Links

Framework Components

Black boxes Placed on nodes

Interfaces (typed data streams) Sent over links Available on nodes

>>

Vijay Karamcheti
Modeling of what?You may want to use the same terminology we used in the paper: "Component Placement Problem"
Vijay Karamcheti
Add words to the picture so it is clear that you are referring to components, nodes, and links ...Not immediately clear how you go from the example component placement problems to concerns of security, trust, ....also, NumReq, ReqSize is way too specific for this early in the presentation ... this needs to be prefaced by something like the following:1. component placement needs to satisfy various constraints: quantitative (resource level) as well as qualitative (e.g., give example of one such ..)2. additionally it needs to do the above starting from descriptions at the level of individual components3. need to express the behavior of components in a way that is independent of their use in the final placement4. here is our approach for doing this ...[ the material on the slide is at this level; but will not make sense unless the first three points are made]
Vijay Karamcheti
what is an "interface"?the point: you need a discussion of how you are modeling components before you dive into this.
Page 10: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Modeling of the CPP

Network Nodes

Properties Links

Properties

Framework Components

Black boxes Placed on nodes

Interfaces (typed data streams) Sent over links Available on nodes Properties

CPU

Trust

BW

Security

Security

BW

>>

Vijay Karamcheti
Modeling of what?You may want to use the same terminology we used in the paper: "Component Placement Problem"
Vijay Karamcheti
Add words to the picture so it is clear that you are referring to components, nodes, and links ...Not immediately clear how you go from the example component placement problems to concerns of security, trust, ....also, NumReq, ReqSize is way too specific for this early in the presentation ... this needs to be prefaced by something like the following:1. component placement needs to satisfy various constraints: quantitative (resource level) as well as qualitative (e.g., give example of one such ..)2. additionally it needs to do the above starting from descriptions at the level of individual components3. need to express the behavior of components in a way that is independent of their use in the final placement4. here is our approach for doing this ...[ the material on the slide is at this level; but will not make sense unless the first three points are made]
Vijay Karamcheti
what is an "interface"?the point: you need a discussion of how you are modeling components before you dive into this.
Page 11: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Modeling Behavior

Descriptions are application-independent Components are reusable Need to reason about behavior of a component in an application

Components: Placement Required and implemented interfaces

– Determines application structure (DAGs)

Conditions Effects

– Properties of implemented interfaces

– Change in node properties

Interfaces: Link crossing behavior Interface at the destination Change in link properties

Page 12: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Example of Component Description

<Component>

<Name>ViewMailServer

<Requires>

<Interface>MSI-req

<Implements>

<Interface>MSI-impl

<Conditions>

Node.CPU > MSI-req.BW / 100

MSI-req.BW > 10

MSI-req.Secure = True

<Effects>

Node.CPU -= MSI-req.BW / 100

MSI-impl.BW := MSI-req.BW * 3

MSI-impl.Secure:=True

MSI-req MSI-imp

CPUBW

Secure

BW

Secure

Vijay Karamcheti
Modeling of what?You may want to use the same terminology we used in the paper: "Component Placement Problem"
Vijay Karamcheti
Add words to the picture so it is clear that you are referring to components, nodes, and links ...Not immediately clear how you go from the example component placement problems to concerns of security, trust, ....also, NumReq, ReqSize is way too specific for this early in the presentation ... this needs to be prefaced by something like the following:1. component placement needs to satisfy various constraints: quantitative (resource level) as well as qualitative (e.g., give example of one such ..)2. additionally it needs to do the above starting from descriptions at the level of individual components3. need to express the behavior of components in a way that is independent of their use in the final placement4. here is our approach for doing this ...[ the material on the slide is at this level; but will not make sense unless the first three points are made]
Vijay Karamcheti
what is an "interface"?the point: you need a discussion of how you are modeling components before you dive into this.
Page 13: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Solving the General CPP

The CPP is hard Need both select a subset of components and place them

– Need some sort of search

Too big for exhaustive search– Hundreds of nodes, dozens of component types

AI planning Another search problem Find a feasible sequence of operators that brings the system

from the initial state to the goal state– State = set of variables

– Operator = atomic action changing the state

Vijay Karamcheti
What is the problem?Need to have a more precise discussion/description of this before you can get into this stuff
Page 14: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Solving the General CPP

General CPP can be reduced to AI planning problem Resource and interface availability are variables Component placement and link crossing are operators

Existing AI planners cannot be used directly General AI planning is not very scalable AI planning has limited support for resources CPP has more complex resource expressions

Sekitei uses AI techniques to limit search CPP has simple logical structure

Page 15: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Sekitei

Assumptions Size of the deployment plan is small compared to the size of

the network All resource functions are monotonic Properties of implemented interfaces (interfaces at

destination) do not appear in formulae

Limit the search Find all operators relevant for achieving the goal Among those find possible operators Propagate resource constraints from the initial state Use function monotonicity for pruning Only then perform search in small set of operators

structure

constraints

Vijay Karamcheti
What is the problem?Need to have a more precise discussion/description of this before you can get into this stuff
Page 16: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Sekitei: Example

$ 0

on 0

10

on 1

on 0

$ 0 01

on 1

$ 110

on 2

21

$ 0 $ 110 01 12

on 1 on 0

21 $ 2

on 2

0

on 0

on 1

$ 110

10

on 1

on 2

21

0

on 0

21 $ 2

on 2

$ 0

on 0

0 1 2>50

100 40

=60

Mail Client

$ Cache

Mail Interface

Link crossing

10

on 1

on 2

21

0

on 0

$

$

$

Page 17: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Evaluation

Reality: Want a deployment plan within seconds Planning time can be affected by

Size of the network Network topology Structure of the application (bushiness of DAGs) Number of components in the framework Size of the plan

– Number of logically necessary operators

– Number of components added due to resource restrictions

Page 18: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Experiment Setting

Java implementation Mail application GA Tech ITM graphs

extended with properties

Page 19: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

0.0

0.5

1.0

1.5

2.0

2.5

20 28 44 54 64 72 79 93

Number of nodes in the network

Tim

e (s

)

Scalability of Sekitei

It scales nicely with respect to Size of the network Number of components in the framework Size of the plan (necessary operators)

Page 20: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Scalability of Sekitei (Cont.)

Performance affected by number of components

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

Tim

e (s

)

2 comp, high bw, secure

3 comp, low bw, secure

4 comp, high bw, insecure

5 comp, low bw, insecure

Page 21: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Related Work

Static planners (GARA) Fixed application structure Resource constraints

Dynamic component-based frameworks (Ninja, Smock) Find a feasible deployment plan given constraints Optimal solution (CANS)

– Only for chains of components

Sekitei The model is expressive enough to support any of the above Algorithm produces a feasible solution

– Minimum number of operators in the plan

Page 22: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

Summary

General model for the CPP Can be used in static and dynamic component-based

frameworks

Planning algorithm for the general CPP Based on AI planning techniques Scalable Supports complex resource expressions

Integration Smock http://www.cs.nyu.edu/pdsg/

Follow the “Software” tab

Page 23: Constrained Component Deployment   in Wide-Area Networks  Using AI Planning Techniques

THE END