Upload
tyler-newman
View
219
Download
1
Embed Size (px)
Citation preview
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]
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 ...)
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
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
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
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
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
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
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
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
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
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