Proceedings of the 5th Symposium on Operating Systems Design and Implementation

We have created Zap, a novel system for transparent migration of legacy and networked applications. Zap provides a thin virtualization layer on top of the operating system that introduces pods, which are groups of processes that are provided a consistent, virtualized view of the system. This decouples processes in pods from dependencies to the host operating system and other processes on the system. By integrating Zap virtualization with a checkpoint-restart mechanism, Zap can migrate a pod of processes as a unit among machines running independent operating systems without leaving behind any residual state after migration. We have implemented a Zap prototype in Linux that supports transparent migration of unmodified applications without any kernel modifications. We demonstrate that our Linux Zap prototype can provide general-purpose process migration functionality with low overhead. Our experimental results for migrating pods used for running a standard user's X windows desktop computing environment and for running an Apache web server show that these kinds of pods can be migrated with subsecond checkpoint and restart latencies.

[1]  Mahadev Satyanarayanan,et al.  Internet suspend/resume , 2002, Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.

[2]  Andrew S. Grimshaw,et al.  The Legion vision of a worldwide virtual computer , 1997, Commun. ACM.

[3]  Hua Zhong,et al.  CRAK: Linux Checkpoint/Restart As a Kernel Module , 1996 .

[4]  Tony Hain,et al.  Architectural Implications of NAT , 2000, RFC.

[5]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[6]  Miron Livny,et al.  Managing Checkpoints for Parallel Programs , 1996, JSSPP.

[7]  David A. Maltz,et al.  MSOCKS: an architecture for transport layer mobility , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[8]  Fred Douglis,et al.  Transparent process migration: Design alternatives and the sprite implementation , 1991, Softw. Pract. Exp..

[9]  Ken Thompson,et al.  Plan 9 from Bell Labs , 1995 .

[10]  George G. Robertson,et al.  Accent: A communication oriented network operating system kernel , 1981, SOSP.

[11]  I. Coorporation,et al.  Using the rdtsc instruction for performance monitoring , 1997 .

[12]  Raphael A. Finkel,et al.  Interprocess Communication in Charlotte , 1987, IEEE Software.

[13]  William I. Nowicki,et al.  NFS: Network File System Protocol specification , 1989, RFC.

[14]  Charles E. Perkins,et al.  IP Mobility Support for IPv4 , 2002, RFC.

[15]  Fred Douglis,et al.  Mobility: Processes, Computers, and Agents , 1999 .

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

[17]  Son K. Dao,et al.  A "persistent connection" model for mobile and distributed systems , 1995, Proceedings of Fourth International Conference on Computer Communications and Networks - IC3N'95.

[18]  Matt Holdrege,et al.  Protocol Complications with the IP Network Address Translator , 2001, RFC.

[19]  David R. Cheriton,et al.  The V distributed system , 1988, CACM.

[20]  Robbert van Renesse,et al.  Amoeba A Distributed Operating System for the 1990 s Sape , 1990 .

[21]  Robert Tappan Morris,et al.  DNS performance and the effectiveness of caching , 2001, IMW '01.

[22]  Satish K. Tripathi,et al.  Network layer mobility: an architecture and survey , 1996, IEEE Wirel. Commun..

[23]  Andy Hopper,et al.  Virtual Network Computing , 1998, IEEE Internet Comput..

[24]  Yakov Rekhter,et al.  Dynamic Updates in the Domain Name System (DNS UPDATE) , 1997, RFC.

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

[26]  DouglisFred,et al.  Transparent process migration , 1991 .

[27]  Amnon Barak,et al.  MOSIX: an integrated multiprocessor UNIX , 1999 .

[28]  Miron Livny,et al.  Checkpoint and Migration of UNIX Processes in the Condor Distributed Processing System , 1997 .

[29]  Jeffrey Xu Yu,et al.  A mobile TCP socket , 1997 .

[30]  Monica S. Lam,et al.  Optimizing the migration of virtual computers , 2002, OPSR.

[31]  Gregory R. Ganger,et al.  Dynamic Function Placement in Active Storage Clusters , 1999 .

[32]  Hari Balakrishnan,et al.  An end-to-end approach to host mobility , 2000, MobiCom '00.

[33]  M. Frans Kaashoek,et al.  Mobile Computing with the Rover Toolkit , 1997, IEEE Trans. Computers.

[34]  Monica S. Lam,et al.  Supporting ubiquitous computing with stateless consoles and computation caches , 2000 .

[35]  Partha Dasgupta,et al.  Process migration: a generalized approach using a virtualizing operating system , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[36]  Jason Nieh,et al.  Mobile Communication with Virtual Network Address Translation , 2002 .

[37]  Daniel Senie,et al.  Network Address Translator (NAT)-Friendly Application Design Guidelines , 2002, RFC.