Cloud Operating Systems for Servers



Similar documents
Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Chapter 14 Virtual Machines

HPC performance applications on Virtual Clusters

Enabling Technologies for Distributed Computing

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

Kernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June

Real-time KVM from the ground up

Rackspace Cloud Databases and Container-based Virtualization

Enabling Technologies for Distributed and Cloud Computing

Performance tuning Xen

Virtualization Performance on SGI UV 2000 using Red Hat Enterprise Linux 6.3 KVM

Deploying Extremely Latency-Sensitive Applications in VMware vsphere 5.5

Maximizing SQL Server Virtualization Performance

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment

KVM Architecture Overview

Virtualization and Performance NSRC

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Peter Senna Tschudin. Performance Overhead and Comparative Performance of 4 Virtualization Solutions. Version 1.29

Virtual Switching Without a Hypervisor for a More Secure Cloud

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

ELI: Bare-Metal Performance for I/O Virtualization

Load Balancer Comparison: a quantitative approach. a call for researchers ;)

An Oracle Technical White Paper June Oracle VM Windows Paravirtual (PV) Drivers 2.0: New Features

Chapter 5 Cloud Resource Virtualization

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Virtualization for Cloud Computing

WHITE PAPER 1

Beyond the Hypervisor

Xen and the Art of. Virtualization. Ian Pratt

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

Performance Management for Cloudbased STC 2012

PARALLELS CLOUD SERVER

Data Centers and Cloud Computing

WHITE PAPER Optimizing Virtual Platform Disk Performance

CloudCmp:Comparing Cloud Providers. Raja Abhinay Moparthi

An Oracle White Paper August Oracle VM 3: Server Pool Deployment Planning Considerations for Scalability and Availability

Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build

IOS110. Virtualization 5/27/2014 1

11.1 inspectit inspectit

High-performance vnic framework for hypervisor-based NFV with userspace vswitch Yoshihiro Nakajima, Hitoshi Masutani, Hirokazu Takahashi NTT Labs.

Masters Project Proposal

Full and Para Virtualization

Architecture of the Kernel-based Virtual Machine (KVM)

Large-scale performance monitoring framework for cloud monitoring. Live Trace Reading and Processing

Delivering Quality in Software Performance and Scalability Testing

Using Linux as Hypervisor with KVM

Virtualization in Linux KVM + QEMU

Architecting for the next generation of Big Data Hortonworks HDP 2.0 on Red Hat Enterprise Linux 6 with OpenJDK 7

A quantitative comparison between xen and kvm

Network performance in virtual infrastructures

StACC: St Andrews Cloud Computing Co laboratory. A Performance Comparison of Clouds. Amazon EC2 and Ubuntu Enterprise Cloud

BHyVe. BSD Hypervisor. Neel Natu Peter Grehan

Performance And Scalability In Oracle9i And SQL Server 2000

Building Docker Cloud Services with Virtuozzo

How To Save Power On A Server With A Power Management System On A Vsphere Vsphee V (Vsphere) Vspheer (Vpower) (Vesphere) (Vmware

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

The QEMU/KVM Hypervisor

Tracing Kernel Virtual Machines (KVM) and Linux Containers (LXC)

Windows Server 2008 R2 Hyper V. Public FAQ

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Traditional v/s CONVRGD

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors

Google

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Virtualization. Types of Interfaces

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

Marvell DragonFly Virtual Storage Accelerator Performance Benchmarks

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Virtual Machine Security

Determining Overhead, Variance & Isola>on Metrics in Virtualiza>on for IaaS Cloud

OpenProdoc. Benchmarking the ECM OpenProdoc v 0.8. Managing more than documents/hour in a SOHO installation. February 2013

BridgeWays Management Pack for VMware ESX

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

Evaluation Methodology of Converged Cloud Environments

2) Xen Hypervisor 3) UEC

MySQL performance in a cloud. Mark Callaghan

Virtualization. Pradipta De

2972 Linux Options and Best Practices for Scaleup Virtualization

COS 318: Operating Systems. Virtual Machine Monitors

Database Virtualization

Next Generation Now: Red Hat Enterprise Linux 6 Virtualization A Unique Cloud Approach. Jeff Ruby Channel Manager jruby@redhat.com

Performance Optimization For Operational Risk Management Application On Azure Platform

Can High-Performance Interconnects Benefit Memcached and Hadoop?

Achieving Performance Isolation with Lightweight Co-Kernels

Real-Time KVM for the Masses Unrestricted Siemens AG All rights reserved

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Leveraging NIC Technology to Improve Network Performance in VMware vsphere

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Chapter 3 Operating-System Structures

RED HAT ENTERPRISE VIRTUALIZATION

RED HAT ENTERPRISE VIRTUALIZATION 3.0

Transcription:

Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 mdday@us.ibm.com 1

What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast Booting time! Provides Containers or Virtual Machines! Automatically Deployed and Updated! Updates are Atomic! Runs Workloads with Excellent Performance! Good Networking and Storage Support Provides network and block storage to containers or virtual machines 2

Most Cloud Operating Systems are Based Upon Linux! Kernel Configuration Enables Build of Tiny Kernels 3

Most Cloud Operating Systems are Based Upon Linux (cont d.)! Kernel Configuration Enables Tiny Kernels! GPL Enables Source Modification! Linux Enjoys a Heritage of Embedded Systems Embedded Systems share many requirements with Cloud Operating Systems! Choice of Network File Systems and Block Services! Up-to-Date Networking and Storage Support 4

