Model-Driven Optimizations of Component Systems

Similar documents
Meeting the Challenges of Ultra-Large

Techniques for Dynamic Swapping in the Lightweight CORBA Component Model

QUICKER: A Model-driven QoS Mapping Tool for QoS-enabled Component Middleware

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

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

NetQoPE: A Middleware-based Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems

Today: Distributed Objects. Distributed Objects

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

Model-driven Engineering of Component Systems

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems

Component-based Architecture Buy, don t build Fred Broks

Design and Performance Evaluation of Resource-Management Framework for End-to-End Adaptation of Distributed Real-time Embedded Systems

Software Components and Distributed Systems

Towards integration of the Data Distribution Service with the CORBA Component Model

Wednesday, March 20, 2013, Middleware Dr. Douglas C. Schmidt

Science of Computer Programming. Model driven middleware: A new paradigm for developing distributed real-time and embedded systems

Reflective Java and A Reflective Component-Based Transaction Architecture

A QoS-aware CCM for DRE System Development

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

J2EEML: Applying Model Driven Development to Autonomic Enterprise Java Bean Systems

Appendix A - Glossary(of OO software term s)

Concern-based Composition and Reuse of Distributed Systems

Infrastructure Middleware (Part 1): Hardware Abstraction Layer (HAL)

Building High-Assurance Systems out of Software Components of Lesser Assurance Using Middleware Security Gateways

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications

CaDAnCE: A Criticality-aware Deployment And Configuration Engine

Distributed Middleware. Distributed Objects

Component models. Page 1

Empirically Evaluating CORBA Component Model Implementations

Adapting Enterprise Distributed Real-time and Embedded (DRE) Pub/Sub Middleware for Cloud Computing Environments

A Grid-Enabled Component Container for CORBA Lightweight Components

Model-driven QoS Provisioning for Distributed Real-time and Embedded Systems

Chapter 6 Enterprise Java Beans

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

Today: Distributed Middleware. Middleware

CORBA (Common Object Request Broker Architecture)

Distributed Systems. What is a Distributed System?

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

FlexiNet 2.1 Roundup. Richard Hayton ANSA Consortium

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Chapter 6 Architectural Design

NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-time and Embedded Systems

Electronic Payment Systems (1) E-cash

A Model Driven Component Framework for Mobile Computing

PATTERN-ORIENTED SOFTWARE ARCHITECTURE

AIDING THE DEPLOYMENT AND CONFIGURATION OF COMPONENT MIDDLEWARE IN DISTRIBURED, REAL-TIME AND EMBEDDED SYSTEMS. Stoyan G. Paunov.

Overview of Layered Architectures

Software Architecture Patterns

The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware

Adaptive System Infrastructure for Ultra-Large. Large-Scale Systems. SMART Conference, Thursday, March 6 th, 2008

TOWARD ENHANCING REUSABILITY OF COMPONENT MIDDLEWARE DSMLS USING GENERALIZATION AND STEP-WISE REFINEMENT. Ritesh Neema. Thesis

Toward a Standard Rule Language for Semantic Integration of the DoD Enterprise

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

A Systematic Approach to Composing Heterogeneous Components

Building the Enterprise

Verteilte Systeme (Distributed Systems)

Adaptive Middleware. Self-Healing Systems. Guest Lecture. Prof. Priya Narasimhan. Assistant Professor of ECE and ISRI Carnegie Mellon University

Data Model Considerations for Radar Systems

Distributed Objects. Object-Oriented Application Development

Model-Driven Configuration and Deployment of Component Middleware Publish/Subscribe Services

From Models to Components. Rapid Service Creation with

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

Design and Performance Evaluation of an Adaptive Resource Management Framework for Distributed Real-time and Embedded Systems

Semantic SOA - Realization of the Adaptive Services Grid

From MDD back to basic: Building DRE systems

DS 2009: middleware. David Evans

EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems

