Live Migration of Processes Maintaining Multiple Network Connections

Single IP Address cluster offers a transparent view of a cluster of machines as if they were a single computer on the network. In such an environment, process migration can play a significant role for providing services seamlessly and for increasing sustainability. In this paper we propose a live migration mechanism which is capable of moving processes that maintain a massive amount of network connections, supporting both TCP and UDP sockets. Incoming packet loss during socket migration is prevented by exploiting the broadcast property of the Single IP Address cluster, while process live migration minimizes the execution freeze time during the actual migration of the process context. Performance evaluation on machines equipped with a 2.4GHz CPU and Gigabit Ethernet interconnect shows that migrating a process of 1GB image size and over 1000 established network connections results in less than 200ms process freeze time, rendering the transition fully transparent and responsive from the clients' point of view. The implementation is comprised entirely of a kernel module for Linux 2.6, without any changes to the existing kernel code.

[1]  David A. Maltz,et al.  MSOCKS+: an architecture for transport layer mobility , 2002, Comput. Networks.

[2]  Michael Zyda,et al.  Networked virtual environments - desgin and implementation , 1999 .

[3]  Keith A. Lantz,et al.  Preemptable remote execution facilities for the V-system , 1985, SOSP 1985.

[4]  Song Jiang,et al.  Transparent, Incremental Checkpointing at Kernel Level: a Foundation for Fault Tolerance for Parallel Computers , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[5]  C. Steketee Process Migration and Load Balancing in Amoeba , 2002 .

[6]  Beng-Hong Lim,et al.  Fast Transparent Migration for Virtual Machines , 2005, USENIX Annual Technical Conference, General Track.

[7]  J. Duell The design and implementation of Berkeley Lab's linux checkpoint/restart , 2005 .

[8]  Wensong Zhang,et al.  Linux Virtual Server for Scalable Network Services , 2000 .

[9]  A. Kivity,et al.  kvm : the Linux Virtual Machine Monitor , 2007 .

[10]  Yi-Min Wang,et al.  ONE-IP: Techniques for Hosting a Service on a Cluster of Machines , 1997, Comput. Networks.

[11]  Yutaka Ishikawa,et al.  TCP Connection Scheduler in Single IP Address Cluster , 2008, 2008 Eighth IEEE International Symposium on Cluster Computing and the Grid (CCGRID).

[12]  Patrick O'Rourke,et al.  Performance Evaluation of Linux Virtual Server , 2001, LISA.

[13]  Jason Nieh,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation , 2022 .

[14]  Massimo Bernaschi,et al.  SockMi: a solution for migrating TCP/IP connections , 2007, 15th EUROMICRO International Conference on Parallel, Distributed and Network-Based Processing (PDP'07).

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

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

[17]  Stephen John Turner,et al.  Federate migration in HLA-based simulation , 2005, Future Gener. Comput. Syst..

[18]  William J. Bolosky,et al.  Mach: A New Kernel Foundation for UNIX Development , 1986, USENIX Summer.

[19]  Andrew R. Cherenson,et al.  The Sprite network operating system , 1988, Computer.

[20]  Jason Duell,et al.  The design and implementation of Berkeley Lab's linuxcheckpoint/restart , 2005 .

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

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

[23]  Barton P. Miller,et al.  Reliable network connections , 2002, MobiCom '02.

[24]  Sergei Gorlatch,et al.  High-Level Development of Multiserver Online Games , 2008, Int. J. Comput. Games Technol..

[25]  John Mehnert-Spahn,et al.  Incremental Checkpointing for Grids , 2010 .

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

[27]  Graham Morgan,et al.  Efficient Resource Management for Game Server Hosting , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[28]  Dejan S. Milojicic,et al.  Process migration , 1999, ACM Comput. Surv..

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

[30]  Tomoyoshi Sugawara,et al.  TCP-Migration with Application-Layer Dispatching: A New HTTP Request Distribution Architecture in Locally Distributed Web Server Systems , 2006, 2006 1st International Conference on Communication Systems Software & Middleware.

[31]  Christian Engelmann,et al.  Proactive process-level live migration in HPC environments , 2008, HiPC 2008.

[32]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.