Performance Management 1 Performance, Scalability and Management  Topic  Refining the object model  Threading models  Distributed callbacks  Iterators.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

COM vs. CORBA.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
CORBA - Common Object Request Broker Architecture.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
A DAPT IST Replication Framework: Progress Report Vance Maverick University of Bologna Dec. 11, 2003.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Remote Object Invocation
ASP.Net, web services--- asynchronous and synchronous and AJAX By Thakur Rashmi Singh.
Persistent State Service 1 Performance, Scalability and Management  Topic  Refining the object model  Threading models  Distributed callbacks  Iterators.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
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)
A First Java ORB Application 1  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces  Interface Definition.
Middleware Technologies compiled by: Thomas M. Cosley.
Brief Overview of.NET Remoting.NET Remoting is a Java RMI-like remote method invocation mechanism Infrastructure of.NET Remoting is highly customizable.
Constructing Reliable Software Components Across the ORB M. Robert Rwebangira Howard University Future Aerospace Science and Technology.
Communication in Distributed Systems –Part 2
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
Lecture 8 Epidemic communication, Server implementation.
Lesson 3 Remote Method Invocation (RMI) Mixing RMI and sockets Rethinking out tic-tac-toe game.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
CORBA Programming Using ACE/TAO
Client/Server Software Architectures Yonglei Tao.
Common Object Request Broker Architecture CORBA. RMI is a simplified version of CORBA that does fairly well CORBA is all-singing and all-dancing Multiple.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
CORBA Celsina Bignoli Enterprise Computing Corporation have similar computing environments: –mixed set of HW platforms –a mixed set.
1 G52IWS: Distributed Computing Chris Greenhalgh.
SALSA: Language and Architecture for Widely Distributed Actor Systems. Carlos Varela, Abe Stephens, Department of.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
Distributed Real- Time in the RTSJ Andrew Borg. Presentation RMI – A brief introduction The RTSJ – A (very) brief introduction The DRTSJ – The 3 Levels.
1 Java RMI G53ACC Chris Greenhalgh. 2 Contents l Java RMI overview l A Java RMI example –Overview –Walk-through l Implementation notes –Argument passing.
New features for CORBA 3.0 by Steve Vinoski Presented by Ajay Tandon.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
Abhishek Bachchan Vishal Patangia
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Update on CORBA Support for Babel RMI Nanbor Wang and Roopa Pundaleeka Tech-X Corporation Boulder, CO Funded by DOE OASCR SBIR.
Shuman Guo CSc 8320 Advanced Operating Systems
Proxy.
Ideas from ARC about the CORBA FL interface Interface ideas learned from K9 and K10 (Lorenzo) CORBA usage and wrapping ideas learned from MIRO (Hans)
OOMI Callbacks. Slide 2 of 11 © Ingeniørhøjskolen i Århus Outline Motivation –Using TTS as example CORBA Callbacks Issues & solutions Alternative solutions.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Enterprise Computing Distribution and components.
.NET Mobile Application Development XML Web Services.
1 Distributed Programming low level: sending data among distributed computations higher level: supporting invocations among distributed computations network.
Proxy Pattern. What’s a Proxy? A remote proxy acts as a local representative of a remote object Remote Object: instantiated in a different JVM heap (a.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
CSE 434: Computer Networks Project Single vs. Per Connection vs. Pooling Threading Techniques Dominic Hilsbos, Dorothy Johnson, Chris Volpe, Andy Wong,
Distributed programming in Java Faculty:Nguyen Ngoc Tu Session 5 - RMI.
ASP.Net ICallback Vijayalakshmi G M Senior Trainer Binary Spectrum.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Advanced Topics in Concurrency and Reactive Programming: Asynchronous Programming Majeed Kassis.
Broker in practice: Middleware
CORBA Alegria Baquero.
Architecture of Software Systems – Lecture 8 Distributed Components, CORBA Martin Rehák.
Interpreter Style Examples
DISTRIBUTED COMPUTING
CORBA Alegria Baquero.
Inventory of Distributed Computing Concepts
Distributed Object-based systems
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Presentation transcript:

Performance Management 1 Performance, Scalability and Management  Topic  Refining the object model  Threading models  Distributed callbacks  Iterators  Client-side cashing  Monitoring performance

Performance Management 2 Refining the Object Model  Functional model  Logical composition of functionality  Independent of actual distribution of objects and infrastructures  Implementation model or design  Association of logical objects with run-time entities

Performance Management 3 Room Booking Application Revisit  “Meeting” from interface to struct  View()  Array of CORBA object references (100 to 600 bytes)  Array of Java objects (~ 100 bytes)  Accessing details of a Meeting  Client makes two CORBA invocations on a remote Meeting object  Client access local Java objects  Booking a meeting  Complex  Create local object and pass it as an argument to a CORBA invocation  Cancel a meeting  Complex  One CORBA invocation

Performance Management 4 Threading Models  Threading in clients  Multithreaded clients Client Server Object Implementation Client ProxyProxy Thread creates, starts delivers results

Performance Management 5 Threading in Servers  How can a server handle hundreds or thousands of concurrent client?  ORB provide automatic mechanisms for multithreaded servers  Single-threaded servers  Thread per connection  Thread per request (thread pools)

Performance Management 6 Single-threaded Server  Place incoming requests in a queue and process only one at a time  Poor performance  Potential of deadlocks (callback on a single-threaded client program) Client Server Object Implementation Client Proxy Client Client Proxy Client Client Proxy Object Adapter Worker thread

Performance Management 7 Thread-per-Connection Servers  Use one worker thread for each network connection Client Server Object Implementation Client Proxy Client Client Proxy Client Client Proxy Object Adapter Worker thread Worker thread Worker thread

Performance Management 8 Thread-per-Request Servers  Use one worker thread for each request  Max num of threads  Threads are returned to the pool after finishing processing requests  Creating thread overhead is minimized  Default model Client Server Object Implementation Client Proxy Client Client Proxy Client Client Proxy Object Adapter Worker thread Worker thread Worker thread Thread Pool

Performance Management 9 Distributed Callbacks  Break a synchronous call that returns some data into a pair of calls, i.e., a request and a response Client Server Object Implementation Client ProxyCallback Object calls delivers results requestresponse module hello { interface Callback { oneway void responseHello(in string str); }; interface GoodDay { oneway void requestHello(in Callback cb); }

Performance Management 10 Iterators  Transmission of large amount of data  Lazy evaluation  Pull and push Client Server Object Implementation Client ProxyIterator Handler calls delivers results initial invocationpull Pull Iterator creates

Performance Management 11 Iterators  Push Client Server Object Implementation Client ProxyIterator Handler calls delivers results initial invocationpush Push Iterator creates

Performance Management 12 Client-Side Caching  Cache data at the client side --- optimize communication  Encapsulate the IDL-generated client proxy in a caching object  Use extensions provided by some ORB implementation Client Proxy Client Cache Proxy Smart Proxy Client Proxy

Performance Management 13 Monitoring Performance  Simple way: write code to take the time and compute the difference on both side  Mixing performance code with other logic  Make performance code conditional  CORBA portable interceptors framework