Model-based Middleware for Embedded Systems

A QoS-aware CORBA Component Model for Distributed Real-time and Embedded System Development

Introduction to Grid Technology

Oracle Fusion Middleware 11g: Build Applications with ADF I

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

NetQoPE: A Middleware-based Network QoS Provisioning Engine for Enterprise Distributed Real-time and Embedded Systems

CAS 703 Software Design

Features Induced by the Adoption of New Standards

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Reflective Middleware. INF Tommy Gudmundsen

An Exascale Programming, Multi objective Optimisation and Resilience Management Environment Based on Nested Recursive Parallelism.

index_ qxd 7/18/02 11:48 AM Page 259 Index

Incorporating applications to a Service Oriented Architecture

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

ACM Technical Solution Architecture - Development and Deployment of ACM Solutions- ECM Fast Start Workshop 1Q2011

Meeting the Challenges of Ultra-Large. Large-Scale Distributed Real-time & Embedded (DRE) Systems

QoS-enabled Component Middleware for Distributed Real-Time. and Embedded Systems

Introduction to componentbased software development

DREMS: A Toolchain and Platform for the Rapid Application Development, Integration, and Deployment of Managed Distributed Real-time Embedded Systems

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Static Component Configuration Support for Real-Time Platforms

A Platform-Independent Component Modeling Language for Distributed Real-time and Embedded Systems

A Platform-Independent Component QoS Modeling Language for Distributed Real-time and Embedded Systems

Oracle Application Development Framework Overview

The goal of the Pangaea project, as we stated it in the introduction, was to show that

L3.4. Data Management Techniques. Frederic Desprez Benjamin Isnard Johan Montagnat

Transcription:

Model-Driven Optimizations of omponent Systems OMG Real-time Workshop July 12, 2006 Krishnakumar Balasubramanian Dr. Douglas. Schmidt {kitty,schmidt}@dre.vanderbilt.edu Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

omponent Middleware e.g., ORBA omponent Model (M), Microsoft.NET Web Services, Enterprise Java Beans (EJB) omponents encapsulate business logic omponents interact via ports Provided interfaces Required interfaces Event sinks & sources Attributes Allow navigation between ports ontainers provide execution environment for components omponents/containers can also ommunicate via a middleware bus & reuse common middleware services Replication ontainer A/V Streaming Middleware Bus Security Scheduling Persistence Notification Load Balancing omponents allow reasoning about systems at higher level of abstraction 2 ontainer

omponent System Development hallenges Lack of system composition tools 3

