12
March 22, 2022 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS- enabled CORBA Component Model Implementation Nanbor Wang Kirthika Parameswaran Dept. of Computer Science Washington University {nanbor,kirthika}@cs.wustl.edu Michael Kirchier Siemens ZT Munich, Germany Michael.Kircher @mchp.siemens.de Doug Schmidt Dept. of Electrical and Computer Engineering Univ. of California, Irvine [email protected]

October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Embed Size (px)

Citation preview

Page 1: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

April 19, 2023

Research Sponsored by NASA

Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation

Nanbor Wang

Kirthika Parameswaran

Dept. of Computer Science

Washington University{nanbor,kirthika}@cs.wustl.edu

Michael Kirchier

Siemens ZTMunich, [email protected]

Doug Schmidt

Dept. of Electrical and Computer Engineering

Univ. of California, [email protected]

Page 2: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

Presentation Outline•Limitations of CORBA Object Model

•CORBA Component Model overview

•Research ChallengeQoS-aware collocation QoS-enabled CCM containers implementation

Dynamic linking/unlinking component implementation

•Concluding Remarks

R

U

N

T

I

M

E

S

C

H

E

D

U

L

E

RHIGH-SPEED NETWORK

INTERFACES(e.g., APIC, VME)

Z

E

R

O

C

O

P

Y

B

U

F

F

E

R

S

RT I/OSUBSYSTEM

U

RT ORB CORE

REACTOR(P1)

REACTOR(P2)

REACTOR(P3)

REACTOR(P4)

SOCKET QUEUE DEMUXER

PL U G G A B L E P R O T O C O L S

CLIENT QoS

ADAPTATION

HOME

COM PONENTIMPLEM ENTATION

RTPOA

CA

LL

BA

CK

S

CO

RB

A S

ER

VIC

ES

(SE

CU

RIT

Y, E

VE

NT

S ...)

Page 3: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

Overview of CORBA Object Model

ORBInterfaces

ClientObject

(Servant)

Client-sidemeta-object

(Stub)

Server-sidemeta-object(Skeleton)

ORB Core

in args

out args + return value

Operation ()

POAObject storemeta-object

Transport protocolmeta-object

Transport protocolmeta-object

•Hard to extend existing interfaces

Limitations

•Limited server programming support

•Common object services are not mandatory

•No standard way to deploy object implementations

Page 4: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

CORBA Component Model

Standardized Features in CCM•Run-time environment - component servers•Packaging & deployment - CIF, CIDL & others

CORBA Software Bus

Component DeveloperWorkstation

Object Store

Component Server(Database)

Component Server(Computation)

Client Client

Client

Client

Client

•Component configuration•Component collaboration

Page 5: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

Components Composition in CCM

•CCM supports built-in introspection mechanismse.g., the Navigate interface

•Components can be configured dynamically

Notification Service

EventChannel X

EventChannel Y

Component Aop1

op2

op3

Facets

EventsSource Sink

Rec

epta

cles

Att

ribu

te

worker

process

ProcessInstructions Component B

op4

op5

op6

Facets

EventsSource Sink

Att

rib

ute Status

publishes

publishes

consumes

consumes

uses

uses

Page 6: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

The CCM Container Programming Model•Components are implemented as DLLs

•Component servers execute the components

•ContainersDefine the component-server interfaces

Bridge the managed component implementation with common ORB services

Provide customized run-time environment of components

•Standard interfaces for packaging & deploying components

Container

ORB

CORBAComponent

ComponentHome

POA

Transaction

Security Notification

Persistent State

External

Interfaces

CallbackInterfaces

InternalInterfaces

Container

CORBAComponent

ComponentHome

POA

External

Interfaces

CallbackInterfaces

InternalInterfaces

Page 7: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

Key Research Challenge: Optimizing the CCM

•QoS-aware Collocation OptimizationsComponents are likely collocated with each others

•QoS-enabled Containers Separation of QoS aspects from component implementations

•Dynamic Configuration of Component ServersConserve & compose system resources

N ETW O R K

ID LS TU B S

ID LS K EL ETO N

O S K E R N E L

