Presentation is loading. Please wait.

Presentation is loading. Please wait.

A survey of implementations of Java-based distributed systems Glenn Matthews May 8, 2006.

Similar presentations


Presentation on theme: "A survey of implementations of Java-based distributed systems Glenn Matthews May 8, 2006."— 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.phphttp://www.cs.may.ie/distributed/publications.php Haumacher, B. JavaParty Setup, http://www.ipd.uka.de/JavaParty/setup.html, retrieved April 29, 2006.http://www.ipd.uka.de/JavaParty/setup.html 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 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/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 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 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.http://java.sun.com/products/rmi-iiop/


Download ppt "A survey of implementations of Java-based distributed systems Glenn Matthews May 8, 2006."

Similar presentations


Ads by Google