Physical assembly mapper a model driven optimization tool for qos enabled component middleware
This presentation is the property of its rightful owner.
Sponsored Links
1 / 34

Vanderbilt University Nashville, Tennessee PowerPoint PPT Presentation


  • 66 Views
  • Uploaded on
  • Presentation posted in: General

Institute for Software Integrated Systems. Vanderbilt University Nashville, Tennessee. Physical Assembly Mapper : A Model-driven Optimization Tool for QoS -enabled Component Middleware. RTAS 2008, April 22, 2008 Krishnakumar Balasubramanian , Douglas C. Schmidt

Download Presentation

Vanderbilt University Nashville, Tennessee

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Physical assembly mapper a model driven optimization tool for qos enabled component middleware

Institute for Software Integrated Systems

Vanderbilt University Nashville, Tennessee

Physical Assembly Mapper:A Model-driven Optimization Tool for QoS-enabled Component Middleware

RTAS 2008, April 22, 2008

KrishnakumarBalasubramanian, Douglas C. Schmidt

{kitty,[email protected]


Context distributed real time embedded dre systems

Context: Distributed Real-time & Embedded (DRE) Systems

  • Stringent Quality-of-Service (QoS) demands, e.g., real-time constraints

  • Simultaneous execution of multiple applications with varying importance

  • Operate under limited resources

    • e.g., avionics mission computing

  • Highly heterogeneous platform, language & tool environments

    • e.g., Total Shipboard Computing Environment (TSCE)

  • Use COTS middleware technologies

    • CORBA, RT-Java

  • Use COTS Component/Service-oriented technologies

    • CORBA Component Model (CCM), EJB, Web Services


Research challenge system optimization 1 2

Research Challenge : System Optimization (1/2)

Context

  • Component middleware allows designing systems that are

    • Hierarchical, i.e., individual components easily combined to form assemblies

    • Reusable, i.e., each component can be used in multiple composition contexts

  • Consequences of hierarchy & reusability

    • Systems with large number of components


Research challenge system optimization 2 2

Research Challenge : System Optimization (2/2)

Problem

  • Systems with large number of components tend to exhibit

    • Footprint overhead due to auxiliary middleware infrastructure in certain composition contexts

      • e.g., component factories/ contexts when the components are collocated

    • Latency overhead due to sub-optimal configuration of middleware

      • e.g., latency between components placed in different containers


Component middleware optimization landscape

Component Middleware Optimization Landscape

  • Middleware tries to optimize execution for every application

  • Collocated method invocations

    • Optimize the (de-)marshaling costs by exploiting locality

  • Specialization of request path by exploiting protocol properties

    • Caching, Compression, various encoding schemes

  • Reducing communication costs

    • Moving data closer to the consumers by replication

  • Reflection-based approaches

    • Choosing appropriate alternate implementations at run-time


Related research

Related Research


Related research what s missing

Related Research: What’s missing?

  • Design-time approaches

    • Lack high-level notation to guide optimization frameworks

      • Missing AST of application

    • Lack application context information available only at deployment-time

      • Optimizations restricted to information known at design-time

    • Require inputs from designers, i.e., requires changes to applications and/or middleware


Related research what s missing1

Related Research: What’s missing?

  • Runtime approaches

    • Reflective approaches, dynamic reconfiguration

      • Add additional overhead in the critical path

      • Not suitable for all DRE systems

    • Intrusive, i.e., not completely application transparent

      • e.g., requires providing multiple implementations

  • Deployment-time approaches

    • Focus on only one dimension, e.g., performance effects of binding selection


Component system optimizations unresolved challenges

Component System Optimizations: Unresolved Challenges

  • Composition overhead in large-scale systems

    • Blind adherence to platform semantics

    • Inefficient middleware glue code generation per component

    • Examples:

      • Creation of a factory object & component context per component

    • Increase in overhead with increase in number of components


Solution approach deployment time fusion

Solution Approach: Deployment-time Fusion

  • New class of optimization techniques – deployment-time fusion

  • Merges multiple elements, e.g., components, QoS policies, into a semantically equivalent element

  • Differences in fusion techniques

    • Type of elements fused

    • Scope of fusion

    • Rules governing fusion

  • e.g., Component Fusion

    • Merges multiple components into a single component subject to fusion constraints


Characteristics of deployment time fusion 1 2

Characteristics of Deployment-time Fusion (1/2)

  • If n = no. of candidate elements for fusion, k = no. of elements resulting from fusion, savings due to fusion will be (n – k ) / n

  • Best case if k = 1, i.e., fusion creates a single element

  • Given an undirected graph

  • G = (V,E) (fusion graph)

    • V = {Candidate elements}

    • E = {(u,v) | u, v are elements and CanMerge (u, v) is true}


Characteristics of deployment time fusion 2 2

Characteristics of Deployment-time Fusion (2/2)

  • If n = no. of candidate elements for fusion, k = no. of elements resulting from fusion, savings due to fusion will be (n – k ) / n

  • Best case if k = 1, i.e., fusion creates a single element

  • Given an undirected graph

    G = (V,E) (fusion graph)

    • V = {Candidate elements}

    • E = {(u,v) | u, v are elements and CanMerge (u, v) is true}

  • Finding largest set of elements that can be fused together = Finding maximum clique in G

    • Well-known NP-Complete problem


Deployment time fusion approach

Deployment-time Fusion Approach

Maximum Clique

  • Enumerate all maximal cliques

    • NP-Hard; O(3n/3) time complexity

  • Our approach

    • Use modified Bron-Kerbosch (BK) algorithm to enumerate maximal cliques

    • Fastest known algorithm

  • Use domain-specific heuristics

    • Stop enumeration after first maximal clique

    • Remove vertices & repeat (safe due to characteristics of BK)

    • Only use elements which occur equal number of times as candidates (for component fusion only)

Maximal Clique


Motivating application

Motivating Application

  • US Navy Shipboard Computing System

  • Consists of 150 components – 10 “operational strings” with 15 components each; deployed across 5 nodes

  • Sensors – Periodically sends information to the planners

  • System Monitors – Publish information about health of system

  • Planners – Process sensor & system monitor input

  • Effectors – Carry out planner-specified actions


Candidate elements

Candidate Elements


Fusion graph instance level

Fusion Graph (Instance Level)


Fusion graph type level

Fusion Graph (Type Level)


Fusion graph pam

Fusion Graph (PAM)


Output cliques

Output Cliques


Component fusion algorithms 1 2

Component Fusion Algorithms (1/2)

  • Two variants for component fusion

    • Local Component Fusion

    • Global Component Fusion

  • Local Component Fusion

    • Operates at the scope of a single deployment plan


Component fusion algorithms 1 21

Component Fusion Algorithms (1/2)

  • Two variants for component fusion

    • Local Component Fusion

    • Global Component Fusion

  • Local Component Fusion

    • Operates at the scope of a single deployment plan

  • Input

    • Set of components deployed into each collocation group on every node of a single deployment plan

  • Output

    • Physical assemblies

    • Modified assembly & deployment plan


Component fusion algorithms 2 2

Component Fusion Algorithms (2/2)

  • Global Component Fusion

    • Operates at the scope of all deployment plans of a single application

    • Set of components that are fused together spans multiple deployment plans

    • Merges the individual deployment plans into a unified deployment plan


Component fusion algorithms 2 21

Component Fusion Algorithms (2/2)

  • Global Component Fusion

    • Operates at the scope of all deployment plans of a single application

    • Set of components that are fused together spans multiple deployment plans

    • Merges the individual deployment plans into a unified deployment plan

  • Global vs. Local

    • Increased scope increases chances of creating larger physical assemblies


Key artifact of component fusion physical assembly

Key Artifact of Component Fusion: Physical Assembly

  • Physical Assembly

    • Created from the set of components that are deployed within a single process of a target node

  • Subject to various constraints, e.g.,

    • No two ports of the set of components should have the same name

  • No changes to individual component implementations

    • Physical Assembly indistinguishable to external clients

      • All valid operations on individual components are still valid


Prototype implementation

Prototype Implementation

  • Physical Assembly Mapper (PAM)

    • Uses the application model as the input

    • Exploits knowledge of platform semantics to rewrite the input model to a functionally equivalent output model

    • Generates middleware glue-code

    • Generates deployment configuration files

  • Operates just before deployment

    • Can be viewed as a “deployment-time compiler optimizer”


Applying component fusion to shipboard computing

Applying Component Fusion to Shipboard Computing

  • Creates multiple physical assemblies

  • Creates multiple component attributes corresponding to individual component attributes

  • Maintains the same number of connections


Footprint experiments setup

Footprint Experiments Setup

  • Experiments were conducted using ISISlab

  • Five nodes running Windows XP SP2

  • CIAO Version 0.5.10 used as baseline for comparison

  • Two kinds of footprint measurements

    • Static – Code & Static Data

    • Dynamic – Heap Memory used

  • Use vadump.exe to take a snapshot of working set of process hosting components

    • Measure number of private & shareable pages


Footprint results 1 2

Footprint Results (1/2)

Total Static Footprint

Total Dynamic Footprint

31% reduction

18% reduction

49% reduction

45% reduction

Node Specific Dynamic Footprint

Node Specific Static Footprint


Footprint results 2 2

Footprint Results (2/2)

Total Footprint

18% reduction

45% reduction

  • Increased footprint reduction with Global vs. Local component fusion due to

    • More opportunities for merging components

    • Creation of consolidated deployment plan

    • Applicable to more than the internal components of an assembly

    • Reduces the overhead due to factory objects as well as components

Component Fusion reduces the footprint significantly


Applicability of component fusion techniques

Applicability of Component Fusion Techniques

  • Opacity of object references

    • Components don’t rely on specific details of object references, e.g., location of type information

    • Allows replacing references transparent to component implementations

      • e.g., both EJB & Web Services share notion of opaque object/service references


Applicability of component fusion techniques1

Main

Main

Component

Component

Component

Component

Specific

Specific

Executor

Executor

Context

Context

CCMContext

CCMContext

Executors

Executors

Executors

Executors

Executors

Executors

CCMContext

CCMContext

EnterpriseComponent

EnterpriseComponent

Servant

Servant

POA

POA

Container

Container

Applicability of Component Fusion Techniques

  • Opacity of object references

    • Components don’t rely on specific details of object references, e.g., location of type information

    • Allows replacing references transparent to component implementations

  • Presence of a component context

    • Components access ports of other components using a context object

    • Allows replacing context transparent to component implementations

      • e.g., EJB has a EJBContext which is very similar to CCM’s Context

s

Container

l

e

a

c

n

a

r

e

f

r

t

CORBA

e

x

t

E

n

I

Component

user implemented code

Internal

Interfaces

POA


Applicability of component fusion techniques2

Applicability of Component Fusion Techniques

  • Opacity of object references

    • Components don’t rely on specific details of object references, e.g., location of type information

    • Allows replacing references transparent to component implementations

  • Presence of a component context

    • Components access ports of other components using a context object

    • Allows replacing context transparent to component implementations

  • Clean separation between glue-code & component implementation

    • Allows modifications transparent to component implementations

Techniques are broadly applicable across different middleware


Concluding remarks

Concluding Remarks

  • Our research

    • Describes a model-driven approach to deployment-time optimizations

  • Two algorithms

    • Local and Global component fusion

    • Implemented via the Physical Assembly Mapper (PAM)

  • PAM’s deployment-time optimization techniques

    • Resulted in a 45% decrease in footprint compared to conventional middleware technologies

Tools can be downloaded from www.dre.vanderbilt.edu/CoSMIC/


Thank you

Thank you!


  • Login