1 / 17

A survey of implementations of Java-based distributed systems

A survey of implementations of Java-based distributed systems. Glenn Matthews May 8, 2006. Introduction. Ongoing shift from single-box supercomputers to distributed computing raises issues of Cross-platform portability Communication Robustness Adaptability Scalability. Java.

iokina
Download Presentation

A survey of implementations of Java-based distributed systems

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. A survey of implementations of Java-based distributed systems Glenn Matthews May 8, 2006

  2. Introduction • Ongoing shift from single-box supercomputers to distributed computing raises issues of • Cross-platform portability • Communication • Robustness • Adaptability • Scalability

  3. Java • Considered for implementation of distributed systems since its introduction in the late 1990s • Easily portable • Built-in communication methods, including Java RMI • Other possibly useful features

  4. Purpose of this presentation • Look at existing Java distributed systems • Are Java’s special features helpful? • What design/implementation patterns can we see?

  5. Systems reviewed • Unnamed heterogeneous computing system (Keane 2004) • henceforth “HDCS” • JavaParty (Haumacher 2005?) • JAVELIN (Capello et al., 1997) • Parsimony (Preiss and Wan, 1999) • Unnamed conservative DES system (Ferscha and Richter, 1997) • henceforth “CDDS” • IDES (Nicol et al, 1998)

  6. Automatic startup/instantiation • Like what we’ve been considering? • JavaParty • No relevant Java features aid this • Use RSH/SSH for remote login and activation

  7. Manual startup/instantiation • HDCS, JAVELIN • Good for non-dedicated networks • Needs to be easy for end user to do? • JAVELIN: client software as Java applet • Easily launched by connecting with a Web browser • Poses many technical difficulties due to restrictions placed on applets

  8. Robustness/scalability • On dedicated cluster, maybe just assume that network failures and changes won’t happen? (JavaParty) • Else, client-server design is most common • Clients easily join and leave • Failure of client is easily recovered from • Failure of server is only major concern • JAVELIN, HDCS

  9. Communication • Java Remote Method Invocation (RMI) • CDDS, Parsimony, HDCS, JavaParty • Custom HTTP-based or TCP-based protocols • JAVELIN, IDES

  10. Java RMI • Java-only • Allows use of Java-specific features • RMI-IIOP makes it compatible with CORBA • All communication as remote method calls • Can’t stream data easily • HDCS switches to TCP to transfer large blocks of data more efficiently

  11. Java RMI • Allows fully-functional objects (not just data) to be exchanged between systems • Receiver doesn’t need the .class file in advance! • Define interface Simulation on receiver • Any object that implements Simulation can be passed to the receiver and run on-the-fly!

  12. Java RMI • Setup is non-trivial • JavaParty, HDCS build on top of RMI • Use powerful RMI features • Hide RMI complexity from application developer and/or end user

  13. Custom communication protocols • JAVELIN uses HTTP • But then, applets have to! • IDES uses TCP sockets • No clear justification given • “Java makes socket creation and management blessedly simple”

  14. Scalability • Have these systems been shown to scale up to reasonably large networks? • CDDS: 4 processors, 3.5x speedup • HDCS: Up to 60 processors, near-linear speedup • JAVELIN (applet-based?!) • Up to 64 processors, near-linear speedup • Only two-thirds as fast as C implementation • IDES: Up to 56 processors (14 PCS, 4 procs each), near-linear speedup

  15. Comments • Some of these papers little more than “proof of concept” • Good ones: HDCS, JAVELIN, IDES • Therefore, risky to draw conclusions from these papers as to the “best” way to do Java distributed systems • Instead, consider them guidelines and avenues for future exploration

  16. Conclusions • Most of these systems use • Java RMI for communication • Client-server design • Standard automatic or manual instantiation methods, not Java applets • Are these the “best” ways, or just the easiest to implement?

  17. References • Keane, T.M. A General-Purpose Heterogeneous Distributed Computing System, M.Sc. Thesis, Department of Computer Science, National University of Ireland, Maynooth, 2004. http://www.cs.may.ie/distributed/publications.php • Haumacher, B. JavaParty Setup, http://www.ipd.uka.de/JavaParty/setup.html, retrieved April 29, 2006. • Capello, P., Christiansen, B.O., Ionescu, M.F., Neary, M.O., Schauser, K.E., and Wu, D. JAVELIN: Internet-Based Parallel Computing Using Java, ACM Workshop on Java for Science and Engineering Computation, Las Vegas, 1997. http://www.cs.ucsb.edu/projects/javelin/index.html • Preiss, B.R., and Wan, K.W.C. The Parsimony Project: A Distributed Simulation Testbed in Java, Proceedings of the 1999 International Conference on Web-Based Modeling and Simulation, 1999. http://www.brpreiss.com/papers/published/1999/websim/ • Ferscha, A., and Richter, M. Java based conservative distributed simulation, Proceedings of the 1997 Winter Simulation Conference, 1997. http://citeseer.ist.psu.edu/ferscha97java.html • Nicol, D., Johnson, M., Yoshimura, A., and Goldsby, M. IDES: A java-based distributed simulation engine, Proceedings of the MASCOTS, 1998. http://citeseer.ist.psu.edu/nicol98ides.html • Sun Microsystems, Inc. Java RMI over IIOP, http://java.sun.com/products/rmi-iiop/, retrieved April 30, 2006.

More Related