1 / 20

Performance Evaluation of Java RMI

Performance Evaluation of Java RMI. A D istributed Object Architecture for Internet B ased Applications. By Idowu Samuel. samido@student.ltu.se. Paper Information. Department of Computer and Information Sciences University of North Florida Jacksonville

riona
Download Presentation

Performance Evaluation of Java RMI

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. Performance Evaluation of Java RMI A Distributed Object Architecture for Internet Based Applications By Idowu Samuel samido@student.ltu.se

  2. Paper Information • Department of Computer and Information Sciences University of North Florida Jacksonville -Sanjay P. Ahuja & RenatoQuintao • Publication Year: 2000 • Reason for selection: • I Simply got intrigued by the features of RMI • We had a lecture on RMI

  3. Introduction

  4. In the Good Old Days... Distributed applications have been around for some time now and many tools and standards have been used in the past to develop these applications. • Berkeley sockets (BSD Socket API) • Remote Procedure Call(RPC) • Distributed Computing Environment (DCE)

  5. Problems with earlier standards • Use Low-level, data transmission APIs and protocols • sockets programming is tedious • Error prone for implementing complex protocols • All use procedural paradigm which gets very complex when trying to develop distributed applications Distributed Object Systems

  6. Java RMI (Remote Method Invocation) One of the major distributed object systems available today: Java RMI is a Java based approach for distributing objects.

  7. Why evaluate performance of RMI? Since Java RMI is increasingly being used in Internet based applications • Designers of distributed object systems need to be aware of the performance in terms of • response time • services provided • architectural characteristics of RMI

  8. Our Focus? • To Evaluate the performance ofRMIempirically and compares its performance with the Java Sockets API • Evaluates the benefits of RMI to distributed application developers • Insight into the performance aspects and other tradeoffs involved when using the Java RMI distributed object architecture.

  9. Why compare with Java Sockets API? • Sockets have the least overhead as compared to other distributed technologies. • Java based sockets are easy to use

  10. Features of java RMI • Remote object implementations. • Client interfaces, or stubs, to the remote object. • A remote object registry for finding objects on the network. • A network protocol for communication between remote objects and their client (JRMP, i.e. Java Remote Method Protocol). • A facility for automatically creating (activating) remote objects on demand.

  11. Basic RMI architecture • The stub / skeleton layer: provides the interface that client and server application objects use to interact with each other. • Remote reference layer: middleware between the stub/skeleton layer and the underlying transport protocol. • The transport protocol layer: binary data protocol that sends remote object requests over the wire.

  12. Basic RMI architecture (Contd) return parameters method invocation on client Client RMI Client/Server model parameters Server method invocation on server

  13. Basic RMI architecture (Contd) Client Server Stubs Skeletons Remote Reference Remote Reference Transport

  14. Performance Evaluation 2 client-server application was developed using RMIand the Java Sockets API • Both apps were developed and executed on the same Sun workstations running Solaris • The LAN environment was a 100 Mbps Fast Ethernet.

  15. Features of the Server/Client App • multithreaded “database” server that access records • The server performs read and update operations. (common in web-based applications) • response time seen by the user is an important quality of service parameter. • the response time was used as a basis for comparison of the two technologies

  16. Read Operation Result Number of Clients (threads)

  17. Update Operation Result Number of Clients (threads)

  18. Result Discussion • the Socket version of the application has better response times than the RMI version but not by a significant amount. • But this is more than offset when we consider that • RMI offers the fastest development time since no low level protocol design is required

  19. Suggestion &Conclusion • RMI performance is not significantly slower than the Java Sockets version of the same client-server application. • RMI reduces development time significantly • RMI is easier to learn • Integrates into Java applications seamlessly

  20. THANK YOU

More Related