CCMPerf: A benchmarking tool for CORBA Component Model Implementations Arvind S. Krishna, Douglas C. Schmidt et.al Institute for Software Integrated Systems.

Slides:



Advertisements
Similar presentations
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Advertisements

A component- and message-based architectural style for GUI software
Automatic Verification of Component-Based Real-Time CORBA Applications Gabor Madl Sherif Abdelwahed
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Tutorial on the Lightweight CORBA Component Model (CCM) Industrializing the Development of Distributed Real- time & Embedded Applications Other contributors.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Investigating Lightweight Fault Tolerance Strategies for Enterprise Distributed Real-time Embedded Systems Tech-X Corporation Boulder, Colorado Vanderbilt.
Ch 12 Distributed Systems Architectures
Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Gabor Madl
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Course Instructor: Aisha Azeem
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay Aniruddha Gokhale, Douglas Schmidt
Model Driven Quality Assurance Techniques for DRE Applications Arvind S. Krishna & Emre Turkay Andy Gokhale, Douglas C. Schmidt Institute for Software.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Model Driven Techniques for Evaluating QoS of Middleware Configurations Arvind S. Krishna, Emre Turkay Andy Gokhale, & Douglas C. Schmidt Institute for.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
An Introduction to Software Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
RepoMan A Component Repository Manager for Enterprise DRE Systems Stoyan Paunov & Douglas C. Schmidt Vanderbilt University Institute for Software Integrated.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
HPEC’02 Workshop September 24-26, 2002, MIT Lincoln Labs Applying Model-Integrated Computing & DRE Middleware to High- Performance Embedded Computing Applications.
Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Dr. Douglas C. Schmidt, Dr. Aniruddha S. Gokhale, Bala Natarajan, Jeff Parsons, Tao Lu, Boris Kolpackov, Krishnakumar Balasubramanian, Arvind Krishna,
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Chris Gill Department of Computer Science and Engineering Washington University, St. Louis
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
Celluloid An interactive media sequencing language.
Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.
Distributed Components for Integrating Large- Scale High Performance Computing Applications Nanbor Wang, Roopa Pundaleeka and Johan Carlsson
OOPSLA Oct Towards a Pattern Language for NEST Middleware Venkita Subramonian & Chris Gill, Washington University, St.Louis David Sharp, The Boeing.
Domain-Specific Modeling Languages for Configuring and Evaluating Enterprise DRE System Quality of Service Stoyan G. Paunov, James H. Hill, Douglas C.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale ISIS, Dept.
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
August 20, 2002 Applying RT-Policies in CORBA Component Model Nanbor Wang Department of Computer Science Washington University in St. Louis
Model-Driven Optimizations of Component Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems OMG Real-time Workshop.
Toward a Distributed and Parallel High Performance Computing Environment Johan Carlsson and Nanbor Wang Tech-X Corporation Boulder,
A Vision for Integration of Embedded System Properties Via a Model-Component-Aspect System Architecture Christopher D. Gill Department.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Data Sharing Service Kiran Devaram Samatha Gangapuram Harish Maringanti Prashant Shanti Kumar Pradeep Tallogu.
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Aniruddha Gokhale, Tao Lu, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Tao Lu, Aniruddha Gokhale, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Towards a Real-time CORBA Component Model
CORBA Alegria Baquero.
QoS-Enabled Middleware
Transparent Adaptive Resource Management for Middleware Systems
Ch > 28.4.
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Applying Domain-Specific Modeling Languages to Develop DRE Systems
CORBA Alegria Baquero.
Tools for Composing and Deploying Grid Middleware Web Services
Transparent Adaptive Resource Management for Middleware Systems
Presentation transcript:

