KMemvisor: Flexible System Wide Memory Mirroring in Virtual Environments Bin Wang Zhengwei Qi Haibing Guan Haoliang Dong Wei Sun Shanghai Key Laboratory.

Slides:



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

Virtualization Technology
Virtualisation From the Bottom Up From storage to application.
VSphere vs. Hyper-V Metron Performance Showdown. Objectives Architecture Available metrics Challenges in virtual environments Test environment and methods.
Introduction to Virtualization
Towards High-Availability for IP Telephony using Virtual Machines Devdutt Patnaik, Ashish Bijlani and Vishal K Singh.
Memory Management 2010.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Virtualization in Data Centers Prashant Shenoy
Cloud Computing and Virtualization Sorav Bansal CloudCamp 2010 IIT Delhi.
Virtualization and the Cloud
Introduction to DoC Private Cloud
Virtual Machines. Virtualization Virtualization deals with “extending or replacing an existing interface so as to mimic the behavior of another system”
Virtualization for Cloud Computing
Container-based OS Virtualization A Scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Pötzl, Marc Fiuczynski, Andy Bavier.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
CERN IT Department CH-1211 Genève 23 Switzerland t Next generation of virtual infrastructure with Hyper-V Michal Kwiatek, Juraj Sucik, Rafal.
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Computer System Architectures Computer System Software
Dual Stack Virtualization: Consolidating HPC and commodity workloads in the cloud Brian Kocoloski, Jiannan Ouyang, Jack Lange University of Pittsburgh.
Bob Thome, Senior Director of Product Management, Oracle SIMPLIFYING YOUR HIGH AVAILABILITY DATABASE.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
CS533 Concepts of Operating Systems Jonathan Walpole.
Guanhai Wang, Minglu Li and Chuliang Weng Shanghai Jiao Tong University, China. SVM09, Wuhan, China.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 2.
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
การติดตั้งและทดสอบการทำคลัสเต อร์เสมือนบน Xen, ROCKS, และไท ยกริด Roll Implementation of Virtualization Clusters based on Xen, ROCKS, and ThaiGrid Roll.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Improving Network I/O Virtualization for Cloud Computing.
Kinshuk Govil, Dan Teodosiu*, Yongqiang Huang, and Mendel Rosenblum
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Virtual Machine and its Role in Distributed Systems.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
Presented by: Mostafa Magdi. Contents Introduction. Cloud Computing Definition. Cloud Computing Characteristics. Cloud Computing Key features. Cost Virtualization.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Profiling and Modeling Resource Usage.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
CS533 Concepts of Operating Systems Jonathan Walpole.
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
Revisiting Hardware-Assisted Page Walks for Virtualized Systems
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
1 Virtual Machine Memory Access Tracing With Hypervisor Exclusive Cache USENIX ‘07 Pin Lu & Kai Shen Department of Computer Science University of Rochester.
VTurbo: Accelerating Virtual Machine I/O Processing Using Designated Turbo-Sliced Core Embedded Lab. Kim Sewoog Cong Xu, Sahan Gamage, Hui Lu, Ramana Kompella,
Introduction to virtualization
Efficient Live Checkpointing Mechanisms for computation and memory-intensive VMs in a data center Kasidit Chanchio Vasabilab Dept of Computer Science,
Full and Para Virtualization
Enabling Technologies for Distributed Computing Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing,
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Virtualization for Cloud Computing
Introduction to Virtualization
Virtualization.
Virtualization Technology
Presented by Yoon-Soo Lee
Virtualization overview
Introduction to Operating Systems
OS Virtualization.
Virtualization Layer Virtual Hardware Virtual Networking
CS533 Concepts of Operating Systems Class 15
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CS533 Concepts of Operating Systems Class 15
Virtualization Dr. S. R. Ahmed.
Efficient Migration of Large-memory VMs Using Private Virtual Memory
Presentation transcript:

kMemvisor: Flexible System Wide Memory Mirroring in Virtual Environments Bin Wang Zhengwei Qi Haibing Guan Haoliang Dong Wei Sun Shanghai Key Laboratory of Scalable Computing and Systems Shanghai Jiao Tong University Yaozu Dong Intel China Software Center

