Suspend to Disk Why it doesn't work, can't work and never worked in the first place (and what to do about it) Matthew Garrett.

Slides:



Advertisements
Similar presentations
MapReduce Online Tyson Condie UC Berkeley Slides by Kaixiang MO
Advertisements

Memory Protection: Kernel and User Address Spaces  Background  Address binding  How memory protection is achieved.
May 17, USB Power Management Brad Hosler USB Engineering Manager Intel Corporation.
1 An Architectural View of an OS Inter-process communication Process Scheduling Process Control Subsystem File Subsystem Device Drivers Hardware Control.
UQC113S2 Interrupt driven IO. We have already seen the hardware support required to facilitate interrupts We will now look at the higher levels of software.
G Robert Grimm New York University Receiver Livelock.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Computing Hardware Starter.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 8-1: I/O Management Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
1 Maintain System Integrity Maintain Equipment and Consumables ICAS2017B_ICAU2007B Using Computer Operating system ICAU2231B Caring for Technology Backup.
The Best of Both Worlds with On-Demand Virtualization Thawan Kooburat and Michael M. Swift On-Demand Virtualization allows systems to benefit from virtualization.
Chapter 41 Processes Chapter 4. 2 Processes  Multiprogramming operating systems are built around the concept of process (also called task).  A process.
Course Introduction Andy Wang COP 5611 Advanced Operating Systems.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
1 RTOS Design Some of the content of this set of slides is taken from the documentation existing on the FreeRTOS website
Rapid Development of High Performance Servers Khaled ElMeleegy Alan Cox Willy Zwaenepoel.
Scheduling Lecture 6. What is Scheduling? An O/S often has many pending tasks. –Threads, async callbacks, device input. The order may matter. –Policy,
1.4 Hardware Review. CPU  Fetch-decode-execute cycle 1. Fetch 2. Bump PC 3. Decode 4. Determine operand addr (if necessary) 5. Fetch operand from memory.
Introduction to Operating Systems and Concurrency.
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
1 Virtual Memory. Cache memory: provides illusion of very high speed Virtual memory: provides illusion of very large size Main memory: reasonable cost,
Processes 2 Introduction to Operating Systems: Module 4.
Kernel Modules – Introduction CSC/ECE 573, Sections 001 Fall, 2012.
Multithreading vs. Event Driven in Code Development of High Performance Servers.
Multiprogramming. Readings r Chapter 2.1 of the textbook.
Lesson 9: SOFTWARE ICT Fundamentals 2nd Semester SY
Seven Problems of Linux Containers
Input/Output (I/O) Important OS function – control I/O
Integrating Disk into Backup for Faster Restores
Introduction to Kernel
Processes and threads.
Interrupts and signals
Chapter 8: Main Memory.
Handling Personal Data
Andy Wang COP 5611 Advanced Operating Systems
Chapter 9: Virtual Memory
Anton Burtsev February, 2017
Course Introduction Dr. Eggen COP 6611 Advanced Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
Computer Architecture
Day 08 Processes.
Day 09 Processes.
Linux Operating System Architecture
Swapping Segmented paging allows us to have non-contiguous allocations
KERNEL ARCHITECTURE.
PC Troubleshooting & Recovery
What is an Operating System?
Introduction to Operating Systems
CSCI 315 Operating Systems Design
Chapter 9: Virtual-Memory Management
Virtualization Techniques
Multistep Processing of a User Program
HW & Systems: Operating Systems IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, October 22, 2013 Carolyn Seaman University of Maryland, Baltimore.
Processor Fundamentals
I/O Systems I/O Hardware Application I/O Interface
Direct Memory Access Disk and Network transfers: awkward timing:
CSE 451: Operating Systems Winter 2009 Module 13 Redundant Arrays of Inexpensive Disks (RAID) and OS structure Mark Zbikowski Gary Kimura 1.
Chapter 5: I/O Systems.
CSE 451: Operating Systems Winter 2012 Redundant Arrays of Inexpensive Disks (RAID) and OS structure Mark Zbikowski Gary Kimura 1.
Andy Wang COP 5611 Advanced Operating Systems
2.C Memory GCSE Computing Langley Park School for Boys.
Andy Wang COP 5611 Advanced Operating Systems
Have you seen this screen?
OS Components and Structure
LO2 – Understand Computer Software
Andy Wang COP 5611 Advanced Operating Systems
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

Suspend to Disk Why it doesn't work, can't work and never worked in the first place (and what to do about it) Matthew Garrett

This presentation contains no drosophila

What is suspend to disk? ● Save system state to disk ● Reboot directly into saved state ● Consumes no power when suspended ● Higher latency in resume

How does suspend to disk work? ● Freeze processes ● Suspend devices ● Copy state ● Restore devices ● Save state to disk ● Power down ● Cake

The cake is a lie

Freezer nightmare

What else can go wrong? ● Your swap is on a FUSE filesystem ● You have userspace USB drivers ● Your network driver blocks while scanning ● NFS – (Without loss of generality)

Why do we use the freezer? ● Because we're suspending using the same kernel as we were running

How can we avoid this? ● Use a different kernel?

Kexec ● Functionality for loading a new kernel and executing it – Kexecing a new kernel is an atomic operation ● New kernel can save state to disk without interfering with the “real” kernel – Has its own i/o paths, working with its own RAM ● Ying Huang at Intel working on this

Still stuck with the freezer... ● Drivers assume that userspace will be frozen – (Silly drivers) ● But those need to be fixed anyway, so hurrah

Warning: next slide contains crack

Do we really want to suspend to disk? ● Users just want to retain state ● Checkpointing applications handles a lot of this ● Saving hardware state more awkward – But buys us more functionality

Summary: ● The freezer is unreliable and cannot sensibly be made reliable ● Suspend to disk must be a reliable process ● Therefore we need to remove the need for the freezer ● (Cake)

Please hire me I'm lovely, really