CCMPerf: A benchmarking tool for CORBA Component Model Implementations Arvind S. Krishna, Douglas C. Schmidt et.al Institute for Software Integrated Systems (ISIS) {arvindk, Gautam Thaker Lockheed Martin Advanced Technology Labs Nanbor Wang Tech X. Corporation Diego Sevilla Ruiz University of Murcia, Spain

Talk Outline Technology Trends – Motivation for CCMPerf CCMPerf Benchmark Design Experimentation Categories Metrics Gathered Experimentation Results (Distribution overhead results) Generative Focus for Benchmark Synthesis Benchmark Generation Modeling Language Modeling Avionics Scenario using BGML Concluding Remarks & Future Work

Technology Trends – Commoditization Information technology is being commoditized i.e., hardware & software are getting cheaper, faster, & (generally) better at a fairly predictable rate Growing acceptance of a network-centric component paradigm i.e., distributed applications with a range of QoS needs are constructed by integrating components & frameworks via various communication mechanisms These advances stem largely from standard hardware & software APIs, network protocols, and middleware

Technology Trends – Component Middleware Components encapsulate application “business” logic Components interact via ports Provided interfaces, e.g., facets Required connection points, e.g., receptacles Event sinks & sources Attributes Containers provide execution environment for components with common operating requirements Components/containers can also Communicate via a middleware bus and Reuse common middleware services Component middleware is maturing & becoming pervasive SecurityReplicationNotificationPersistence SchedulingA/V StreamingLoad Balancing … Container … … Middleware Bus Container …

Technology Trends – Motivation for CCMPerf Component middleware is increasingly used to build large scale applications, CCM Implementations also increase Open-Source/GPL versions: –CIAO – Washington Univ. St Louis & Vanderbilt Univ. –MICO-CCM – MICO ORB CCM Implementation –StarCCM – China Commercial versions: –K2 – ICMG Corporation, Bangalore, India However, no body of knowledge to analyze the following: –Suitability  how suitable is the CCM implementation for DRE applications in a particular domain, such as avionics, total ship computing, or telecom? –Quality  How good is the CCM implementation? For example, in the DRE domain, is the implementation predictable –Correctness  Does the implementation correspond to the OMG specification portability and interoperability requirements?

Talk Outline

Design of CCMPerf Challenges Heterogeneity in implementations  header files, descriptor files different Difference in the domain of application  use cases change e.g. CIAO tailored towards DRE applications Heterogeneity in software configuration options  Different implementations provide different knobs to fine tune performance Benchmark experimentation categories Distribution Middleware Benchmarks  quantify the overhead of CCM-based applications relative to normal CORBA Common Middleware Services Benchmarks  quantify suitability of different implementations of common CORBA services Domain Specific Benchmarks  tests that quantify the suitability of CCM implementations to meet the QoS requirements of a particular DRE application domain

Developing Metrics (1/2) Black-box related Metrics Round-trip latency measures, response time for a two-way operation Throughput, the number of events per second at client Jitter, the variance in round-trip latency Collocation performance, which measures response time and throughput when a client and server are in the same process Data copying overhead, which compares the variation in response time with an increase in request size CCMPerf measures each of these metrics in single-threaded and multi-threaded configurations on both servers and clients. Metrics Gathered in each Benchmark category Every benchmarking category of experiments has white box and black box related metrics

Developing Metrics (2/2) White-box related metrics Functional path analysis identify CCM layers that are above the ORB and adds instrumentation points to determine the time spent in those layers. Lookup time analysis measure the variation in lookup time for certain operations, such as finding component homes, obtaining facets, etc Context switch times measure the time required to interrupt the currently running thread and switch to another thread in multi-threaded implementations. ExperimentationWhite-box metricsBlack-box metrics Distribution MiddlewareFunctional path & Jitter Throughput, latency foot-print & collocation Common Middleware services Jitter Analysis Context switch times Throughput, latency & collocation Domain specific benchmarksQoS specific measuresLatency, throughput & Jitter

Distribution Middleware Benchmarks (1/4) Overview Four cases in which Component middleware can be mixed and matched with DOC middleware. Measure simple two way round-trip latency – TAO-CIAO (A CORBA 2.x server with a CCM Client) – TAO-TAO (CORBA 2.x client and Server) – CIAO-TAO (CCM Server with a CORBA 2.x Client) – CIAO-CIAO (CCM Client and Server) Result Synopsis –Average Measures: Comparable results for all four cases (Overhead added by CCM ~ 8  s) –Dispersion Measures: Dispersion measures in the same rage (DOC middleware ~ 4.5 vs. CCM 5.2) –Worst-Case Measures: Use of CCM does not sacrifice predictability Use of Component Middleware does not unduly degrade performance of applications Average overhead added by CIAO is ~ 5.3 % Use of Component Middleware does not unduly degrade performance of applications Average overhead added by CIAO is ~ 5.3 %

Distribution Middleware Benchmarks (2/4) Collocated Case – Both client and server in the same Address Space Compare TAO-TAO vs. CIAO-CIAO case Avg latency overhead imparted by CIAO ~ 0.8  s Dispersion measures indicate that CIAO does not degrade predictability by increasing jitter. Same for Worst-case measures Throughput measured at client at event/sec Remote Case TAO-TAO vs. CIAO-CIAO case, overhead added by CIAO ~ 5.6% Collocated Case TAO-TAO vs. CIAO-CIAO case overhead added by CIAO ~ 12 %

Distribution Middleware Benchmarks (3/4) Overview Measure data-copying overhead for both TAO CIAO By exponentially increasing message size check if CIAO incurs any additional data copying overhead than TAO Result Synopsis – Average Measures: CIAO does not incur any additional overhead for all cases –Dispersion Measures: Though dispersion increases with increase in buffer size, CIAO does not add any additional overhead –Worst-Case Measures: Show a trend similar to that of TAO Black box metrics show that use of CIAO does not unduly degrade performance or predictability for applications using Component middleware

Distribution Middleware Benchmarks (4/4) Overview Measure the time spent in the Component Middleware layer during a normal request processing Measured via using internal timers in the ORB Core Result Synopsis – Average Measures: Latency for normal servant upcall CIAO adds ~ 1.5  s overhead –Dispersion Measures: Comparable dispersion indicates the overhead does not unduly sacrifice predictability –Worst-Case Measures: Comparable worst-case measures White-box latency metrics indicate that time spent in the Component layer is ~ 1.5  s over a normal CORBA upcall processing time. This overhead is incurred by an additional indirection needed to go from the servant to the executor implementation.

Talk Outline

Generative Software Techniques Lessons Learned –Writing benchmark/test cases is tedious and error-prone For each test one needs to write IDL files, Component IDL files, Executor IDL files, Executor implementation files, Script files for experiment set-up teardown and finally Makefiles!! –These have to be carried out for each and every experiment for every scenario, reduces productivity –Source code not the right abstraction to visualize these experiments Generative Programming Techniques –Need to develop tools to auto-generate these benchmarks from higher level models –Provide a Domain-Specific (CCM) modeling framework to visually model an interaction scenario –Interpreters, then synthesize required benchmarking code from the models

Generic Modeling Environment (GME) Tool Developer (Metamodeler) –GME used to develop a domain-specific graphical modeling environment –Define syntax, static semantics, & visualization of the environment –Semantics implemented via interpreters Application Developer (Modeler) –Uses a specific modeling environment (created by metamodeler w/GME) to build applications –The interpreter produces something useful from the models e.g., code, simulations, configurations

Benchmark Generation Modeling Language BGML Motivation Provide a model-driven tool-suite to empirically evaluate and refine configurations to maximize application QoS BGML Workflow 1.End-user composes the scenario in the BGML modeling paradigm 2.Associate QoS properties with this scenario, such as latency, throughput or jitter 3.Synthesize the appropriate test code to run the experiment and measure the QoS 4.Feed-back metrics into models to verify if system meets appropriate QoS at design time The tool enables synthesis of all the scaffolding code required to set up, run, and tear-down the experiment. Using BGML tool it is possible to synthesize : Benchmarking code Component Implementation code IDL and Component IDL files The tool enables synthesis of all the scaffolding code required to set up, run, and tear-down the experiment. Using BGML tool it is possible to synthesize : Benchmarking code Component Implementation code IDL and Component IDL files

BGML – Use Case (1/2) BGML used to determine the configuration settings for the individual components to achieve the QoS required for this scenario Boeing’s BasicSP Scenario Navigation Display – displays GPS position updates GPS Component – generates periodic position updates Airframe Component – processes input from the GPS component and feeds to Navigation display Trigger Component – generates periodic refresh rates Step1: Model Component Interaction using BGML Paradigm Step2: Configure each Component associating the appropriate IDL interfaces

BGML – Use Case (2/2) Step3: Associate Operations with the Component Ports Step4: Associate QoS metrics to measure in the scenario void start_time_probe () { if (!timer_count) test_start = ACE_OS::gethrtime (); start_timer_probe = ACE_OS::gethrtime (); } void stop_time_probe () { finish_timer_probe = ACE_OS::gethrtime (); history.sample (finish_timer_probe - start_timer_probe); if (++ timer_count == niterations) { test_end = ACE_OS::gethrtime (); ACE_DEBUG ((LM_DEBUG, "test finished\n")); ACE_Throughput_Stats::dump_throughput ("Total", gsf, test_end - test_start, stats.samples_count ()); } Code Generation Metrics BGML allows generation of ~ 80% of all the required files to enact the scenario. Code Generation Metrics BGML allows generation of ~ 80% of all the required files to enact the scenario.

Talk Outline

Concluding Remarks & Future Work In this presentation we described the design of CCMPerf, an open-source benchmark suite for CCM implementations –Applied CCMPerf to CIAO component middleware to quantify overhead –Next steps to benchmark Mico-CCM, Qedo –Have performance pages for these Component middleware implementations Services Benchmark include metrics for Real-time Event Channel integration into CIAO. Domain Specific Benchmarks –Real-time CCM integration in CIAO CCMPerf download from BGML part of CoSMIC tool-suite