Innovation in Cloud Operating Systems! Single-purpose Host OS - designed to Run Multiple Instances of a Different Guest OS! Perhaps Using the Same Kernel, Perhaps Not! Clustered and Distributed Host OS and toolkit 59

Innovation in Cloud Operating Systems, cont d.! Host Designed to Migrate Workloads! Atomic Updates of Host OS! Use of Non-Traditional Systems Languages! C++, golang! Unusual Performance Techniques! Single Memory Space! Abnormally High use of Lock-Free Algorithms and Structures! Collaborative Memory Management! Tickless Operation 69

Primary Techniques Used by Cloud Operating Systems to Reduce Overhead! Shared Host Kernel! Linux Containers - Each Workload Shares the Host Kernel!! Tiny, Super-tuned Guest Kernel! Running in a Virtual Machine! OSv - lockless, single memory space, paravirtual I/O, Cooperative Memory Management etc. 79

A Survey of Cloud Operating Systems! CoreOS Linux for Massive Server Deployments! https://coreos.com! Project Atomic Deploy and Manage your Docker Containers! http://www.projectatomic.io! OSV Probably the Best OS for Cloud Workloads! http://osv.io 8

OSv! http://osv.io Specialty Operating System Designed to Run Efficiently in a Virtual Machine Single process group, Single Memory space Built-in VM for running Java and other languages with same byte codes clib, POSIX environment virtio drivers, netchannels Implemented largely in c++ Significant re-use of freebsd XFS, networking stack 9

OSv Attacks on Overhead and Jitter! OSv Attacks on Performance Overhead: Avoids resource starvation through a very small kernel, single flat memory space Reduces Exits on faults through a single process group and single memory space No need to translate between user-space and kernel-space addresses.! OSv Attacks on Jitter: JVM collaborates with hypervisor, has intelligent garbage collection net channels moves protocol processing out of interrupt handler Single-process execution environment reduces synchronization issues Lock-free algorithms, RCU Tickless Scheduler 10

Docker! http://www.docker.com Distributed runtime (with REST API) for deploying Linux Containers (LXC). Docker is really about containers (for now) Docker package format and online repositories provide the real value. Linux Containers virtualize the host kernel Thinner virtualization than hypervisors, completely integrated with Linux Docker Container inherits the performance and jitter characteristics of the host kernel 11

Docker Attacks on Overhead and Jitter! Docker Attacks on Performance Overhead: With Docker containers, no additional resource translation beyond kernel and user spaces. Containers may use physical I/O devices; in which case we don t need interrupt virtualization Uses less memory than most hypervisors! Docker Attacks on Jitter: Does not need to virtualize timer, other interrupts More predictable scheduling model (one kernel scheduler - not two) Holds true for I/O schedulers as well 12

CoreOS! Small Linux Kernel! Linux Containers! Docker! etcd - Distributed Dictionary - Provides Service Discovery, events and Configuration! Atomic updates to Host OS through active/passive Partition Scheme! fleet Clustering - Run Container Workloads Throughout the Cluster 13

Project Atomic! Small Linux Kernel! Linux Containers! Docker! Atomic Updates with rpm-ostree! etcd - distributed dictionary also used in CoreOS! Anaconda Installer 14

Cloud OS Performance! We Can Review Two Different Comparisons! Linux Containers versus KVM Virtual Machines! OSv Guest versus Linux Guest 15

LXC Versus KVM Virtual Machines! Roughly Equal:! Memory Bandwidth! TCP Throughput! Sequential Block IO! NoSQL Deployment Scenario! Containers Exceed VMs: * Authors Failed to use a key I/O Optimization, and used a sub-optimal virtual disk configuration. They should have passed through block partitions and enabled host caching.! ** Authors used a sub-optimal virtual disk configuration. They should have passed through block partitions.! TCP Latency! Random Block IO and latency*! MySQL Throughput** http://goo.gl/zqfcl6 https://github.com/thewmf/kvm-docker-comparison 16

OSv Evaluation Compared OS v guest to Fedora 20 guest w/o firewall. On KVM host.! https://www.usenix.org/system/files/conference/atc14/atc14-paperkivity.pdf 17

Macro benchmarks Memcached. UDP. Single-vCPU guest, loaded with memaslap (90% get, 10% set) OSv throughput 22% better than Linux. Memcached reimplemented with packet-filtering API OSv throughput 290% better than baseline. SPECjvm2008. Suite of CPU/memory intensive Java workloads. Little use of OS services. Can't expect much improvement. Got 0.5%. Good correctness test (diverse, checks results). 18

OSv Micro benchmarks Netperf measure network stack performance. TCP single-stream thoughput: 24% improvement. UDP and TCP r/r latency: 37%-47% reduction. Context switch - two threads, alternate waking each other with pthreads condition variable. 3-10 times faster than in Linux. As little as 328 ns when two threads on same CPU. JVM Balloon microbenchmark where large heap and large page cache are needed, but not at the same time. Osv 35% faster than Linux. 19

OSv Latest unofficial results Experimental, non-release, code... Need more verification... Cassandra stress test, READ, 4 vcpu, 4 GB ram OSv 34% better Tomcat, servlet sending fixed response, 128 concurrent HTTP connections, measure throughput. 4 vcpus, 3GB OSv 41% better. 20

www.ibm.com/systems/kvm mdday@us.ibm.com 21