Fast and Safe Performance Recovery on OS Reboot Kenichi Kourai Kyushu Institute of Technology.

Slides:



Advertisements
Similar presentations
Remus: High Availability via Asynchronous Virtual Machine Replication
Advertisements

Live migration of Virtual Machines Nour Stefan, SCPD.
More on File Management
Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
Cache Definition Cache is pronounced cash. It is a temporary memory to store duplicate data that is originally stored elsewhere. Cache is used when the.
Live Migration of Virtual Machines Christopher Clark, Keir Fraser, Steven Hand, Jacob Gorm Hansen, Eric Jul, Christian Limpach, Ian Pratt, Andrew Warfield.
File Systems.
A Fast Rejuvenation Technique for Server Consolidation with Virtual Machines Kenichi Kourai Shigeru Chiba Tokyo Institute of Technology.
Kenichi Kourai (Kyushu Institute of Technology) Takeshi Azumi (Tokyo Institute of Technology) Shigeru Chiba (Tokyo University) A Self-protection Mechanism.
Chapter 11: File System Implementation
A Secure System-wide Process Scheduling across Virtual Machines Hidekazu Tadokoro (Tokyo Institute of Technology) Kenichi Kourai (Kyushu Institute of Technology)
File System Implementation
File System Implementation
Crash recovery All-or-nothing atomicity & logging.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
Cse Feb-001 CSE 451 Section February 24, 2000 Project 3 – VM.
File System Structure §File structure l Logical storage unit l Collection of related information §File system resides on secondary storage (disks). §File.
File System Variations and Software Caching May 19, 2000 Instructor: Gary Kimura.
Crash recovery All-or-nothing atomicity & logging.
CacheMind: Fast Performance Recovery Using a Virtual Machine Monitor Kenichi Kourai Kyushu Institute of Technology, Japan.
1  1998 Morgan Kaufmann Publishers Chapter Seven Large and Fast: Exploiting Memory Hierarchy (Part II)
Fast and Correct Performance Recovery of Operating Systems Using a Virtual Machine Monitor Kenichi Kourai Kyushu Institute of Technology, Japan.
The Design and Implementation of a Log-Structured File System Presented by Carl Yao.
Transactions and Reliability. File system components Disk management Naming Reliability  What are the reliability issues in file systems? Security.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
IMPROVING THE RELIABILITY OF COMMODITY OPERATING SYSTEMS Michael M. Swift Brian N. Bershad Henry M. Levy University of Washington.
HyperSpector: Virtual Distributed Monitoring Environments for Secure Intrusion Detection Kenichi Kourai Shigeru Chiba Tokyo Institute of Technology.
1 File Systems Chapter Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
Secure Out-of-band Remote Management Using Encrypted Virtual Serial Consoles in IaaS Clouds Kenichi Kourai Tatsuya Kajiwara Kyushu Institute of Technology.
Lecture 19: Virtual Memory
Zero-copy Migration for Lightweight Software Rejuvenation of Virtualized Systems Kenichi Kourai Hiroki Ooba Kyushu Institute of Technology.
Journal-guided Resynchronization for Software RAID
1 File Systems: Consistency Issues. 2 File Systems: Consistency Issues File systems maintains many data structures  Free list/bit vector  Directories.
Supporting Multi-Processors Bernard Wong February 17, 2003.
Free Space Management.
File System Implementation
Module 4.0: File Systems File is a contiguous logical address space.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
CS333 Intro to Operating Systems Jonathan Walpole.
Processes and Virtual Memory
11.1 Silberschatz, Galvin and Gagne ©2005 Operating System Principles 11.5 Free-Space Management Bit vector (n blocks) … 012n-1 bit[i] =  1  block[i]
Lecture 20 FSCK & Journaling. FFS Review A few contributions: hybrid block size groups smart allocation.
Review CS File Systems - Partitions What is a hard disk partition?
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
Taeho Kgil, Trevor Mudge Advanced Computer Architecture Laboratory The University of Michigan Ann Arbor, USA CASES’06.
Secure Offloading of Legacy IDSes Using Remote VM Introspection in Semi-trusted IaaS Clouds Kenichi Kourai Kazuki Juda Kyushu Institute of Technology.
File System Consistency
Split Migration of Large Memory Virtual Machines
Translation Lookaside Buffer
Jonathan Walpole Computer Science Portland State University
File-System Implementation
Kenichi Kourai Hiroki Ooba Kyushu Institute of Technology, Japan
Journaling File Systems
Lecture 28: Virtual Memory-Address Translation
Sho Kawahara and Kenichi Kourai Kyushu Institute of Technology, Japan
I'm Kenichi Kourai from Kyushu Institute of Technology.
IMPROVING THE RELIABILITY OF COMMODITY OPERATING SYSTEMS
Preventing Performance Degradation on Operating System Reboots
Printed on Monday, December 31, 2018 at 2:03 PM.
Translation Lookaside Buffer
Overview: File system implementation (cont)
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
CSE451 Virtual Memory Paging Autumn 2002
Chapter 14: File-System Implementation
Virtual Memory Use main memory as a “cache” for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs share main.
4.3 Virtual Memory.
Kenichi Kourai Kyushu Institute of Technology
Low-cost and Fast Failure Recovery Using In-VM Containers in Clouds
Efficient Migration of Large-memory VMs Using Private Virtual Memory
Presentation transcript:

Fast and Safe Performance Recovery on OS Reboot Kenichi Kourai Kyushu Institute of Technology

OS Recovery  OS reboot is a final but powerful recovery technique  For recovery from OS crashes  Against Mandelbugs  A rebooted OS rarely crashes again  For software rejuvenation  Against aging-related bugs  A rebooted OS restores its normal state recovered OS reboot memory leak crash