omponent System Development hallenges Lack of system composition tools omplexity of declarative platform API & notations <assemblyimpl> <instance xmi:id="scaleqosket"> <name>scaleqosket</name> <package href="scaleqosket.cpd"/> </instance> XML <instance xmi:id="localresourcemanageromponent"> <name>localresourcemanageromponent</name> <package href="localresourcemanageromponent.cpd"/> </instance>... <connection> <name>incoming_image_outgoing_image_evt</name> <internalendpoint> <portname>outgoing_image_evt</portname> <instance xmi:idref="localreceiver"/> </internalendpoint> <internalendpoint> <portname>incoming_image_evt</portname> <instance xmi:idref="multireceiver"/> </internalendpoint> </connection> </assemblyimpl> XML <assemblyimpl> <instance xmi:id="scaleqosket"> <name>scaleqosket</name> <package href="scaleqosket.cpd"/> </instance> <instance xmi:id="localresourcemanageromponent"> <name>localresourcemanageromponent</name> <package href="localresourcemanageromponent.cpd"/> </instance>... <connection> <name>incoming_image_outgoing_image_evt</name> <internalendpoint> <portname>outgoing_image_evt</portname> <instance xmi:idref="localreceiver"/> </internalendpoint> <internalendpoint> <portname>incoming_image_evt</portname> <instance xmi:idref="multireceiver"/> </internalendpoint> </connection> </assemblyimpl> XML <assemblyimpl> <instance xmi:id="scaleqosket"> <name>scaleqosket</name> <package href="scaleqosket.cpd"/> </instance> <instance xmi:id="localresourcemanageromponent"> <name>localresourcemanageromponent</name> <package href="localresourcemanageromponent.cpd"/> </instance>... <connection> <name>incoming_image_outgoing_image_evt</name> <internalendpoint> <portname>outgoing_image_evt</portname> <instance xmi:idref="localreceiver"/> </internalendpoint> <internalendpoint> <portname>incoming_image_evt</portname> <instance xmi:idref="multireceiver"/> </internalendpoint> </connection> </assemblyimpl> XML omponent MIDDLEWARE omponent <assemblyimpl> <instance xmi:id="scaleqosket"> <name>scaleqosket</name> <package href="scaleqosket.cpd"/> </instance> <instance xmi:id="localresourcemanageromponent"> <name>localresourcemanageromponent</name> <package href="localresourcemanageromponent.cpd"/> </instance>... <connection> <name>incoming_image_outgoing_image_evt</name> <internalendpoint> <portname>outgoing_image_evt</portname> <instance xmi:idref="localreceiver"/> </internalendpoint> <internalendpoint> <portname>incoming_image_evt</portname> <instance xmi:idref="multireceiver"/> </internalendpoint> </connection> </assemblyimpl> OS KERNEL OS I/O Subsystem Network Interfaces OS KERNEL OS I/O Subsystem Network Interfaces 4

omponent System Development hallenges Lack of system composition tools omplexity of declarative platform API & notations omposition overhead in largescale systems Node Application ontainer omponent omponent Assembly omponent ome Receptacle Facet Event Source Event Sink Remote Invocation ollocated Invocation reates 5

omponent System Development hallenges Lack of system composition tools omplexity of declarative platform API & notations omposition overhead in largescale systems Emphasis still on programmingin-the-small Whack-a-mole approach to system development Violation of Don t Repeat Yourself (DRY) principle Lack of abstractions for expressing system level design intent Need for tools to design & optimize systems-in-the-large 6

Solution Approach: Model-Driven Engineering System omposition Technologies omponent omponent omponent Assembly omponent omponent omponent omponent omponent Assembly omponent Assembler omponent Package omponent omponent (3) ierarchical omposition (2) Interaction Definition Implementation assembly omponent Packager composition (1) Interface Definition Resource Requirements PIML specification optimization omponent Implementation omponent Developer omponent omponent omponent Assembly omponent omponent (4) Assembly Optimization generation Properties omponent Deployer (5) Metadata Generation Implementation Assembly Assembly Assembly Deployment DAnE Framework Generative Technologies System omposition Technologies - A Domain-Specific Modeling Language (DSML) to allow component specification & composition System Optimization Technologies System optimization infrastructure Generative Technologies Metadata generation infrastructure System Optimization Technologies 7

Example Scenario: Emergency Response System System Resource Manager Global QoS manager ontrol enter User interaction Image Stream(s) Local Resource Manager Local QoS manager Qoskets QoS enforcer QoS predictors QoS estimators Built using the omponent-integrated AE ORB (IAO) Developed for DARPA PES program (dist-systems.bbn.com/papers/) 8

Application Specific Optimizations Middleware tries to optimize execution for every application ollocated method invocations Optimize the (de-)marshaling costs by exploiting locality Specialization of request path by exploiting protocol properties aching, ompression, Various Encoding schemes, e.g. FOUS tool-chain Reducing communication costs Moving data closer to the consumers by replication Reflection-based approaches hoosing appropriate alternate implementations 9

Application Specific Optimizations: What s missing? Lack of high-level notation to guide optimization frameworks Missing AST of application 10

Application Specific Optimizations: What s missing? Lack of high-level notation to guide optimization frameworks Missing AST of application Emphasis on detection at runtime (reflection) Additional overhead in the fast path Not suitable for all systems Not completely application transparent Requires providing multiple implementations Optimization performed either Too early, or too late 11