Is your memory error-prone?

Today's memories do become error- prone. [B. Schroeder et al. SIGMETRICS 09] Memory failures are common in clusters 8% of DIMMs have correctable errors per year 1.29% uncorrectable errors in Google testbed

Today's memories do become error- prone. [B. Schroeder et al. SIGMETRICS 09] Memory failures are common in clusters 8% of DIMMs have correctable errors per year 1.29% uncorrectable errors in Google testbed Memory -intensive App.

Memory HA in Cloud Computing 1.29% error rate

Memory HA in Cloud Computing 1.29% error rate 13,000 failures per year 1,083 failures per month 35 failures per day 1.5 failure per hour

Memory HA in Cloud Computing 1.29% error rate 13,000 failures per year 1,083 failures per month 35 failures per day 1.5 failure per hour Service Level Aggrement 99.95%

Memory HA in Cloud Computing 1.29% error rate 13,000 failures per year 1,083 failures per month 35 failures per day 1.5 failure per hour Service Level Aggrement 99.95% 4.38 hours downtime per year minutes downtime per month 5.04 minutes downtime per day

Memory HA in Cloud Computing 1.29% error rate 13,000 failures per year 1,083 failures per month 35 failures per day 1.5 failure per hour [Andy A. Hwang et al. ASPLOS 12] Memory Errors happen at a significant rate in all four sites with 2.5 to 5.5% of nodes affected per system Service Level Aggrement 99.95% 4.38 hours downtime per year minutes downtime per month 5.04 minutes downtime per day

Existing Solutions Hardware ECC (Hp, IBM, Google et al.) Bit-granularity checking Mirrored Memory (Hp, IBM, Google et al.) Expensive Low flexibility

Software - Duo-backup (GFS, Amazon Dynamo) System level tolerance - Checkpoint, hot spare+ VM migration /replication Application-Specific and High overhead (eg. Remus [NSDI 08] with 40 Checkpoints/sec, overhead 103%) Existing Solutions

Design Guideline Low cost Efficiency & compatibility - Arbitrary platform - On the fly+ hot spare Low maintaining - Little impact to others (eg., networking utilization) - Without migration Cloud requirement - VM granularity

kMemvisor A hypervisor providing system-wide memory mirroring based on hardware virtualization Supporting VMs with or without mirror memory feature on the same physical machine Supporting NModularRedundancy for some special mission critical applications

kMemvisor High-level Architecture mva = mirror(nva)

Memory Mirroring

Retrieve Memory Failure

Create Mirror Page Table

Modified Memory Layout mva = mirror(nva)=nva+offset

Memory Synchronization

Implicit Memory Instructions

Explicit and Implicit Instructions

The Stack After An int Instruction Completes

Test Environment Hardware - Dell PowerEdge T610 server : 6-core 2.67GHz Intel Xeon CPU with 12MB L3 cache - Samsung 8 GB DDR3 RAMs with ECC and a 148 GB SATA Disk Software - Hypervisor: Xen Kernel: Guest OS: Busybox

Malloc Micro-test with Different Block Size The impact on performance is somewhat large when the allocated memory is less than 256KB but much more limited when the size is larger.

Overhead for sequential memory read Memory Sequential Read & Write Overhead for sequential memory write

XV6 Benchmark Usertests performance comparisonCommand performance comparison

Web Server & Database Performance of thttpd The performance impact for create, insert, select, update, and delete in SQLite Double overhead Impacted by lock operations The cache mechanism will cause frequent memory writing operations.

Compilation Time Mirror instructions detail information Compilation time overhead brought by kMemvisor Sometimes, implicit write instructions are less but usually more complicated themselves which would cost extra overhead.

Discussion Special memory area - Hypervisor + Kernel page table Other device memory operation - IO operation Address conflict - mva = nva+offset Challenge in binary translation - Self-modifying code & value Multi-threads and multi-cores - Multi-thread: emulate mirrored instruction - Multi-cores: explicit mutex lock

Conclusion A software mirrored memory solution –CPU-intensive tasks is almost unaffected –Our stressful memory write benchmark shows the backup overhead of 55%. –Average overhead in real world applications 30% Dynamic binary translation Full kernel mirroring

Thanks!