Performance Degradation (1/2)  OS reboot degrades the performance of file accesses  The file cache on memory is lost  Disk access increases due to frequent cache misses  It takes long time to fill the file cache  Reading file blocks from a disk is slow  Most of free memory is used for the file cache file cache reboot slow disk

Performance Degradation (2/2)  Disk access also degrades the performance of the other virtual machines (VMs)  VMs share a physical disk  Frequent disk access occupies the bandwidth  Prefetching makes the situation worse  Burst of disk access VM disk rebooted VM OS

Performance Recovery is Needed  OS recovery does not complete until the performance is also recovered  Traditional OS reboot restores only the functionalities  Fast reboot techniques have been proposed

Warm-cache Reboot  A new OS recovery mechanism with fast performance recovery  It preserves the file cache during OS reboot  An OS can reuse it after the reboot  It guarantees the consistency of the file cache  Using the virtual machine monitor (VMM) file cache reboot file cache VMM VMdiscard corrupted cache

Reusing the File Cache  Collaboration between an OS and the VMM  The VMM re-allocates the same physical memory to a rebooted VM  A rebooted OS reserves the memory pages used for the file cache  Obtaining meta data from the VMM file cache VMM reboot re-allocate deallocate VM file cache reserve

Cache Consistency  Our definition  Consistent if the contents of the file cache are the same as those of disks  Consistent when a file block is read from a disk  Inconsistent when the file cache is modified  Consistent when it is written back to a disk disk file cache read VM modify write back

Maintaining Cache Reusability  The warm-cache reboot allows an OS to reuse only consistent file cache  The VMM is suitable for maintaining the reusability  It is isolated from an OS  It can mediate all disk accesses  It can track all modification to cache pages VMM VM disk modify cache pages file cache

Reusability Management (1/3)  The VMM makes a cache page reusable after it reads data from a disk  It protects the page before the read  To detect page corruption by an OS during the read  The VMM can still write data to the page VMM read VM read request read request protect read reusable possible corruption disk

Reusability Management (2/3)  The VMM makes a cache page non-reusable before an OS modifies its contents  It unprotects the page at the same time  To enable the OS to modify the page VMM VM modify request unprotect modify request non-reusable & unprotect possible corruption write

Reusability Management (3/3)  The VMM makes a cache page reusable again after it writes data in the page to a disk  It protects the page before the write  To detect page corruption during the write VMM VM write request write request protect write reusable possible corruption disk

File Cache and Metadata (1/2)  Consistent  When data and metadata are written back, or both are not  When only metadata are written back  E.g. Ext3 writeback mode, Ext2 metadata file cache data metadata memory disk metadata

File Cache and Metadata (2/2)  Maybe inconsistent  When only data is written back, and  When the file size is changed, or  When the i-node pointers are changed  E.g. Ext3 ordered mode disk old metadata memory

Implementation  CacheMind  Based on Xen/Linux  The VMM maintains VM memory  P2M-mapping table  The VMM maintains per-VM data  Cache-mapping table  Reuse bitmap blkbackblkfront domain 0domain U VMM disk Per-VM data cache

Cache-mapping Table  A hash table from file blocks to cache pages  Domain U adds and removes its entries  It looks up matching entries after OS reboot  Using hypercalls domain U VMM cache-mapping table hypercall cache

Reuse Bitmap  A bitmap for reuseable cache pages  Domain 0 sets and clears its bits  Using hypercalls  The VMM clears its bits  When cache pages are unprotected domain 0domain U VMM reuse bitmap hypercall blkbackblkfront disk cache unprotect

Experiments  Purposes  To show that the warm-cache reboot achieves fast performance recovery  File access, web server  To confirm that it does not reuse inconsistent file cache  fault injection Server CPU: 2 dual-core Opteron Memory: 12 GB Disk: Ultra 320 SCSI NIC: Gigabit Ethernet Client CPU: 2 Core 2 Quad Memory: 4 GB NIC: Gigabit Ethernet

Throughput of File Reads (1/2)  We measured the read throughput of a 1-GB file  All file blocks were on the file cache before rebootafter reboot Our reboot achieved better performance 16% degradation at maximum

Throughput of File Reads (2/2)  Next, we used a file-backed virtual disk  Disk blocks are cached on domain 0 before rebootafter reboot Degradation is mitigated from 90% to 46%

Throughput of a Web Server  We measured the changes of the throughput during OS reboot 60% degradation for 90 seconds 5% degradation for 60 seconds

Fault Injection (1/2)  We measured inconsistent cache reuses  We injected various faults into the OS kernel  First, we disabled the consistency mechanism The file cache is often corrupted

Fault Injection (2/2)  Next, we enabled the consistency mechanism  Most of reboots did not reuse inconsistent cache  Reused file cache was inconsistent only for DST  Ext3 failed to write back  Faults were injected into ext3  The file cache was not corrupted  Reusing it is correct

Related Work  Rio File Cache [Chen et al.’96]  Reusing dirty file cache after OS crash  Relying on an OS  RootHammer [Kourai et al.’07]  Preserving VMs during VMM reboot  Hybrid Hard Drive [Samsung&Microsoft], Turbo Memory [Intel]  Including large non-volatile disk cache

Conclusion  We proposed the warm-cache reboot  It achieves fast performance recovery by reusing the file cache  16% degradation at maximum  The VMM maintains consistency of the file cache  Consistent, or not-corrupted at least  Future work  Reducing overheads of protecting cache pages  Impact on write performance is large