Application Specific Optimizations: Unresolved hallenges 1.Lack of application context Missed middleware optimization opportunities E.g., every invocation performs check for locality Optimization decisions relegated to run-time Impossible for middleware (alone) to predict application usage Settle for nearoptimal solutions SystemResource Manager Sender Local Resource Manager rop Qosket Stream 1 Stream 2 Stream 3 Stream 4 ompression QoS Predictor Scaling QoS Predictor ropping QoS Predictor Scale Qosket omponent ompress Qosket ontrol enter Display Node Application annot be solved efficiently at middleware level alone! omponent Assembly omponent ome Receiver ontainer Receptacle Facet Event Source Event Sink Remote Invocation ollocated Invocation reates 12

Application Specific Optimizations: Unresolved hallenges 2.Overhead of platform mappings Blind adherence to platform semantics Inefficient middleware glue code generation per component Example: Every component is created using a Factory Object Overhead of external components similar to internal ones 3.Standard component models define only virtual assemblies SystemResource Manager Sender Local Resource Manager rop Qosket Stream 1 Stream 2 Stream 3 Stream 4 ompression QoS Predictor Scaling QoS Predictor ropping QoS Predictor ontrol enter Display Need optimization techniques to build large-scale component systems! 13 Scale Qosket omponent ompress Qosket omponent Assembly omponent ome Node Application Receiver ontainer Receptacle Facet Event Source Event Sink Remote Invocation ollocated Invocation reates

Proposed Approach: Supply Application ontext w/models 1.Use models to capture & derive application context Explicit, e.g., sensor & monitor are collocated (user-specified) Implicit, e.g., sensor & monitor deployed onto same node Detect components internal to an assembly 2.Optimize platform mappings Eliminate space overhead at system level e.g., eliminate creation overhead of homes for internal components SystemResource Manager Sender Local Resource Manager rop Qosket Stream 1 Stream 2 Stream 3 Stream 4 ompression QoS Predictor Scaling QoS Predictor ropping QoS Predictor Scale Qosket omponent ompress Qosket ontrol enter Display omponent Assembly omponent ome Node Application Receiver Factory ontainer Receptacle Facet Event Source Event Sink Remote Invocation Optimized Invocation reates 14

15 Proposed Approach: Physical Assembly Mapping 3.Devise mapping for physical component assembly Exploit hierarchy of application structure to fuse (make a component internal) at multiple levels in hierarchy Experimentally validate right depth of hierarchy to stop fusion Too deep Single giant blob Too shallow Potentially lower benefits

Proposed Approach: Evaluation riteria Baseline for comparison Performance & footprint (with vanilla IAO) Emergency Response System (30+ components) ARMS GateTest scenarios (1,800+ components) Scenario with & without inherent hierarchy Reduce static & dynamic footprint n = no. of internal components, x = total no. of components in the assembly Reduce no. of homes by (n-1)/x Reduce no. of objects registered with POA by (n-1)/x 16

Proposed Approach: Evaluation riteria Improve performance t = no. of interactions between components within an assembly Transform t checked collocation calls to t unchecked calls Eliminate mis-optimizations heck incompatible POA policies Incompatible invocation semantics (oneway vs. twoway) No changes to individual component implementations Eliminate need for a local vs. remote version ustomizable & application transparent 17

oncluding Remarks omponent middleware is an emerging paradigm rucial to realizing the vision of Software Factories Problems with component middleware Significant gaps in the development & integration toolchain Our research Proposes to perform optimizations on component middleware that were previously infeasible Exploit application context made available by MDE toolchain Potential to negate benefits of using component middleware Direct application to DRE systems not always feasible Might not meet the stringent QoS requirements of DRE systems Tools can be downloaded from www.dre.vanderbilt.edu/osmi/ 18