Włodzimierz Funika 1, Marian Bubak 1,2, Marcin Smętek 1 and Roland Wismüller 3 1 Institute of Computer Science, AGH, Kraków, Poland 2 Academic Computer.

Slides:



Advertisements
Similar presentations
Institute of Computer Science AGH Towards Multilanguage and Multiprotocol Interoperability: Experiments with Babel and RMIX Maciej Malawski, Daniel Harężlak,
Advertisements

Grzegorz Wianecki, Mateusz Wójcik, Włodzimierz Funika, Marcin Smętek 1 Institute of Computer Science AGH, Mickiewicza 30, Kraków, Poland 2 Academic.
Włodzimierz Funika, Marcin Białek, Piotr Pęgiel, Marcin Smętek Institute of Computer Science AGH, Mickiewicza 30, Kraków, Poland A Case Study of.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Remote Method Invocation
The road to reliable, autonomous distributed systems
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
How Does Remote Method Invocation Work? –Systems that use RMI for communication typically are divided into two categories: clients and servers. A server.
JADE Java Agent Development Framework An Overview.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Sameer Shende, Allen D. Malony Computer & Information Science Department Computational Science Institute University of Oregon.
Institute of Computer Science AGH Performance Monitoring of Java Web Service-based Applications Włodzimierz Funika, Piotr Handzlik Lechosław Trębacz Institute.
Advanced RMI Programming RMI Callbacks © Usman Saleem -
Cracow Grid Workshop 2003 Institute of Computer Science AGH A Concept of a Monitoring Infrastructure for Workflow-Based Grid Applications Bartosz Baliś,
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Environment for Management of Experiments on the Grid Master of Science Thesis AGH University of Science and Technology, Krakow, Poland Faculty of Electrical.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Advanced Grid-Enabled System for Online Application Monitoring Main Service Manager is a central component, one per each.
CGW 2003 Institute of Computer Science AGH Proposal of Adaptation of Legacy C/C++ Software to Grid Services Bartosz Baliś, Marian Bubak, Michał Węgiel,
The Old World Meets the New: Utilizing Java Technology to Revitalize and Enhance NASA Scientific Legacy Code Michael D. Elder Furman University Hayden.
Introduction - What is Jini Technology?
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
DCS Overview MCS/DCS Technical Interchange Meeting August, 2000.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
J-OCM is a system for monitoring distributed Java applications conforming to OMIS specification with J-OMIS extensions. It is used to: gather information.
+ A Short Java RMI Tutorial Usman Saleem
Ramiro Voicu December Design Considerations  Act as a true dynamic service and provide the necessary functionally to be used by any other services.
Lechoslaw Trębacz 1, Włodzimierz Funika 2, Piotr Handzlik 3, Marcin Smętek 2 1 Department of Computer Methods in Metallurgy, AGH, Kraków, Poland 2 Institute.
Multithreading in Java Project of COCS 513 By Wei Li December, 2000.
In each iteration macro model creates several micro modules, sends data to them and waits for the results. Using Akka Actors for Managing Iterations in.
A Proposal of Application Failure Detection and Recovery in the Grid Marian Bubak 1,2, Tomasz Szepieniec 2, Marcin Radecki 2 1 Institute of Computer Science,
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Experience with the OpenStack Cloud for VPH Applications Jan Meizner 1, Maciej Malawski 1,2, Piotr Nowakowski 1, Paweł Suder 1, Marian Bubak 1,2 AGH University.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
OMIS Approach to Grid Application Monitoring Bartosz Baliś Marian Bubak Włodzimierz Funika Roland Wismueller.
High Level Architecture (HLA)  used for building interactive simulations  connects geographically distributed nodes  time management (for time- and.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
EC-project number: Universal Grid Client: Grid Operation Invoker Tomasz Bartyński 1, Marian Bubak 1,2 Tomasz Gubała 1,3, Maciej Malawski 1,2 1 Academic.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Jini Architecture Introduction System Overview An Example.
ProActive components and legacy code Matthieu MOREL.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Application Communities Phase II Technical Progress, Instrumentation, System Design, Plans March 10, 2009.
PPDG February 2002 Iosif Legrand Monitoring systems requirements, Prototype tools and integration with other services Iosif Legrand California Institute.
High Level Architecture (HLA)  used for building interactive simulations  connects geographically distributed nodes  time management (for time- and.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Università di Perugia Enabling Grids for E-sciencE Status of and requirements for Computational Chemistry NA4 – SA1 Meeting – 6 th April.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
Marian Bubak 1,2, Włodzimierz Funika 1,2, Roland Wismüller 3, Tomasz Arodź 1,2, Marcin Kurdziel 1,2 1 Institute of Computer Science, AGH, Kraków, Poland.
Remote Method Invocation A Client Server Approach.
Java Distributed Object Model A remote object is one whose methods can be invoked from another JVM on a different host. It implements one or more remote.
Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center Poznan, Poland EGEE’07, Budapest, Oct.
UCI Large-Scale Collection of Application Usage Data to Inform Software Development David M. Hilbert David F. Redmiles Information and Computer Science.
Mobile Analyzer A Distributed Computing Platform Juho Karppinen Helsinki Institute of Physics Technology Program May 23th, 2002 Mobile.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Chapter 5 Remote Procedure Call
Remote Method Invocation
#01 Client/Server Computing
PROCESS - H2020 Project Work Package WP6 JRA3
Calypso Service Architecture
#01 Client/Server Computing
Presentation transcript:

Włodzimierz Funika 1, Marian Bubak 1,2, Marcin Smętek 1 and Roland Wismüller 3 1 Institute of Computer Science, AGH, Kraków, Poland 2 Academic Computer Center – CYFRONET AGH, Kraków, Poland 3 Fachgruppe BVS – Universitaet Siegen, Segen, Germany 1.Introduction Performance evaluation of RMI calls involves the analysis of RMI structure and communication. RMI’s key points from the viewpoint of performance analysis are: RMI call start/end on the client side, RMI call start/end on the server side, information stored in RMI registry. 2. Goals We aim at building a comprehensive tool support for distributed Java application by providing uniformed, extensible monitoring facilities to understand an application’s behaviour. This concept had been incorporated into the J-OCM monitoring system, complying to the OMIS (On-line Monitoring Interface Specification). RMI-based distributed application J-OCM Server Registry Invoke Method Register Object Lookup Object Client Tool 3. General Architecture Concept Node Distribution Unit Client.class Agent Local Monitor sun.rmi.* Node JVM Server.class Agent Local Monitor sun.rmi.* Node JVM transport 7. Implementation 4. Approach to the Monitoring of RMI calls The approach we used for monitoring RMI calls in the J-OCM relies on modification of two classes from sun.rmi package: 1. sun.rmi.UnicastServerRef 2. sun.rmi.UnicastRef Communication between instrumented package and J-OCM is enabled with JNI (Java Native Interface) and native Agent (library loaded to JVM). A call of a function with JNI causes notification of the event to the J-OCM. 5. RMI calls identification The problem of associating the events raised by the client and those raised by the server can be solved by sending additional information (rmi_id, token of thread-initiator) from the client to the server. The tool visualizes interaction between clients and servers in two example RMI calls with space-time diagram Captured RMI-bound events are mapped into relevant time intervals which enable to observe time spent in RMI execution phases The tool visualizes interaction between clients and servers in two example RMI calls with space-time diagram Captured RMI-bound events are mapped into relevant time intervals which enable to observe time spent in RMI execution phases 8. Start-up procedure In order to start the monitoring of an Java RMI application we must perform following commands: java –Xbootclasspath/p:$INSTRUMENTED_CLASS_DIR -Xdebug -XrunAgent Server java –Xbootclasspath/p:$INSTRUMENTED_CLASS_DIR –Xdebug -XrunAgent Client Afterwards, monitoring Agents will register the launched JVM in its Local Monitor to make them visible for tools. Since that moment any tool can get monitoring information about RMI calls. 9. References 1.R. Wismüller, J. Trinitis and T. Ludwig: A Universal Infrastructure for the Run-time Monitoring of Parallel and Distributed Applications. In: Proc. Euro-Par'98, Southampton, UK, LNCS 1470, pp , Springer, M. Bubak, W. Funika, M.Smetek, Z. Kilianski, and R. Wismüller: Architecture of Monitoring System for Distributed Java Applications. In: Dongarra, J., Laforenza, D., Orlando, S. (Eds.), Proc. Euro PVM/MPI 2003, Venice, Italy, Sept Oct , LNCS 2840, pp , Springer, Role of tokens An every monitored object (node, jvm) is identified by token – object’s name as well as a platform independent way of addressing, e.g. the thread token t_1_j_1_n_1 allows to find out where it is running (thread 1 on JVM 2, on node 1). rmi_invoke_start rmi_result_send rmi_dispatch_start rmi_execution_end rmi_execution_start rmi_request_receive rmi_result_receive rmi_invoke_end