H IG H - SP EEDN ETW O R K IN TER FA C E

R EA L - TIM E I/OS U B S Y S TEM

O S K E R N E L

H IG H - SP EEDN ETW O R K IN TER FA C E

R EA L - TIM E I/OS U B S Y S TEM

A C E C O M PO N EN TS

R E A L -T IM E O R B C O R EIO P P L U G G A B L E

O R B & X PO R TP R O T O C O L S

IO PP L U G G A B L E

O R B & X PO R TP R O T O C O L S

QoSADAPTATION

HOME

COMPONENTIMPLEMENTATION

CA

LL

BA

CK

S

REAL-TIME POA

IDLSKELS

CLIENToperation ()

in args

out args + return value

REAL-TIME

PORTABLE OBJECT ADAPTER

CO

RB

A S

ER

VIC

ES

(SE

CU

RIT

Y,

EV

ENT

S ...)

ORB QoSINTERFACE

8

1

2

3

4 5

7

6

1) C O L L O C A T IO N ST U B S2) CO L L O C A T IO N XP O R T SEL E C T IO N3) SH A RE D M E M O R Y XP OR T4) OR B L E V E L Q OS INT E RF AC E

5) C O M P O N E N T Q O S A D A P T A T IO N6) D Y N A M IC L IN K IN G O F C O M P O N E N T SE R V A N T S7) D Y N A M IC C O N F IG U R A T IO N O F C O M P O N E N T S8) IN T E G R A T IO N O F SE R V IC E S

Page 8: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

QoS-aware Collocation Optimizations

•Collocation optimizations must respect object’s QoS propertiese.g., may choose less efficient transport mechanisms to satisfy QoS requirements

•Stubs provide reflection interface for QoS requirements of object references

Client Servant

StubEffective QoS

Policies

RT-POA

ORB Core

Effective QoSPolicies

IIOP

ServantProxy

SHMIOP

Shared-memory

TCP/IP

Page 9: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

1

10

100

1000

10000

100000

1000000

Collocation Mechanisms

Th

rou

gh

pu

t (c

all

s/s

ec

)

NT small seq 4709 6106 340701 745217

NT large seq 2635 4020 244841 508034

Sun small seq 1088 1207 1247 30195 65467

Sun large seq 819 903 926 30183 62520

iiop shmiop uiop thru_poa direct

•Criteria to select invocation mechanism: speed, QoS capability, & thread priority

Collocation Optimizations

•New multi-threaded shared-memory transport for co-host operations

Page 10: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

QoS-enabled Containers•Separate QoS controlling mechanisms & aspects from component implementations•Components or deployment information specify the QoS properties

•QoS Property Adaptor for policy-based QoS management

•Containers provide interfaces for reflecting into the QoS requirements of components

ContainerCORBA

Component

ComponentHome

Real-time POA

QoS PropertyAdaptor

Client

ORB QoS Interfaces(Scheduling, Timeliness, Priority,...)

QoS Policies

Page 11: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

Dynamic Configuration of Component Servers

ACT IVE O B JE C T M A P

S E R V A N T S

O B JE C T ID

O B JE C T IDO B JE C T ID

S T RAT E G Y 1

S T RAT E G Y 2

S T RAT E G Y 3

S E R V A N T M A N A G E R

R O O T PO A

C O N T A I N E R

O R B C O R E

E V I C T O R

D L L

D L LD L L

S E R V A N T SS E R V A N T S

load

•Caching component instances

•Dynamic linking & unlinking of component implementationsLoading strategy in deployment info

Components and their instances carry usage information

•Applying eviction policies to remove unused servants

•ORB features discovery

Page 12: October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor

Washington University, St. Louis

Nanbor Wang QoS-enabled CORBA Component Model

Concluding Remarks•CCM simplifies application implementation•We’re exploring the application of reflective principles to implement CCM middleware QoS-aware collocation mechanismReflective container to separate QoS

concernsDynamic component linkage

•Current status and future workPrototyping CCM implementation Implementing, benchmarking, & optimizing

QoS collocation & containersDownload the open-source TAO ORB from: http://www.cs.wustl.edu/~schmidt/TAO.html