Checkpoint-restore in userspace. Are we there yet? Pavel Emelyanov LinuxCon Europe 2012.

Slides:



Advertisements
Similar presentations
Simple Git Steve Pieper. Topics Git considerations and Slicer Git as if it were svn Git the way it is meant to be.
Advertisements

Operating-System Structures
Copyright GeneGo CONFIDENTIAL »« MetaCore TM (System requirements and installation) Systems Biology for Drug Discovery.
OPERATING SYSTEMS Introduction
Seafile - Scalable Cloud Storage System
©Company confidential 1 Performance Testing for TM & D – An Overview.
Xuan Guo Chapter 1 What is UNIX? Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003 Original Notes.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Network File System (NFS) in AIX System COSC513 Operation Systems Instructor: Prof. Anvari Yuan Ma SID:
File Systems (2). Readings r Silbershatz et al: 11.8.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Section 6.1 Explain the development of operating systems Differentiate between operating systems Section 6.2 Demonstrate knowledge of basic GUI components.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
#devshark welcome to #devshark. #devshark HELLO! I’M Ville Rauma Fingersoft Product Owner Web
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
1 What is a Kernel The kernel of any operating system is the core of all the system’s software. The only thing more fundamental than the kernel is the.
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Chapter 4 Storage Management (Memory Management).
INFO 320 Server Technology I Week 1 Server operating system and hardware concepts 1INFO 320 week 1.
By: Anuj Sharma. Topics covered:  GIT Introduction  GIT Benefits over different tools  GIT workflow  GIT server creation  How to use GIT for first.
Module 4 Planning for Group Policy. Module Overview Planning Group Policy Application Planning Group Policy Processing Planning the Management of Group.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Docker Overview Automating.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
VM vs Container Xen, KVM, VMware, etc. Hardware emulation / paravirtualization Can run different OSs on the same box Dozens of instances OS sprawl problem.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
By the end of this lesson you will be able to explain: 1. Identify the support categories for reported computer problems 2. Use Remote Assistance to connect.
Linux & UNIX OS Overview Fort Collins, CO Copyright © XTR Systems, LLC Overview of the Linux & UNIX Operating Systems Instructor: Joseph DiVerdi, Ph.D.,
Intro To Virtualization Mohammed Morsi
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Containers vs Others Xen, VMware, etc. ● Emulation/paravirtualization ● Can run different OSs on the same box ● Lower density/scalability ● OS sprawl problem.
VM vs Container Xen, KVM, VMware, etc. ● Hardware emulation / paravirtualization ● Can run different OSs on the same box ● Dozens of instances ● OS sprawl.
BY: SALMAN 1.
Seven Problems of Linux Containers
Introduction to threads
Let's talk about Linux and Virtualization in 'vLAMP'
Efficient Software-Based Fault Isolation
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Introduction to Operating Systems
BY: SALMAN.
2. OPERATING SYSTEM 2.1 Operating System Function
Version Control and Source Code Control Systems
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
Linux Containers Overview & Roadmap
Container-based Operating System Virtualization: A scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Potzl, Marc E. Fiuczynski,
Chapter 2: Operating-System Structures
Chapter 5: Using System Software
Cross-platform Libraries Technology Presentation
CASE STUDY 1: Linux and Android
Chapter 2: System Structures
Version Control System using Git
“Seamless” kernel update with CRIU & Kexec
Operating System Structure
Containers and Virtualisation
AppArmor LSM Update Introduce self John Johansen.
Introduction to Operating System (OS)
AppArmor Update 2014 Linux Security Summit
Software Version System Part1: Subversion at CERN
Introduction to Configuration Management
Chapter 2: System Structures
Chapter 2: The Linux System Part 1
Git CS Fall 2018.
Chapter 11: Printers IT Essentials v6.0 Chapter 11: Printers
Azure Container Service
Instructor Materials Chapter 5: Windows Installation
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Presentation transcript:

Checkpoint-restore in userspace. Are we there yet? Pavel Emelyanov LinuxCon Europe 2012

2 What is C/R and what is it for? C/R is an ability to snapshot an application state and restore it from the state at any time and place later. Usage scenarios: – Live migration – Reboot-less kernel update – Applications start-up boost – Working environment snapshots – HPC load balancing –...

3 Is it possible to do all these nice things now? Yes! Almost. And we're close to it! This talk answers on: ✔ How shall we be able to do it? ✔ How close to it are we? ✔ How far from “impossible to” are we? ✔ What has happened since then?

4 A brief history of C/R in Linux Jan OpenVZ project starts with live-migration support all in kernel feature First collaborative attempt to get C/R upstream First more-or-less complete version (over 100 patches) First attempt to do C/R mostly in user-space Linus decided to merge first set of patches upstream CRIU v0.1 CRIU v0.2 + LXC support JulSep 2012

5 CRIU project ultimate goal AP P FSFS M CredsCreds Ti m er s AP P share dump Image restore AP P IPC... Network IPC... Network

6 CRIU project concept kernel AP P FDFD open CR IU too l What files are opened? ~A PP open FDFD dum p restore

7 Existing kernel APIs kernel Proc System calls About selfAbout anybody dum p restore Netlink

8 How CRIU grows up kernel AP P FOOFOO Get FOO CR IU too l Info on FOO-s ~A PP Get FOO back FDFD dum p restore ? X Get FOO ++ Info FOO ++

9 CRIU project grow-up concept (Linus vision)... this is a project by various mad Russians to perform c/r mainly from userspace, with various oddball helper code added into the kernel where the need is demonstrated. So rather than some large central lump of code, what we have is little bits and pieces popping up in various places which either expose something new or which permit something which is normally kernel- private to be modified...

1010 Kernel impact ~110 patches merged ~15 patches in flight 9 new features appeared (1 C/R-only) 2 new features to come

1 The most interesting new features in kernel Parasite code injection – Read task states, that are currently retrieved by a task only about himself The kcmp system call – Helps checking which kernel objects are shared between processes Sockets information dumping via netlink ( sock_diag ) – Extendable sockets state retrieving engine TCP repair mode – Read intimate state of a TCP connection and reconstructs it from scratch on a freshly created socket

1212 Other new features in kernel Virtual net devices indices – Allows to restore network devices in a namespace Proc map_files directory – Find out what exact file is mapped – Mappings sharing info Socket peeking offset – Allows peeking sockets queues (reading without removing data from queue) More socket get-able sockoptions – Bound device – Packet filter

1313 CRIU features so far IPC... Network X86_64 architecture Process tree linkage Multi-threaded apps UNIX sockets LXC container environment Terminals, groups and sessions Non-posix files (inotify, epoll, etc.) Open files (+ shared and unlinked) Kernel V3.6 Memory mappings of all kinds Established TCP connection

1414 How we test it ZDTM – set of atomic tests for every new piece of functionality Real software Apache MySQL Make and gcc Tar and gzip Sshd with connections Screen with top inside VNC with xscreensaver and client connection NGINX MongoDB tcpdump

1515 Main plans for the nearest future ● Full OS resources coverage ● Merge in-flight patches, so that everything works on vanilla kernel ● Properly integrate crtools with LXC and OpenVZ ● Live-migration script ● Pre-migrate app memory before freeze (speeds things up)

1616 CRIU project resources – project news and documentation – git repo with tool sources – kernel with all in-flight patches applied mailing list +CRIU page

Parallels – Optimized Computing TM Confidential 17 Pavel Emelyanov