A framework for the development of wide area distributed applications

The growth in popularity of the World Wide Web has resulted in the development of a new generation of tools tailored to Internet computing activities. Prominent examples include the Java programming language and Java capable Web browsers. These Web spinoffs are having a profound impact on the field of distributed computing. Whereas distributed computing the traditionally focused on improving the functionality of local clusters of computers, technology is progressing such that wide area computing networks are now becoming a popular target environment for research in distributed computing. With wide area distributed computing environments, geographically distributed resources such as workstations, personal computers, supercomputers, graphic rendering engines, and scientific instruments will be available for use in a seamless fashion by parallel applications. Many envision that it will be possible to transport application code to remote sites in the wide area virtual computer where it may be executed in the presence of needed resources. The area of research devoted to bringing this vision to reality in the context of scientific applications is referred to as metacomputing. Metacomputing environments are useful for a variety of distributed and parallel applications, particularly those which need access to remote resources or applications that are able to effectively utilize a substantial number of computing resources that the Internet may easily provide. Moreover, other wide area distributed computing domains such as electronic commerce home service applications require more advanced capabilities than those provided by a standard web browser. Such capabilities must address issues such as heterogeneity, object sharing, and failure resilience in wide area environments. In this thesis, we investigate the design and implementation of a Java based middleware infrastructure system to enable wide area applications. We then provide an empirical evaluation of our prototype system for local area, wide area, and home service network environments. We also illustrate the system's ability to support the development of several classes of application domains which include electronic commerce home service applications, failure resilient scientific applications, and traditional computer supported cooperative work applications. Finally, we present a design for the monitoring and visual presentation of activities associated with wide area distributed computing.

[1]  David L. Tennenhouse,et al.  The ACTIVE IP option , 1996, EW 7.

[2]  Paolo Ciancarini,et al.  Using the web to coordinate distributed applications , 1996, EW 7.

[3]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[4]  M. Hill,et al.  Weak ordering-a new definition , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[5]  Marvin Theimer,et al.  Session guarantees for weakly consistent replicated data , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[6]  Vaidy S. Sunderam,et al.  PVaniM: a tool for visualization in network computing environments , 1998, Concurr. Pract. Exp..

[7]  Henri Casanova,et al.  NetSovle: A Network Server for Solving Computational Science Problems , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[8]  John T. Stasko,et al.  The Dual Timestamping Methodology for Visualizing Distributed Application Behavior , 1997, Euro-PDS.

[9]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[10]  John T. Stasko,et al.  Integrating visualization support into distributed computing systems , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[11]  Alan L. Cox,et al.  Java/DSM: A Platform for Heterogeneous Computing , 1997, Concurr. Pract. Exp..

[12]  Daniela Rus,et al.  Transportable agents support worldwide applications , 1996, EW 7.

[13]  Ranieri Baraglia,et al.  Integrating PVaniM int WAMM for Monitoring Meta-Applications , 1997, PVM/MPI.

[14]  Umakishore Ramachandran,et al.  Coherence of Distributed Shared Memory: Unifying Synchronization and Data Transfer , 1989, International Conference on Parallel Processing.

[15]  Karsten Schwan,et al.  Indigo: user-level support for building distributed shared abstractions , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[16]  Michael T. Heath,et al.  The Visual Display of Parallel Performance Data , 1995, Computer.

[17]  Eric A. Brewer,et al.  ATLAS: an infrastructure for global computing , 1996, EW 7.

[18]  Robbert van Renesse,et al.  Supporting broad internet access to TACOMA , 1996, EW 7.

[19]  Allen D. Malony,et al.  Traceview: a trace visualization tool , 1991, IEEE Software.

[20]  Henri E. Bal,et al.  Experience with distributed programming in Orca , 1990, Proceedings. 1990 International Conference on Computer Languages.

[21]  Andrew S. Grimshaw,et al.  Legion: flexible support for wide-area computing , 1996, EW 7.

[22]  Geoffrey C. Fox,et al.  WebWork: Integrated Programming Environment Tools for National and Grand Challenges , 1995 .

[23]  James E. Pitkow,et al.  Emerging trends in the WWW user population , 1996, CACM.

[24]  Eileen Kraemer,et al.  A Methodology for Building Application-Specific Visualizations of Parallel Programs , 1993, J. Parallel Distributed Comput..

[25]  Karsten Schwan,et al.  Falcon: on-line monitoring and steering of large-scale parallel programs , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

[26]  David Notkin,et al.  Voyeur: graphical views of parallel programs , 1988, PADD '88.

[27]  Vaidy S. Sunderam,et al.  IceT: Distributed Computing and Java , 1997, Concurr. Pract. Exp..

[28]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.

[29]  M. Frans Kaashoek,et al.  Rover: a toolkit for mobile information access , 1995, SOSP.

[30]  J. Geisler,et al.  Multimethod Communication for High-Performance Metacomputing Applications , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[31]  David Black,et al.  Visualizing System Behavior , 1991, ICPP.

[32]  Vernon Rego,et al.  EcliPse: A system for high performance concurrent simulation , 1991, Softw. Pract. Exp..

[33]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[34]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, ISCA '90.

[35]  Brian K. Schmidt,et al.  Empirical analysis of overheads in cluster environments , 1994, Concurr. Pract. Exp..

[36]  Laura Lemay,et al.  Teach Yourself Java in 21 Days , 1996 .

[37]  Emden R. Gansner,et al.  A Technique for Drawing Directed Graphs , 1993, IEEE Trans. Software Eng..

[38]  Michael T. Heath,et al.  Visualizing the performance of parallel programs , 1991, IEEE Software.

[39]  Jian Wang,et al.  TRACEVIEWER: A GRAPHICAL BROWSER FOR TRACE ANALYSIS , 1990 .

[40]  K. Mani Chandy,et al.  A world-wide distributed system using Java and the Internet , 1996, Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing.

[41]  Edward R. Tufte,et al.  Envisioning Information , 1990 .

[42]  David K. Gifford,et al.  Remote evaluation , 1990, TOPL.

[43]  John T. Stasko,et al.  PVaniM: a tool for visualization in network computing environments , 1998, Concurr. Pract. Exp..

[44]  Ben Shneiderman,et al.  Image-Browser Taxonomy and Guidelines for Designers , 1995, IEEE Softw..

[45]  Michael T. Heath,et al.  Parallel performance visualization: from practice to theory , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

[46]  Tim Brecht,et al.  ParaWeb: towards world-wide supercomputing , 1996, EW 7.

[47]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

[48]  Dejan S. Milojicic,et al.  Towards a world-wide civilization of objects , 1996, EW 7.

[49]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[50]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[51]  Alan L. Cox,et al.  Lazy release consistency for software distributed shared memory , 1992, ISCA '92.

[52]  Brian N. Bershad,et al.  Midway : shared memory parallel programming with entry consistency for distributed memory multiprocessors , 1991 .

[53]  Eileen Kraemer,et al.  The Visualization of Parallel Systems: An Overview , 1993, J. Parallel Distributed Comput..

[54]  Luca Cardelli,et al.  Migratory applications , 1995, UIST '95.

[55]  Mark D. Hill,et al.  Weak ordering—a new definition , 1998, ISCA '98.

[56]  H. Casanova,et al.  Netsolve : A Network Server for Solve Computational Science Problems , 1997 .