opteml: optimization techniques for enhancing middleware quality of service for product-line...
TRANSCRIPT
![Page 1: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/1.jpg)
OPTEML: OPTEML: OpOptimization timization TTechniques echniques for for EEnhancing nhancing MMiddleware Quality of iddleware Quality of
Service for Service for Product-Product-lline Architecturesine Architectures
Arvind S. [email protected]
Institute for Software Integrated Systems
Vanderbilt University Nashville, Tennessee
http://www.dre.vanderbilt.edu/~arvindk/proposal.pdf http://www.dre.vanderbilt.edu/~arvindk/proposal.pdf
![Page 2: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/2.jpg)
Motivation
AirFrame
GPS
FLIR
Legacy distributed real-time & embedded (DRE) systems have historically been:• Stovepiped• Proprietary • Brittle & non-adaptive• Expensive• Vulnerable
Consequence: Small HW/SW changes have big (negative) impact on DRE system QoS & maintenance
GPS
FLIRAP
Nav HUD
IFF
Cyclic Exec
F-15
AirFrame
APNav HUD
GPSIFF
FLIR
Cyclic Exec
A/V-8B
AirFrame
Cyclic Exec
AP
Nav HUD
IFF
F/A-18
AirFrame
AP
Nav HUDGPS
IFF
FLIR
Cyclic Exec UCAV
![Page 3: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/3.jpg)
F-15productvariant
A/V 8-Bproductvariant
F/A 18productvariant UCAV
productvariant
Product-line architecture
Hardware (CPU, Memory, I/O)Hardware (CPU, Memory, I/O)
OS & Network ProtocolsOS & Network Protocols
Host Infrastructure MiddlewareHost Infrastructure Middleware
Distribution MiddlewareDistribution Middleware
Common Middleware ServicesCommon Middleware Services
Motivation
•Middleware factors out many reusable general-purpose & domain-specific services from traditional DRE application responsibility
•Essential for product-line architectures (PLAs)
AirFrame
AP
NavHUD GPS
IFF
FLIR
Domain-specific ServicesDomain-specific Services
![Page 4: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/4.jpg)
F-15productvariant
A/V 8-Bproductvariant
F/A 18productvariant UCAV
productvariant
Product-line architecture
Hardware (CPU, Memory, I/O)Hardware (CPU, Memory, I/O)
OS & Network ProtocolsOS & Network Protocols
Host Infrastructure MiddlewareHost Infrastructure Middleware
Distribution MiddlewareDistribution Middleware
Common Middleware ServicesCommon Middleware Services
Motivation
•Middleware factors out many reusable general-purpose & domain-specific services from traditional DRE application responsibility
•Essential for product-line architectures (PLAs)
•However, standards-based, general-purpose, layered middleware is not yet adequate for the most demanding & mission-critical PLA based DRE systems
AirFrame
AP
NavHUD GPS
IFF
FLIR
Domain-specific ServicesDomain-specific Services
![Page 5: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/5.jpg)
F-15productvariant
A/V 8-Bproductvariant
F/A 18productvariant UCAV
productvariant
Product-line architecture
Hardware (CPU, Memory, I/O)Hardware (CPU, Memory, I/O)
OS & Network ProtocolsOS & Network Protocols
Customized MiddlewareCustomized Middleware
Motivation
•Middleware factors out many reusable general-purpose & domain-specific services from traditional DRE application responsibility
•Essential for product-line architectures (PLAs)
•However, standards-based, general-purpose, layers middleware is not yet adequate for the most demanding & mission-critical PLA based DRE systems
AirFrame
AP
NavHUD GPS
IFF
FLIR
My research optimizes middleware for PLA-based DRE systems
![Page 6: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/6.jpg)
Presentation Road Map
Technology Context Research Challenges Related Research Research Progress Proposed Research Middleware
Specialization Techniques Dissertation Timeline Concluding Remarks
![Page 7: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/7.jpg)
Overview of Product-line Architectures (PLAs)PLA Characteristics: Scope Commonalities & Variabilities (SCV)•SCV analysis is a process that can be applied to identify commonalities & variabilities in a domain to guide development of a PLA [Coplien]
James Coplien et al. Commonality & Variability in Software Engineering, IEEE Software 1998
Applying SCV to Bold Stroke–Scope: Bold Stroke component architecture, object-oriented framework, & associated components, e.g., GPS, Airframe, & Display
OS & Network ProtocolsOS & Network Protocols
Host Infrastructure MiddlewareHost Infrastructure Middleware
Distribution MiddlewareDistribution Middleware
Common Middleware ServicesCommon Middleware Services
Domain-specific ServicesDomain-specific Services
AirFrame
AP
NavHUD GPS
IFF
FLIR
Reusable Architecture Framework
Reusable Application
Components
![Page 8: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/8.jpg)
Overview of PLAsApplying SCV to Bold Stroke–Commonalities describe the attributes that are common across all members of the family• Common object-oriented framework & set of components
–e.g., GPS, Airframe, Navigation Display components • Common middleware infrastructure
–e.g., Real-time CORBA & a variant of Lightweight CORBA Component Model (CCM) called Prism
GPSComponent
DisplayComponent
AirframeComponent
Heads UpDisplay
Bold Stroke Common Components
Hardware (CPU, Memory, I/O)Hardware (CPU, Memory, I/O)
OS & Network ProtocolsOS & Network Protocols
Host Infrastructure MiddlewareHost Infrastructure Middleware
Distribution MiddlewareDistribution Middleware
Common Middleware ServicesCommon Middleware Services
Domain-specific ServicesDomain-specific Services
![Page 9: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/9.jpg)
Overview of PLAs
GPSComponent
DisplayComponent
AirframeComponent
Heads UpDisplay
GPS = 20 HzGPS = 40 Hz GPS=20Hz
Bold Stroke Common Components
Air AirFrame
AP
Nav HUD
GPS IFF
FLIRAP
Nav HUD
GPS IFF
FLIR
AirFrame
AP
Nav
HUD
GPS
IFF
FLIR
F/A 18 F F 15K UCAV
FrameAPNav
HUD
GPSIFF
FLIR
Applying SCV to Bold Stroke
–Variabilities describe the attributes unique to the different members of the family
• Product-dependent component implementations (GPS/INS)
• Product-dependent component connections
• Product-dependent components (Different weapons systems for security concerns)
• Different hardware, OS, & network/bus configurations
Hardware (CPU, Memory, I/O)Hardware (CPU, Memory, I/O)
OS & Network ProtocolsOS & Network Protocols
Host Infrastructure MiddlewareHost Infrastructure Middleware
Distribution MiddlewareDistribution Middleware
Common Middleware ServicesCommon Middleware Services
Domain-specific ServicesDomain-specific Services
![Page 10: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/10.jpg)
Mature PLA Development Process
Component
RepositoryC
om
p
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp C
om
p
Co
mp
Co
mp
Co
mp
Co
mp
Co
mp
Deployment Platforms
•PLAs define a framework of components that adhere to a common architectural style
•Model driven development (MDD) & domain-specific modeling languages (DSMLs) are used to:– Glue components together
– Synthesize artifacts for deployment onto platforms, e.g., J2EE, .NET, & CORBA
![Page 11: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/11.jpg)
Middleware Layers for PLAsMiddleware Evolution
• Middleware supports application requirements in different domains
• Often exhibits a standards-based, general-purpose, & layered architecture
•Host infrastructure middleware encapsulates native OS mechanisms to create reusable network programming components
•Example: ACE toolkit & JVMs
www.dre.vanderbilt.edu/ACE
Examples of QoS variabilities• OS priorities, which differ on Sun,
VxWorks, Windows, Linux/RT-Linux
• Diverse locks & IPC mechanisms
![Page 12: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/12.jpg)
•Distribution middleware defines higher-level distributed programming models whose reusable APIs & components automate & extend native OS capabilities
•Avoids hard-coding dependencies on OS, languages, & location
•Examples: Real-time CORBA, COM+, Distributed Real-time Java, Java RMI,
www.dre.vanderbilt.edu/TAO
Examples of QoS variabilities•Round-trip timeouts, protocol properties, (de)marshaling strategies, concurrency models
•# of threads, stack sizes
Middleware Layers for PLAs
![Page 13: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/13.jpg)
•Component middleware is a class of middleware that enables reusable services to be composed, configured, & installed to create applications rapidly & robustly
• Components encapsulate application “business” logic
• Containers provide execution environment for components
• Interact with underlying middleware to leverage middleware services, such as events, fault-tolerance etc
Examples of QoS variabilities• Type of containers (e.g., real-
time, transient, persistent)• Services QoS properties (e.g.,
event channel vs. direct dispatch)
Instrument Cluster
Positioning Unit
GUIDisplay
Refresh
GPSLocation
LEDDisplay
Refresh
GetLocation
RateGenPulse
Rate
GPS
MyLocation
Refresh Ready
www.dre.vanderbilt.edu/CIAO
Middleware Layers for PLAs
![Page 14: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/14.jpg)
Presentation Road Map
Technology Context Research Challenges Related Research Research Progress Proposed Work Middleware
Specialization Techniques Dissertation Timeline Concluding Remarks
![Page 15: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/15.jpg)
Overview of Research ChallengesResolving the tension between•Generality Middleware is designed to be independent of particular application requirements
Customized Middleware Stack Standards-based, General-purpose, Layered Middleware Architecture
Product-line Variant
•Specificity PLAs are driven by the functional & QoS requirements for each product variant
Research Challenges
Container
ClientOBJREF
in argsoperation()out args +
return
IDLSTUBS
ORBINTERFACE
IDLSKEL
Object Adapter
ORB CORE GIOP/IIOP/ESIOPS
Component(Servant)
Se
rvices
ProtocolInterface
ComponentInterface
ServicesInterface
DII
DSI
![Page 16: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/16.jpg)
Research Challenges Addressed in OPTEML
SSL STDPOA
Asynchrony
Middleware fine-grain componentization challenges
Configuration evaluation & validation challenges
Specialization challenges
![Page 17: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/17.jpg)
Presentation Road Map
Technology Context Research Challenges Related Research Research Progress Proposed Work Middleware
Specialization Techniques Dissertation Timeline Concluding Remarks
![Page 18: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/18.jpg)
Taxonomy of Research ContinuumB
ind
ing
Tim
e
Applicability
General Specific
Ru
n-t
ime
Des
ign
-tim
e
Optimization dimensions• Applicability General-purpose to more application-specific
• A general-purpose optimization can be applied across all PLA variants, while application-specific targets a particular variant
• Binding time Run-time to design-time
• Determines when the optimizations are bound, i.e., run-time system execution, design-time system development
Prior research has focused on a continuum of optimizations
![Page 19: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/19.jpg)
General-purpose Optimizations B
ind
ing
Tim
e
ApplicabilityGeneral Specific
Ru
n-t
ime
De
sig
n-T
ime
General-purpose optimizations are broadly applicable algorithmic & data-structural optimizations within the middleware/OS/protocols to improve QoS
• Applicability Can be used for a range of applications across different domains
• Binding time Design-time & run-time
![Page 20: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/20.jpg)
Related Research
Research Category
Related Research
Request Processing Optimizations
• Pyarali et al., “Applying Optimization Patterns to the design of Real-time ORBs”, 5th COOTS Conference, 1999
• Wang et al. “Collocation Optimizations,” IEEE Distributed Systems, 2001
Demultiplexing & Threading optimizations
• Feldmeier, “Multiplexing Issues in Communications System Design”, ACM SIGCOMM, 1996
• Hutchinson et al. “The Design of the x-kernel”, ACM SIGCOMM, 1998
Patterns for Connection Management
• Schmidt, “Acceptor & Connector: Design Patterns for Actively & Passively Initializing Network Services”, Euro PLOP Conference, 1997
Patterns for Request Processing
• Pyarali et al., “Asynchronous Completion Token: An Object Behavioral Pattern of Efficient Request Processing, PLoP Conference, 1999
Protocol Processing Related Optimizations
• O’Ryan et al., “Design of a Pluggable Protocol Framework”, Middleware 2000
• O’Malley et al. “USC: A Universal Stub Generator”, SIGCOMM 94
Schmidt et al., “Pattern Oriented Software Architecture 2”, Addison Wesley
http://www.dre.vanderbilt.edu/~arvindk/proposal.pdf
![Page 21: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/21.jpg)
General-purpose Optimizations: What is Missing?
Need to determine right
hooks
Unresolved challenges– Different product-lines achieve
different benefits/liabilities from enabling/disabling different optimizations
• e.g. type of ORB reactor, type of queue, type of connection management strategy etc.
Solution: Configuration-driven Optimizations
– How to systematically determine what optimizations are ideal for a particular deployment & product variant
![Page 22: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/22.jpg)
Configuration-driven Optimizations
ApplicabilityGeneral Specific
Bin
din
g T
ime
Ru
n-t
ime
Des
ign
-tim
e Hook for the concurrency strategy
Hook for marshaling strategy
Hook for the connection management strategy
Hook for the underlying transport strategy
Hook for the event demuxing strategy
Configuration-driven optimizations tune compiler/middleware/web-server configuration knobs to maximize application QoS for a particular use case
•Applicability Technique is broadly applicable, but a particular configuration may be specific to a particular application use case
•Binding time Typically bound at system initialization-time
![Page 23: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/23.jpg)
Related Research Research Category
Related Research
Functional Correctness of Software Configurations
• Memon et al. “Distributed Continuous Quality Assurance”, ICSE 2004, Edinburgh, Scotland
• Yilmaz et al. “Covering Arrays for Efficient Fault Characterization in Complex Configuration Spaces”, ISSTA, 2004
Continuous Monitoring
• Childers et al. “Continuous Compilation: A New Approach to Aggressive & Adaptive Code Transform”, IPDPS 2003, Next-generation software workshop
Generative Programming Techniques
• Rutherford et al. “A Case for Test-Code Generation in Model-driven Systems”, GPCE 2003, Erfurt Germany
Compiler Technology
• Yotov et al. “A Comparison of Empirical & Model Driven Optimizations”, PLDI 2003
Web-service Configuration importance estimation
• Sophiktomol et al. “A Method for Evaluating the Impact of Software Configuration Parameter on E-Commerce Sites”, Workshop on Software & Performance, 2005
![Page 24: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/24.jpg)
Configuration-driven Optimization: What is Missing?
http://www.atl.external.lmco.com/projects/QoS/
• Krishna et al. “CCMPerf: A benchmarking tool for CORBA Component Model Implementations”, RTAS 2004, Toronto Canada
• Krishna et al. “Empirical Evaluation of CORBA Component Model Implementations”, Springer-Verlag Journal on Real-time Systems, March 2005
Unresolved challenges–These optimizations cannot
eliminate middleware generality
–Overhead from specification compliance, redundant checks, & indirection
•e.g., benchmarking efforts revealed that even with most optimal configuration, indirection overheads are costly
–How to optimize the request processing path to improve performance
Solution: Partial Specialization Optimizations
![Page 25: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/25.jpg)
Partial Specialization Optimizations
ApplicabilityGeneral Specific
Bin
din
g T
ime
Ru
n-t
ime
Des
ign
-tim
e
Partial Specialization optimizations customize programming-languages/middleware according to system invariants known ahead-of-time
Applicability Optimizations are highly context-specific Binding time Optimizations are generally applied at design-time
![Page 26: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/26.jpg)
Related Research
Category Related Research
Automatic language mechanisms
• T. Mogensen & A. Bondorf, “Logimix: A Self-Applicable Partial Evaluator for Prolog”, Program Evaluation & Program Specialization conference (PEPM), 1993
• S.M. Abramov, “A Compiler Based on Partial Evaluation”, Problems of Applied Mathematics & Software Systems, Moscow State University Press,
Manual language mechanisms
• Kiczales, “An Overview of AspectJ”, Lecture Notes in Computer Science, 1999• Lohmann et al. “Generative Programming with Aspect C++”, GPCE 2004, Vancouver, Canada
• Todd Veldhuizen “Using C++ meta programs”, C++ Report 1999
Specification level mechanisms
• Ira Baxter “Design Maintenance System”, Semantic Designs Inc,• Goodman “Processor for Multiple Language Application”, Promula
Domain: Operating Systems
• Massalin et al. “The Synthesis Kernel”, Computing Systems Journal, 1998• Pu et al. “Optimistic Incremental Specialization: Streamlining a Commercial Operating System”, SOSP 95
Domain: Feature oriented specialization
• Zhang et al. “Towards Just in Time Middleware”, Aspect Oriented Software Engineering, (AOSD 2005), Chicago, 2004
• Zhang et al. “Resolving Feature Convolution in Middleware”, ACM SIGPLAN OOPSLA Conference, Vancouver, Canada 2004
![Page 27: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/27.jpg)
Partial Specialization: What is Missing?Lack of Tool Support
–Automatic specialization generally restricted to declarative languages, such as lambda
–Little support for OO languages such as C++/Java
Lack of Middleware approaches–Middleware is designed for
generality, these techniques hold promise when applied to middleware
–No approaches address middleware-related issues
Lack of approaches that deal with optimizations–AspectJ (Resolving Feature Convolution, Zhang et al.) did not focus on improving
performance using optimizations–Aspects are a delivery mechanism, the woven code can be suboptimal! – Aspects also add run-time overhead (need to link to library) create portability issues
+
Provides no guarantees on woven code
![Page 28: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/28.jpg)
Presentation Road Map
Technology Context Research Challenges Related Research Research Progress Proposed Work Middleware
Specialization Techniques Dissertation Timeline Concluding Remarks
![Page 29: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/29.jpg)
Challenge #1: Fine-grain Componentization
SSL STDPOA
Asynchrony
Middleware fine-grain componentization challenges
![Page 30: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/30.jpg)
Middleware Feature Componentization ProblemContext
Each variant in a PLA may require only a subset of all the middleware features
Research Challenges•General-purpose optimizations address performance issues, but do not address feature-driven componentization
•Monolithic ORB architectures put all code in one executable
•Conditional compilation allows fine-grained componentization but
• Increases number of configuration settings
• Hard to maintain & add new features
SSL STDPOA
Asynchrony
VME RTPOA
Synchronous
![Page 31: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/31.jpg)
Addressing Middleware Customizability Challenges for PLAsSolution Approach Micro ORB Architectures• Identify ORB services whose behavior
may vary, e.g., • Object Adapters, Anys, Protocols,
(de)marshaling, & buffer allocation mechanisms
• Move these out of the ORB
Micro- ORBKernel
ObjectAdapters
TransportProtocols
IORParsers
Any
ObjectResolvers
MessageBuffer
Allocators
GIOPMessaging
CDRStreamReaders
Hypotheses: Our approach• Enables different levels of
customization • Is application transparent• Significantly reduces footprint• Allows easy addition of new
features without undue performance overheads
![Page 32: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/32.jpg)
Addressing PLA Customizability ChallengesSolution Approach Micro ORB Architectures• Identify ORB services whose behavior may vary, e.g.,
• Object Adapters, Anys, Protocols, (de)marshaling & buffer allocation mechanisms
•Move these out of the ORB•Implement alternatives as pluggable strategies, i.e., virtual components [VC]
[VC] Corsaro et al. “Virtual Component Pattern,” Pattern Language of Programs”, Monticello, Illinois, 2003
MCASTPOA
STDPOA
MINPOA
Micro- ORBKernel
SSL ATM VME
RTPOA
ObjectAdapters
IIOP
TransportProtocols
IORParsers
Any
ObjectResolvers
MessageBuffer
Allocators
GIOPMessaging
CDRStreamReaders
![Page 33: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/33.jpg)
Addressing PLA Customizability ChallengesSolution Approach Micro ORB Architectures• Identify ORB services whose behavior may vary:
• Object Adapters, Anys, Protocols, (de)marshaling & buffer allocation mechanisms
•Move these out of the ORB•Implement alternatives as pluggable strategies, i.e., virtual components [VC]
•Each product variant can then choose what component it does or does not require
•Application Transparent –No changes to CORBA interfaces–No changes to existing
implementations
![Page 34: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/34.jpg)
Research ContributionsResearch Contributions– Levels of customizability coarse-
grain vs. fine-grain componentization• Fine-grain approach break component
into multiple sub-components– Policy driven approaches to fine-grain
componentization – Footprint Fine-grain approach has 50% reduction
compared with monolithic approach [DOA 02, 03] – Cost Adding new features for variants modularized (e.g., new protocol)– Performance enables all general purpose-optimizations [RTAS 03] &
real-time properties[ICDCS04] along critical path
My Contributions Publications
Next Generation Middleware Design
Book Chapter: Middleware for Communications Wiley & Sons, New York, 2004
Real-time Performance & Predictability
International Conference on Distributed Systems (ICDCS) 2004
Real-time Application Symposium (RTAS) 2003
Pluggable POA Architecture ORB Core Architecture
Distributed Objects & Applications (DOA) 2002
Distributed Objects & Applications (DOA) 2003
![Page 35: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/35.jpg)
Challenge #2: Configuration Evaluation & Validation
Configuration evaluation & validation challenges
![Page 36: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/36.jpg)
Ad hoc Techniques for Configuration EvaluationContext
Each variant in a PLA requires an appropriate set of middleware configurations to satisfy QoS properties
![Page 37: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/37.jpg)
Impl
IDL Compiler
IDL
CIDL
CIDL Compiler
Executor IDL
IDL Compiler
Executors
Stub Skel
Servants
XMLComponentDescriptors
Handcrafted Generated Inherits Generates
build
BenchmarkBenchmark
However, the “means” (process for the mapping) are tedious, error prone & time-consuming for middleware
• e.g., for a simple 5 component scenario requires ~ 60 files each ~ 100-500 LOC
Problem
–Configuration-driven optimizations describe the “ends” (mapping requirements to parameters)
Ad hoc Techniques for Configuration Evaluation/Validation
![Page 38: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/38.jpg)
Ad hoc Techniques for Configuration Evaluation/Validation
ACEDOC
TANGO
Ethernet
DisplayAirframe
GPS
ACEDOC
TANGO
Ethernet
GPSAirframe
Display
Problem
–No systematic process to evaluate & validate configuration settings across different platforms
–Configuration Evaluation
• e.g., how do we ensure the right middleware configuration for maximizing QoS for product-variants?
– Configuration Validation
• e.g., how do we ensure that configuration is semantically valid across different deployment scenarios?
![Page 39: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/39.jpg)
Addressing Ad hoc Techniques for Evaluation & ValidationHypotheses: Our approach for different Product-variants• Eliminates accidental complexity in evaluating QoS of middleware
configurations• Enables validation of middleware configurations across diverse platforms• Can be applied to identify middleware configurations that most influence
end-to-end performance/latency/jitter (i.e., the “main effects”)
Solution Approach: Combine MDD Approach
– Raise the level of abstraction, i.e., think in terms of middleware configurations rather than lower-level source code
– Auto-generate information required to run & evaluate QoS of variants
with Quality Assurance Processes
– Validate generated code across different platforms
IDL Compiler
CIDL Compiler
Executor IDL
IDL Compiler
Executors
Stub Skel
Servants
XMLComponentDescriptors
deleg
ates
Impl
Script
IDL
CIDL
ModelInterpreters
![Page 40: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/40.jpg)
Build & Benchmark Generation DSML
BGML• Developed a domain specific modeling language (DSML) in GME to
evaluate middleware configurations to maximize application QoS
![Page 41: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/41.jpg)
BGML Tool FeaturesChallenge 1 : How to capture different PLA communication
semantics?
BGML Challenge Resolution
• Provide modeling constructs to depict one-way/two-way invocation semantics
• Modeling construct to depict events
• Interpreters generate platform specific code
• Eliminate accidental complexities in understanding IDL-C++ mapping
Two way synchronous
communication
One-way synchronous/asynchronous
(void) this->remote_ref_-> AcceptWorkOrderResponse (arg0, arg1);
![Page 42: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/42.jpg)
BGML Tool Features
Challenge 2 : How to capture different PLA QoS characteristics
BGML Challenge Resolution
• Provide modeling constructs to capture latency/throughput and jitter QoS characteristics
• Automatic translation into code that samples data; calculates and computes these metrics
ACE_Sample_History history (5000);for (i = 0; i < 5000; i++) { ACE_hrtime_t start = ACE_OS::gethrtime (); (void) this->remote_ref_-> AcceptWorkOrderResponse (arg0, arg1); ACE_CHECK; ACE_hrtime_t now = ACE_OS::gethrtime (); history.sample (now - start); }}
Latency between ab
< x msecs
Throughput should be
more than y calls/sec
![Page 43: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/43.jpg)
BGML Tool Features
Challenge 3 : How to capture PLA workloads, e.g., rate-based?
BGML Challenge Resolution
• Tasks: Threads that run at given/rate or continuous or are random (interactive load)
• TaskSet: Group tasks into sets having a given rate/priority
ACE_Barrier barrier (2);
// Generate the Background workload AcceptWorkOrderResponse_Workload<T> task0 (this->remote_ref_, arg0_, arg1_, barrier);AcceptWorkOrderResponse_Workload<T> task1 (this->remote_ref_, arg0_, arg1_, barrier);AcceptWorkOrderResponse_Workload<T> task2 (this->remote_ref_, arg0_, arg1_, barrier);
Operations at 20Hz/sec
Operations at 40 Hz/sec
![Page 44: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/44.jpg)
CoSMIC Tool Suite
Challenge 5: How to model & generate middleware configurations settings for PLA variants?
DocumentationPane
Option selection
BGML integrated with the Options Configuration Modeling Language (OCML)
![Page 45: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/45.jpg)
CoSMIC Tool Suite
Challenge 6: How generate deployment information?
BGML integrated with Platform Independent Component Modeling Language
Virtual nodes
Mapping
This MDD process automates ALL code required to enact a scenario• Deployment Plan – XML deployment information (PICML)• svc.conf – Configuration for each component implementation (OCML)• Benchmark code – source code for executing benchmarks (BGML)• IDL & CIDL files (PICML/BGML)• Build Files – MPC files (www.ociweb.com) (BGML)
![Page 46: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/46.jpg)
MDD Quality Assurance ProcessEvaluating and Validating Middleware Configurations
–Process output integrated with Skoll (www.cs.umd.edu/projects/skoll)
– Skoll QA processes validates configurations across different platforms, compilers & OS
OCML
BGML
Skoll
BenchmarkInformation
IDL .cpp
Scriptfiles
ServiceConfigfiles Internet
distributedsystem
TargetMachine
A
B
C
D
E
F
Model
ConfigurationInformation
A: Use MDD process explained earlier to capture PLA QoS concerns
B, C: Synthesize middleware configuration, benchmark and deployment information
D: Feed test code to Skoll frameworkE: Run on varied platforms to measure
QoS variationsF: Maintain database of results from
which patterns of configurations can be identified
Process time consuming.Do I need to run this process each time?
![Page 47: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/47.jpg)
Main-effects Screening Process
Motivation– Identify the important configurations settings that
characterize complete configuration space
– Enhance Skoll to use a statistical techniques (Design of Experiments theory) to estimate & validate configuration importance
• e.g., G is most important parameter for the scenario followed by H
– Enables defining a region for required performance
– Penalty for leaving the region X msecs
Process Steps– Use MDD process to generate
artifacts
![Page 48: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/48.jpg)
Research Contributions
Contributions Publications
Configuration “main effects” (MDD & Skoll)
Real-time Application Symposium (RTAS) 2005
International Conference on Software Engineering (ICSE) 2005
BGML & CoSMIC Tool Suite
International Conference on Software Reuse (ICSR)
Elsevier Science of Computer Programming, International Journal of Embedded Systems (Invited submission)
Distributed Testing & Quality Assurance
IEEE Software, Studia Infomatica Universalis Journal
Model-Driven QA processes for configuration evaluation & validation– Enhances Configuration-driven optimization techniques by providing a
reusable, automated process reproducible for different variants [RTAS05]– Addresses accidental complexities in code-generation [ICSR]– Addresses validation challenges across different hosts/configurations [IEEE
Software]– Documents configuration main-effects that can drive customizations or
further validation [ICSE 2005]
![Page 49: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/49.jpg)
Presentation Road Map
Technology Context Research Challenges Related Research Research Progress Proposed Work Middleware
Specialization Techniques Dissertation Timeline Concluding Remarks
![Page 50: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/50.jpg)
Challenge #3: Middleware Specialization
Specialization challenges
![Page 51: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/51.jpg)
Where to Specialize?Where do we apply middleware specializations?
– Research [Zhang et al.] showed that woven code is not always optimal
– Identification of specialization points within the middleware is a key step towards eliminating generality
ClientOBJREF
Object(Servant)
in argsoperation()out args +
return
IDLSTUBS
ORBINTERFACE
IDLSKEL
Object Adapter
ORB CORE GIOP/ IIOP/ ESIOPS
2
3
5
4
1
1
2
3
4
5
Specialization on LocationRequest Header
CachingEliminate un-necessary
checks
Pre-create Request
Optimize for TargetLocation
Approach
– Examined critical request & response processing path
– Identified & documented places of generality
• Redundant checks & lookups along request processing path
– Implemented them as alternatives using a “hand-crafted” approach
Zhang et al. “Resolving Feature Convolution in Middleware”, OOPSLA Conference, Vancouver, 2004
![Page 52: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/52.jpg)
Bold Stroke PLA ScenarioExample System
• Basic Single Processor (BasicSP) –distributed real-time & embedded (DRE) application scenario based on Boeing Bold Stroke
• Timer Component – triggers periodic refresh rates
• GPS Component – generates periodic position updates
• Airframe Component – processes input from the GPS component & feeds to Navigation display
• Navigation Display – displays GPS position updates
ACE_wrappers/TAO/CIAO/DaNCE/examples/BasicSPCoSMIC/examples/BasicSP
Representative DRE application: “rate based” Events Control informationOperation simple data
![Page 53: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/53.jpg)
Gleaning Scenario Invariants
Periodic Timer:Sends same
data repeatedly
Single method interfaces:
Sends same operation on
wire
A specific Reactor used
Protocol: A specific protocol used
Mapping Ahead of Time (AOT) System Properties to Specializations• Periodicity Pre-create marshaled
Request
• Single Interface Operations Specialize Request Path
• Reactor/Protocols Plug in right reactors (remove indirections)
![Page 54: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/54.jpg)
Specialize Request Path
Specialize Middleware Paths•Create middleware fast paths based on different invariants
Normal layered path
Optimized Fast path processing
Request Processing Fast Paths
•Normal layered path Uses general-purpose optimization for request lookup
•Optimized fast path Bypasses middleware layers to directly perform operation invocation
• Invariant: The same operation is invoked on a given connection
![Page 55: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/55.jpg)
Pre-create Request
Specialize Request Creation
•The trigger messages sent by the Timeouts do not have any data nor change across requests
Pre-create Request• Pre-create & marshal the request• Each time same request is sent to
the client• Update request ID of the request
only• Save cost of request construction
& marshaling
Request Header Creation• Creation of the header is costly!
![Page 56: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/56.jpg)
Reactor SpecializationReactor Pattern
•Reactor pattern separates the event detection from the demultiplexing
•Allows a single-thread to do both activities
•Multiple Reactor implementations; need only one!
Reactor Specialization
•Remove indirection, e.g., Reactor_Impl base class completely (all virtual methods concrete)
•No changes to component interface. Does not break compatibility
Similar Situations
•Protocol framework only one protocol
•Locking Strategy enable/disable
Select Reactor
select ()
Reactor_Impl
select ()
WFMO_Reactor
select ()
Thread_Pool Reactor
select ()
![Page 57: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/57.jpg)
Specialization Catalog
ClientOBJREF
Object(Servant)
in argsoperation()out args +
return
IDLSTUBS
ORBINTERFACE
IDLSKEL
Object Adapter
ORB CORE GIOP/ IIOP/ ESIOPS
2
3
5
4
1
1
2
3
4
5
Specialization on Location
Request HeaderCaching
Eliminate un-necessarychecks
Pre-create Request
Optimize for TargetLocation
Client Side Specialization• Request Header Caching• Pre-creating Requests• Marshaling checks• Target Location
Server Side Specialization• Specialize Request
Processing• Avoid Demarshaling
checks
ORB Component Specialization• Multiple types of Reactor• Pluggable protocol
framework
• Specializations implemented using “hand-crafted” techniques:• What is needed? (1) enable new specializations to be added (2) delivery
mechanisms for automating this process
![Page 58: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/58.jpg)
FOCUS Approach: Summary
SplRules
Foo (){ ….. ……. //hook …}
Middleware Developer
Application Devloper
Foo (){ ….. ……. …….. …}
Ruleselection
Evo
luti
on
of
spec
ializ
atio
ns
Processing Phase–Middleware developer
• Annotates code with specialization points• Creates specialization rules (e.g., in a
database)• Creates GUI to infer specialization via high-
level questions: “do you need concurrency?”
Specialization Phase–PLA Application developer
• Uses GUI to choose type of specialization required
• Selection of right specialization rules• FOCUS tool: “Feature-Oriented
Customization” removes the generality by specializing hooks
Evolution–Add new specializations & maintain their dependencies
![Page 59: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/59.jpg)
FOCUS: Specialization Rules
Specialization Rules– Steps that are needed for systematically executing the specializations– Transformations (replace) similar to aspects (before/after join-points);
add dissimilar as no join-point to add an advice!
ClientOBJREF
Object(Servant)
in argsoperation()out args +
return
IDLSTUBS
ORBINTERFACE
IDLSKEL
Object Adapter
ORB CORE GIOP/ IIOP/ ESIOPS
2
3
5
4
1
1
2
3
4
5
Specialization on Location
Request HeaderCaching
Eliminate un-necessarychecks
Pre-create Request
Optimize for TargetLocation
IIOP_Connection_Handler:in process_request ():add: TAO_ServerRequest &request = incoming.get_request ();replace: next_layer->process_request (); final_layer->process_request (request);
Work Completed•Capturing specialization rules
![Page 60: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/60.jpg)
FOCUS: Specialization Rules
Foo (){ ….. ……. //hook …}
Rules
IIOP_Connection_Handler:in process_request ():add: TAO_ServerRequest &request = incoming.get_request ();replace: next_layer->process_request (); final_layer->process_request (request);
Rules
Rules
Middleware developers:
Annotate source with hooks
Middleware developers:
Specify transformations as rules; multiple rules
in a database
Work in Progress• Developing an XML schema for
capturing rules & dependencies• Aspects:
• run-time overhead; portability issues; add advice & tool-maturity
![Page 61: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/61.jpg)
Container
ClientOBJREF
in argsoperation()out args +
return
IDLSTUBS
ORBINTERFACE
IDLSKEL
Object Adapter
ORB CORE GIOP/IIOP/ESIOPS
Component(Servant)
Se
rvice
s
ProtocolInterface
ComponentInterface
ServicesInterface
DII
DSI
FOCUS: Transformations
Application Devloper
Rules
Rules
Rule Selection
Contai ner
Cl i entOBJREF
i n argsoperati on()out args +
return
ORBINTERFACE Obj ect Adapter
ORB CORE VME
Component(Servant)
Services
ProtocolInterface
ComponentInterface
ServicesInterface
Customization points
Specialized Path
Customization Engine:
Transforms annotations
Work in Progress•GUI to infer rule-selection
Source-to-Source Transformations
Compiler
•Developing Customization engine
![Page 62: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/62.jpg)
FOCUS: Termination Criteria
Termination Criteria (Hypothesis)
• For a mature PLA scenario, considerable performance improvements can be achieved by using the FOCUS approach
• We will use TAO mature real-time ORB as our gold standard
• Greatest benefits will be accrued for scenarios that can turn on all/most of the optimizations
–Performance improvements estimated ~ 30 – 40 % improvement in performance
• Turning on just one/two optimizations might improve performance by ~ 10 – 15 % improvement
![Page 63: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/63.jpg)
Presentation Road Map
Technology Context Research Challenges Related Research Research Progress Proposed Work Middleware
Specialization Techniques Dissertation Timeline Concluding Remarks
![Page 64: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/64.jpg)
Dissertation Timeline
Fine-grain Componentization
Tools for Configuration
Validation
May 2003 Nov 2004 Nov 2005
Application- Specific
optimizations
Policy-driven approaches for
middleware
MDD Techniques, BGMLSkoll
DOA {2002, 2003}RTAS 2003
ICDCS 2004 Middleware for Communication
ICSR 2004 RTAS 2005, ICSE 2005,
IEEE Software, IJES, Elsevier
RTAS 2004,Springer Real-time
Systems Journal
FOCUS, Specialization
Patterns
![Page 65: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/65.jpg)
Presentation Road Map
Technology Context Research Challenges Related Research Research Progress Proposed Work Middleware
Specialization Techniques Dissertation Timeline Concluding Remarks
![Page 66: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/66.jpg)
Concluding Remarks• This proposal outlined current &
future trends in building customizable middleware for product-line architectures
• It also motivated the need for a continuum of optimizations to address & enhance application QoS
–General-purpose optimizations, that enable customization of middleware for different product-variants
GENERAL PURPOSE OPTIMIZATIONS
VirtualComponent
PatternPatterns
OptimizationPatterns
CONFIGURATION DRIVENOPTIMIZATIONS
MDDTechniques
SkollDesign of
Experiments
APPLICATION DRIVENOPTIMIZATIONS
CORBARequestHeader
PrefetchSkeleton
MarshalingElimination
SP
EC
IFIC
ITY
ReactorSpecialization
ProtocolSpecialization
• Research focus can be categorized hierarchically:
![Page 67: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/67.jpg)
Concluding Remarks
–General-purpose optimizations, that enable customization of middleware across different product-variants,
–Configuration-driven optimizations, that enable selection of right configurations for different variants to maximize QoS
GENERAL PURPOSE OPTIMIZATIONS
VirtualComponent
PatternPatterns
OptimizationPatterns
CONFIGURATION DRIVENOPTIMIZATIONS
MDDTechniques
SkollDesign of
Experiments
APPLICATION DRIVENOPTIMIZATIONS
CORBARequestHeader
PrefetchSkeleton
MarshalingElimination
SP
EC
IFIC
ITY
ReactorSpecialization
ProtocolSpecialization
• Research focus can be categorized hierarchically:
• This proposal outlined current & future trends in building customizable middleware for product-line architectures
• It also motivated the need for a continuum of optimizations to address & enhance application QoS
![Page 68: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/68.jpg)
Concluding Remarks
–General-purpose optimizations, that enable customization of middleware across different product-variants,
–Configuration-driven optimizations, that enables selection of right configurations for different variants &
–Partial Specialization optimizations, that will customize middleware according to application invariants
GENERAL PURPOSE OPTIMIZATIONS
VirtualComponent
PatternPatterns
OptimizationPatterns
CONFIGURATION DRIVENOPTIMIZATIONS
MDDTechniques
SkollDesign of
Experiments
APPLICATION DRIVENOPTIMIZATIONS
CORBARequestHeader
PrefetchSkeleton
MarshalingElimination
SP
EC
IFIC
ITY
ReactorSpecialization
ProtocolSpecialization
• Research focus can be categorized hierarchically:
• This proposal outlined current & future trends in building customizable middleware for product-line architectures
• It also motivated the need for a continuum of optimizations to address & enhance application QoS
![Page 69: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/69.jpg)
Summary of Research Contributions
Area Contributions
General-purpose optimization techniques
• Patterns & techniques for developing fine-grain componentized middleware architectures
• Policy-driven middleware customization approaches
Configuration-driven optimization techniques
• Domain-specific modeling language (DSML) to capture QoS evaluation concerns for component middleware & PLAs
Partial-specialization optimization techniques
• FOCUS: A tool-driven approach for middleware specialization
Preserving & validating middleware configuration properties
• MDD Distributed Continuous Quality Assurance (DCQA) process for preserving & validating middleware configuration properties
• Main-effects screening, which is a DCQA process for identifying middleware configuration main effects
![Page 70: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/70.jpg)
Summary of PublicationsContributions My Publications & Acceptance rates
Fine-grain Componentization of Middleware Architecture
1. Book Chapter: Middleware for Communications, Wiley, NY, 2004
2. International Conference on Distributed Systems (ICDCS) 2004 (17%)
3. Real-time Application Symposium (RTAS) 2003 (25%)
4. Distributed Objects & Applications (DOA) 2002 (25%)
5. Distributed Objects & Applications (DOA) 2003 (30%)
Middleware Configuration validation & selection
6. International Conference on Software Engineering (ICSE) 2005 (10-15%)
7. RTAS 2005 (30 %)
8. International Conference on Software Reuse (ICSR) (22%)
9. Elsevier Science of Computer Programming,
10. International Journal of Embedded Systems (Invited submission)
11. IEEE Software
12. Studia Infomatica Universalis Journal
Benchmarking & Performance evaluation
11. Real-time Application Symposium (RTAS) 2004 (27%) (Selected as Best of RTAS 2004)
12. Springer-Verlag Real-time Systems Journal
First Author Second Author Third Author
![Page 71: OPTEML: Optimization Techniques for Enhancing Middleware Quality of Service for Product-line Architectures Arvind S. Krishna arvindk@dre.vanderbilt.edu](https://reader036.vdocuments.net/reader036/viewer/2022062301/56649ea95503460f94bae1b3/html5/thumbnails/71.jpg)
Questions?