skip to main content
research-article

Virtual servers and checkpoint/restart in mainstream Linux

Published:01 July 2008Publication History
Skip Abstract Section

Abstract

Virtual private servers and application checkpoint and restart are two advanced operating system features which place different but related requirements on the way kernel-provided resources are accessed by userspace. In Linux, kernel resources, such as process IDs and SYSV shared messages, have traditionally been identified using global tables. Since 2005, these tables have gradually been transformed into per-process namespaces in order to support both resource availability on application restart and virtual private server functionality. Due to inherent differences in the resources themselves, the semantics of namespace cloning differ for many of the resources. This paper describes the existing and proposed namespaces as well as their uses.

References

  1. Amnon Barak and Oren La'adan. The MOSIX Multicomputer Operating System for High Performance Cluster Computing. Future Generation Computer Systems, 13:361--372, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the Art of Virtualization. ACM symposium on Operating systems principles, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Fabrice Bellard. QEMU, a Fast and Portable Dynamic Translator. Usenix Annual Technical Conference, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Jonathan Corbet. A System Call for Unsharing. http://lwn.net/Articles/135321/, 2005.Google ScholarGoogle Scholar
  5. Fred Douglis and John Ousterhout. Transparent Process Migration: Design Alternatives and the Sprite Implementation. Software - Practice and Experience, 21(8):757--785, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jason Duell, Paul Hargrove, and Eric Roman. The Design and Implementation of Berkeley Labs Linux Checkpoint/Restart. http://ftg.lbl.gov/CheckpointRestart/CheckpointRestart.shtml, 2003.Google ScholarGoogle Scholar
  7. Pavel Emelyanov and Kir Kolyshkin. PID Namespaces in the 2.6.24 Kernel. http://lwn.net/Articles/259217/, 2007.Google ScholarGoogle Scholar
  8. Bryan Ford, Mike Hibler, Jay Lepreau, Patric Tullmann, Godmar Back, and Stephen Clawson. Microkernels Meet Recursive Virtual Machines. Proceedings of the Second Symp. on Operating Systems Design and Implementation, pages 137--151, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Kenneth Geisshirt. Pluggable Authentication Modules: The Definitive Guide to PAM for Linux SysAdmins and C Developers. Packt Publishing, 2006.Google ScholarGoogle Scholar
  10. Cedric Le Goater, Daniel Lezcano, Clement Calmels, Dave Hansen, Serge Hallyn, and Hubertus Franke. Making applications mobile using containers. Proceedings of the Ottawa Linux Symposium, pages 347--367, 2006.Google ScholarGoogle Scholar
  11. Robert P. Goldberg. Survey of Virtual Machine Research. IEEE Computer, pages 34--45, June 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Serge Hallyn. BSD Jail Functionality for Linux. http://sourceforge.net/projects/linuxjail/, 2004.Google ScholarGoogle Scholar
  13. Serge Hallyn. cgroups: Implement Device Whitelist LSM. http://lwn.net/Articles/273208/, 2008.Google ScholarGoogle Scholar
  14. Serge E. Hallyn and Ram Pai. Applying Mount Namespaces. http://www.ibm.com/developerworks/linux/library/l-mount-namespaces.html, 2007.Google ScholarGoogle Scholar
  15. IBM. IBM Workload Partitions Manager for AIX. http://www-03.ibm.com/systems/p/os/aix/sysmgmt/wpar/.Google ScholarGoogle Scholar
  16. IBM. Customer Engineering Announcement: IBM System/360. http://archive.computerhistory.org/resources/text/IBM/IBM.System_360.1964.102646081.pdf, 1964.Google ScholarGoogle Scholar
  17. Cray Inc. Cray X1 System Overview - S-2346-23. Cray software distribution center, 2002.Google ScholarGoogle Scholar
  18. NSA Information Systems Security Organization. Labeled Security Protection Profile. http://www.commoncriteriaportal.org/files/ppfiles/lspp.pdf, 1999.Google ScholarGoogle Scholar
  19. Poul-Henning Kamp and Robert Watson. Jails: Confining the Omnipotent Root. SANE, 2000.Google ScholarGoogle Scholar
  20. Avi Kivity, Yaniv Kamay, Dor Laor, Uri Lublin, and Anthony Liguori. kvm: the Linux Virtual Machine Monitor. Proceedings of the Linux Symposium, 2007.Google ScholarGoogle Scholar
  21. Oren Laadan and Jason Nieh. Transparent Checkpoint-Restart of Multiple Processes on Commodity Operating Systems. Usenix Annual Technical Conference, pages 323--336, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Charles R. Landau. The Checkpoint Mechanism in KeyKOS. Proceedings of the Second International Workshop on Object Orientation in Operating Systems, september 1992.Google ScholarGoogle Scholar
  23. Michael Litzkow, Todd Tannenbaum, Jim Basney, and Miron Livny. Checkpoint and Migration of UNIX Processes in the Condor Distributed Processing System. http://www.cs.wisc.edu/condor/doc/ckpt97.pdf, 1997.Google ScholarGoogle Scholar
  24. Miron Livny and the Condor team. Condor: Current Limitations. http://www.cs.wisc.edu/condor/manual/v6.4/1_4Current_Limitations.html.Google ScholarGoogle Scholar
  25. Peter Loscocco and Stephen Smalley. Integrating Flexible Support for Security Policies into the Linux Operating System. USENIX Annual Technical Conference, FREENIX Track, pages 29--42, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Michael MacIsaac, Mike Duffy, Martin Soellig, and Ampie Vos. S/390 Server Consolidation - A Guide for IT Managers. http://www.redbooks.ibm.com, October 1999.Google ScholarGoogle Scholar
  27. John Mehnert-Spahn. Container Checkpointing. http://www.kerrighed.org/docs/KerrighedSummit07/JM-Container_Checkpointing.pdf, 2007.Google ScholarGoogle Scholar
  28. Paul B. Menage. Adding Generic Process Containers to the Linux Kernel. Proceedings of the Ottawa Linux Symposium, 2007.Google ScholarGoogle Scholar
  29. Aravind Menon, Alan L. Cox, and Willy Zwaenepoel. Optimizing Network Virtualization in Xen. http://www.usenix.org/events/usenix06/tech/menon.html, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Aravind Menon, Jose Renato Santos, Yoshio Turner, G. (John) Janakiraman, and Willy Zwaenepoel. Diagnosing Performance Overheads in the Xen Virtual Machine Environment. http://www.usenix.org/events/vee05/full_papers/p13-menon.pdf, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Rob Pike, Dave Presotto, Ken Thompson, Howard Trickey, and Phil Winterbottom. The Use of Name Spaces in Plan 9. Operating Systems Review, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Shaya Potter, Jason Nieh, and Matt Selsky. Secure Isolation of Untrusted Legacy Applications. Usenix LISA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Daniel Price and Andrew Tucker. Solaris Zones: Operating System Support for Consolidating Commercial Workloads. Usenix LISA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Rusty Russell. Lguest: The Simple x86 Hypervisor. http://lguest.ozlabs.org/, 2007.Google ScholarGoogle Scholar
  35. Casey Schauer. The Simplified Mandatory Access Control Kernel. http://linux.conf.au/programme/detail?TalkID=92, 2008.Google ScholarGoogle Scholar
  36. Brian K. Schmidt. Supporting Ubiquitous Computing with Stateless Consoles and Computation Caches. http://www-suif.stanford.edu/~bks/publications/thesis.pdf, August 2000.Google ScholarGoogle Scholar
  37. Stephen Soltesz, Herbert Potzl, Marc Fiuczynski, Andy Bavier, and Larry Peterson. Container-based Operating System Virtualization: A Scalable, High-Performance Alternative to Hypervisors. ACM SIGOPS/EuroSys European Conference on Computer Systems, pages 275--287, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Clifford Spinac. Dynamic logical partitioning for Linux on POWER. http://www-128.ibm.com/developerworks/systems/library/es-dynamic/, 2005.Google ScholarGoogle Scholar
  39. Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Richard Stevens. TCP/IP Illustrated, Volume 1. Addison-Wesley, Indianapolis, 2001.Google ScholarGoogle Scholar
  41. Jeremy Sugarman, Ganesh Venkitachalam, and Beng-Hong Lim. Virtualizing I/O Devices on VMWare Workstation's Hosted Virtual Machine Monitor. Usenix Annual Technical Conference, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. SWSoft. OpenVZ User's Guide. http://download.openvz.org/doc/OpenVZ-Users-Guide.pdf, 2005.Google ScholarGoogle Scholar
  43. Miklos Szeredi. Mount Ownership and Unprivileged Mount Syscall. http://lwn.net/Articles/273729/, 2008.Google ScholarGoogle Scholar
  44. Kerrighed team. Kerrighed. http://www.kerrighed.org/wiki/index.php/Main_Page, 2008.Google ScholarGoogle Scholar
  45. Bill Tuthill, Karen Johnson, and Terry Schultz. IRIX Checkpoint and Restart Operation Guide. SGI Technical Publications, 2003.Google ScholarGoogle Scholar
  46. Al Viro. {RFC} Shared Subtrees. http://lwn.net/Articles/119232/, 2005.Google ScholarGoogle Scholar
  47. Victor C. Zandy. ckpt - Process Checkpoint Library. http://pages.cs.wisc.edu/~zandy/ckpt/README.Google ScholarGoogle Scholar

Index Terms

  1. Virtual servers and checkpoint/restart in mainstream Linux

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader