1 / 1

Włodzimierz Funika 1 , Marian Bubak 1,2 , Marcin Smętek 1 and Roland Wism ü ller 3

Tool. J-OCM. Server. Client. Register Object. Invoke Method. Registry. Client. Lookup Object. RMI-based distributed application. Node Distribution Unit. Local Monitor. Local Monitor. Agent. Agent. sun.rmi.*. sun.rmi.*. Server .class. Client.class.

halen
Download Presentation

Włodzimierz Funika 1 , Marian Bubak 1,2 , Marcin Smętek 1 and Roland Wism ü ller 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tool J-OCM Server Client Register Object Invoke Method Registry Client Lookup Object RMI-based distributed application Node Distribution Unit Local Monitor Local Monitor Agent Agent sun.rmi.* sun.rmi.* Server.class Client.class Processing RMI Calls in the J-OCM Monitoring System Włodzimierz Funika1, Marian Bubak1,2, Marcin Smętek1 and Roland Wismüller3 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. 6. 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). 7. Implementation • 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 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_invoke_start rmi_request_receive rmi_dispatch_start rmi_result_receive 3. General Architecture Concept rmi_execution_end rmi_result_send rmi_execution_start rmi_invoke_end Node Node transport JVM JVM 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: sun.rmi.UnicastServerRef 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. 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. 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 . 9. References 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. 173-180, Springer, 1998 2. 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. 29 - Oct. 2 2003, LNCS 2840, pp. 447-454, Springer, 2003

More Related