Transparent Migration of Distributed Communicating Processes

A Computing Community is a group of cooperating machines that behave like a single system and runs all general-purpose applications—without any modifications to the shrink-wrapped binary applications or the operating system. In order to realize such a system, we inject a wrapper DLL into an application at runtime that manages the execution of the application and endows it with features such as virtualization and mobility. This paper describes the concept of virtualization, and the mechanism of injection and the implementation of a wrapper DLL. We focus on one kind of applications, those that use sockets to communicate with other processes. We show how these processes can migrate between machines without disrupting the socket communications. We have implemented the software that needs to be injected into the application to enable this feature. Handling more application types is part of the continued research in the Computing Communities project.

[1]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[2]  R. M. Balzer,et al.  Mediating connectors , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[3]  Partha Dasgupta,et al.  Parallel processing on networks of workstations: a fault-tolerant, high performance approach , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[4]  Paul Schuster,et al.  A transparent checkpoint facility on NT , 1998 .

[5]  Amnon Barak,et al.  The MOSIX Distributed Operating System , 1993, Lecture Notes in Computer Science.

[6]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[7]  Jonathan Walpole,et al.  MPVM: A Migration Transparent Version of PVM , 1995, Comput. Syst..

[8]  John K. Bennett,et al.  Brazos: a third generation DSM system , 1997 .

[9]  Partha Dasgupta,et al.  Transparent Distribution Middleware for General Purpose Computations , 1999, PDPTA.

[10]  Chris J. Scheiman,et al.  UFO: a personal global file system based on user-level extensions to the operating system , 1998, TOCS.

[11]  Fred Douglis,et al.  Process Migration in the Sprite Operating System , 1987, ICDCS.

[12]  Kai Li,et al.  Libckpt: Transparent Checkpointing under UNIX , 1995, USENIX.

[13]  Peter M. A. Sloot,et al.  DynamicPVM - Dynamic Load Balancing on Parallel Systems , 1994, HPCN.

[14]  Alan L. Cox,et al.  TreadMarks: shared memory computing on networks of workstations , 1996 .

[15]  Anthony Skjellum,et al.  Using MPI - portable parallel programming with the message-parsing interface , 1994 .

[16]  Partha Dasgupta,et al.  The Clouds distributed operating system: functional description, implementation details and related work , 1988, [1988] Proceedings. The 8th International Conference on Distributed.