Achieving QoS in Server Virtualization



Similar documents
An OS-oriented performance monitoring tool for multicore systems

How Much Power Oversubscription is Safe and Allowed in Data Centers?

Computer Architecture

Performance Characterization of SPEC CPU2006 Integer Benchmarks on x Architecture

A-DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters

Cache Capacity and Memory Bandwidth Scaling Limits of Highly Threaded Processors

Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality

When Prefetching Works, When It Doesn t, and Why

Memory Bandwidth Management for Efficient Performance Isolation in Multi-core Platforms

Building a More Efficient Data Center from Servers to Software. Aman Kansal

Compiler-Assisted Binary Parsing

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

Performance Management for Cloudbased STC 2012

Analysis of Memory Sensitive SPEC CPU2006 Integer Benchmarks for Big Data Benchmarking

An Oracle Technical White Paper November Oracle Solaris 11 Network Virtualization and Network Resource Management

Scaling in a Hypervisor Environment

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

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

Practical Memory Checking with Dr. Memory

Rackspace Cloud Databases and Container-based Virtualization

Virtualizing Performance Asymmetric Multi-core Systems

FPGA Accelerator Virtualization in an OpenPOWER cloud. Fei Chen, Yonghua Lin IBM China Research Lab

Benchmarking Virtual Switches in OPNFV draft-vsperf-bmwg-vswitch-opnfv-00. Maryam Tahhan Al Morton

Enabling Technologies for Distributed Computing

Enabling Technologies for Distributed and Cloud Computing

CPU Performance Evaluation: Cycles Per Instruction (CPI) Most computers run synchronously utilizing a CPU clock running at a constant clock rate:

FACT: a Framework for Adaptive Contention-aware Thread migrations

Xen and the Art of. Virtualization. Ian Pratt

How To Improve Performance On A Multicore Processor With An Asymmetric Hypervisor

secubt : Hacking the Hackers with User-Space Virtualization

I/O virtualization. Jussi Hanhirova Aalto University, Helsinki, Finland Hanhirova CS/Aalto

Agenda. Context. System Power Management Issues. Power Capping Overview. Power capping participants. Recommendations

HP ProLiant Gen8 vs Gen9 Server Blades on Data Warehouse Workloads

Amazon EC2 XenApp Scalability Analysis

Cloud Computing through Virtualization and HPC technologies

VNF & Performance: A practical approach

Intel Graphics Virtualization Technology Update. Zhi Wang,

Avoid Paying The Virtualization Tax: Deploying Virtualized BI 4.0 The Right Way. Ashish C. Morzaria, SAP

IOS110. Virtualization 5/27/2014 1

Virtual Switching Without a Hypervisor for a More Secure Cloud

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

Cloud Optimize Your IT

Simplifying Big Data Deployments in Cloud Environments with Mellanox Interconnects and QualiSystems Orchestration Solutions

Full and Para Virtualization

Small is Better: Avoiding Latency Traps in Virtualized DataCenters

Microsoft Exchange Server 2007 and Hyper-V high availability configuration on HP ProLiant BL680c G5 server blades

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Q-Clouds: Managing Performance Interference Effects for QoS-Aware Clouds

Marvell DragonFly Virtual Storage Accelerator Performance Benchmarks

HP Helion OpenStack Carrier Grade REST API Copyright Hewlett-Packard Development Company, L.P. All rights reserved.

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

AlphaTrust PRONTO - Hardware Requirements

Software-Defined Networking Architecture Framework for Multi-Tenant Enterprise Cloud Environments

Flexible Building Blocks for Software Defined Network Function Virtualization (Tenant-Programmable Virtual Networks)

Understanding the Behavior of In-Memory Computing Workloads

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

Efficient Load Balancing using VM Migration by QEMU-KVM

Evaluation and Characterization of NFV Infrastructure Solutions on HP Server Platforms

Testing & Assuring Mobile End User Experience Before Production. Neotys

Linear-time Modeling of Program Working Set in Shared Cache

Performance characterization report for Microsoft Hyper-V R2 on HP StorageWorks P4500 SAN storage

A Scalable VISC Processor Platform for Modern Client and Cloud Workloads

VI Performance Monitoring

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

Performance of Network Virtualization in Cloud Computing Infrastructures: The OpenStack Case.

AMD SEAMICRO OPENSTACK BLUEPRINTS CLOUD- IN- A- BOX OCTOBER 2013

HQEMU: A Multi-Threaded and Retargetable Dynamic Binary Translator on Multicores

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Data Center Op+miza+on

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version Fix Pack 2.

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

Data Centers and Cloud Computing

THE REVOLUTION TOWARDS SOFTWARE- DEFINED NETWORKING

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Chapter 14 Virtual Machines

Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build

Performance tuning Xen

Memory Channel Storage ( M C S ) Demystified. Jerome McFarland

HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief

OpenPOWER Outlook AXEL KOEHLER SR. SOLUTION ARCHITECT HPC

Mark Bennett. Search and the Virtual Machine

Transcription:

Achieving QoS in Server Virtualization Intel Platform Shared Resource Monitoring/Control in Xen Chao Peng (chao.p.peng@intel.com) 1

Increasing QoS demand in Server Virtualization Data center & Cloud infrastructure - Both public/private clouds call for it, especially for multiple tenants environment - Key QoS requirements: o Service availability o Classes of service o Bandwidth / throughput Network Function Virtualization (NFV) - Intrinsic QoS demand from traditional carrier-grade telecommunication environment - Key QoS requirements: o Service availability o Classes of service o Bandwidth / throughput o Transmission delay / response time / interrupt latency o Low noise ratio and error detection 2

App Slowdown vs. Alone No QoS: Thread Contention 4.5 4 3.5 Full Contention (No QoS): CPU2006 29x29 Example on Haswell Client SPEC Pairs + Linux OS Low-Priority Applications (3 identical instances): astar bzip2 calculix bwaves cactusadm dealii 3 Cache/Memory Contention gamess GemsFDTD gcc gobmk 2.5 gromacs hmmer h264ref lbm 2 leslie3d mcf libquantum milc 1.5 namd perlbench omnetpp povray 1 povray hmmer namd gamess sjeng h264ref gromacs gobmk perlbench dealii calculix tonto libquantum zeusmp astar leslie3d GemsFDTD wrf cactusadm xalancbmk bzip2 gcc lbm omnetpp soplex milc bwaves mcf sphinx3 sjeng sphinx3 wrf zeusmp soplex tonto xalancbmk High Priority Application Stats Max Avg Geomean Data on Haswell Client (3GHz, 4 cores, 8MB cache, DDR3-1333, SPEC* CPU2006) Full Contention 4.37x 1.37x 1.31x Resource contention causes up to 4X slowdown in performance (Need ability to monitor and enforce cache/memory resource usage) 3

The fundamental reason for QoS in virtualization is Shared resource contention. Physical CPU - Realtime scheduler - CPU pinning/isolation for high priority VM Memory - Cache aware memory allocation - Dedicated memory region for high priority VM Shared device - Dedicated device assignment Platform shared resource, such as LLC, memory bandwidth? - NO! Software can t do anything for that. 4

Intel Platform Shared Resource Monitoring/Control Socket Core n Core 1 Core 0 Integrated I/O CPM 1 2 Last Level Cache Memory Controller Several Shared Resources (LLC, Memory Controller) cause execution contention No performance guarantees when App s / VM s run in parallel Can be detrimental to Communications workloads (NFV / SDN) PCI Express What is Platform QoS? DRAM DRAM DRAM 1. Cache Monitoring and Allocation 2. Memory Bandwidth Monitoring 3. Future Features (Under Research) 5

Platform QoS Vision Extending monitoring / enforcement across the platform Memory Bandwidth Monitoring Cache Code and Data Prioritization Cache Allocation Cache Monitoring Memory Rich Set of Technologies Developed Along Cache and Memory Vectors 6

Intel Resource Monitoring/Control Technologies Roadmap 2014 Intel Xeon E5 v3 Family Cache Monitoring Technology (CMT) 2015 Intel Xeon D-1500 Family Previous features, plus: Memory Bandwidth Monitoring (MBM) Cache Allocation Technology (CAT) 2016 Future Processors Previous features, plus: Code and Data Prioritization (CDP) Future: Features under consideration, feedback solicited Xen 4.5 Xen 4.6 Xen 4.7 Cache Monitoring Technology (CMT) Cache Monitoring Technology (CMT) Memory Bandwidth Monitoring (MBM) Cache Allocation Technology (CAT) Cache Monitoring Technology (CMT) Memory Bandwidth Monitoring (MBM) Cache Allocation Technology (CAT) Code and Data Prioritization (CDP) More New Features available for Xen 7

Platform Quality of Service: Key concept -- RMIDs and CLOS Resource Monitoring IDs (RMIDs) for the Monitoring features Classes of Service (CLOS) for the Allocation features Both organized as fields in IA32_PQR_ASSOC MSR Thread(s) Application(s) Applications VM(s) VM(s) Flexible N:M Mapping Resource Monitoring IDs (RMIDs) (Logical Construct) 8

High-Level Monitoring Usage Flow CMT Resource Association CMT Resource Marking CMT Resource Reporting On Context Switch* Application Memory Request Per Application Monitoring Request RMID (for resource tracking) Tag with RMID Event select for RMID Read monitoring counter PQR Register Memory Request Event request Example: Occupancy, Mem BW PQR RMID PQR RMID identifies application for QoS resource-aware cache unit 1 2 3 4 Cache Subsystem QoS Aware Resource Monitoring Monitoring counters 2 Monitoring counters Monitoring counters Monitoring counters Set 1 Way Set 2 2 Way Set 2 3 Way 16 Way.... 2.. Way 16 Way Set 2 n Way 16 Way 1 Way 16 Way 16 9

High-Level Allocation Usage Flow QoS Enum/Config QoS Association Allocation Enumerate CAT Configure class of Service w/ bitmasks On Context Switch Set Class of Service in PQR Application Memory Request Tag with Cache Class of service Config COS=2 Memory Request COS 1 COS 2 COS 3 COS 4 Architectural BitMask1 Mask1 Enforcement BitMask2 Target Mask2 2 BitMask3 Mask3 BitMask4 Mask4 Implementation dependent COS Transaction Cache Subsystem Enforce mask QoS Aware Cache Allocation Set 1 COS 1 Mask1 COS 2 Mask2 COS 3 Mask3 COS 4 Mask4 Way Set 2 2 Way Set 2 3 Way 16 Way.... 2.. Way 16 Way Set 2 n Way 16 Way 1 Way. 16.. Way 16 10

App Slowdown vs. Alone With CAT applied: Reduced Thread Contention 4.5 4 3.5 3 2.5 2 1.5 1 CAT Applied: 6MB Dedicated to HP App, LP Apps share 2MB povray hmmer namd gamess sjeng h264ref gromacs gobmk perlbench dealii calculix tonto libquantum zeusmp astar leslie3d GemsFDTD wrf cactusadm xalancbmk bzip2 gcc lbm omnetpp soplex milc bwaves mcf sphinx3 High Priority Application CAT Significantly reduces contention Remaining contention due to memory bandwidth Low-Priority Applications (3 identical instances): astar bzip2 calculix gamess GemsFDTD gromacs hmmer leslie3d mcf namd perlbench sjeng sphinx3 wrf zeusmp bwaves cactusadm dealii gcc gobmk h264ref lbm libquantum milc omnetpp povray soplex tonto xalancbmk Stats Max Avg Geomean Previous Contention Reduced Substantially! Full Contention 4.37x 1.37x 1.31x CAT Applied 3.44x 1.25x 1.22x Important Thread=6MB isolated, 3 Low-Priority threads share 2MB HP Mask: LP0 Mask: LP1 Mask: LP2 Mask: 11

12 12 Implementation in Xen - Overview Basic design for Xen Per-VM Monitoring/Allocation Mechanism in hypervisor, policy in user stack XL commands: # xl help psr-hwinfo psr-cmt-attach psr-cmt-detach psr-cmt-show psr-cat-cbm-set psr-cat-show Show hardware information for Platform Shared Resource Attach Cache Monitoring Technology service to a domain Detach Cache Monitoring Technology service from a domain Show Cache Monitoring Technology information Set cache capacity bitmasks(cbm) for a domain Show Cache Allocation Technology information More reference @ http://xenbits.xen.org/docs/unstable/misc/xl-psr.html

13 13 Implementation in Xen - Monitoring Step1: Check if CMT is supported $xl psr-hwinfo cmt Cache Monitoring Technology (CMT): Enabled : 1 Total RMID : 63 Supported monitor types: cache-occupancy total-mem-bandwidth local-mem-bandwidth Step4: Detach RMID from domain $xl psr-cmt-detach <domid> Step2: Attach RMID to domain $xl psr-cmt-attach <domid> Step3: Show monitoring data(llc cache occupancy) $xl psr-cmt-show cache_occupancy Total RMID: 63 Name ID Socket 0 Socket 1 Total L3 Cache Size 20480 KB 20480 KB Domain-0 0 14240 KB 14976 KB ExampleHVMDomain 1 4200 KB 2352 KB MBM: $ xl psr-cmt-show total_mem_bandwidth <domid> $ xl psr-cmt-show local_mem_bandwidth <domid>

14 14 Implementation in Xen - Allocation Step1: Check if CAT is supported $xl psr-hwinfo --cat Cache Allocation Technology (CAT): Socket ID : 0 L3 Cache : 12288KB Maximum COS : 15 CBM length : 12 Default CBM : 0xfff Step2: Set custom cache Bitmask for domain $xl psr-cat-cbm-set <domid> 0xff Step4: Set default cache bitmask for domain $xl psr-cat-cbm-set <domid> 0xfff Step3: Show domain LLC cache allocation $xl psr-cat-show Socket ID : 0 L3 Cache : 12288KB Default CBM : 0xfff ID NAME CBM 0 Domain-0 0xfff 1 HVM-guest 0xff Next Slide: Besides xl commands(which display usage info on screen), let s explore some benefits / use cases

Metering and monitoring CMT in Openstack - Any VM using more than X% of LLC: indicates heavy workload and node is busy. - All VM using less than X% of LLC: candidate for migration destination. Noisy neighbor detection - Define alarm for noisy neighbor, including cache threshold and alarm action. - Call alarm actions to do migration. - Use CMT filter to choose one node with enough available cache to do migration. Nova api(creat a flavor with cmt in extra_specs) Nova api Scheduler (choose the node with CMT feature) Compute (create/delete instance and update the cmt_counter ) 15

Percent Distribution Percent Distribution CAT improves NFV interrupt latency 100 80 60 40 20 0 Interrupt Latency -- No CAT 7 8 9 10 11 Interupt Latency (us) No CAT Interrupt Latency with Aggressor Application (Fork Bomb) unpredictable with long tail 100 80 60 40 20 0 Interrupt Latency -- With CAT 7 8 9 10 11 Interupt Latency (us) With CAT Cache Allocation Technology successfully contains the aggressor application Significant improvements to interrupt-processing latency and predictability! See more @ Cache Allocation Technology Improves Real-Time Performance 16

CMT/CAT feedback loop Start Setup Policy, and associate RMID s with Applications Monitor Platform Occupancy Utilize Monitoring (CMT or MBM) and Allocation (CAT) capabilities to build feedback loop to control efficient use of shared resources Optimize Cache and Memory Bandwidth allocation based on priorities A variety of throughput or prioritization-based algorithms have been shown to provide benefit depending on use model NO Scale out? YES Adjust CAT Bitmask Policy Change 17

Feature Improvement Possible future work - HW: More RMID/CLOS. - HW: Incremental feature improvements to reduce latencies. - SW: RMID recycling in Xen (Linux already has this). Future Features - Under consideration Driven by customer feedback! Xen Scheduler improvement - Intel Cache Monitoring: Current Status and Future Opportunities by Dario Faggioli Guest emulation - Expose these technologies to guest so that guest and apps can take advantage of it. More usage models - In program or in end-user scenarios. 18

Additional Resources Specification & Reference o Cache Monitoring and Cache Allocation Technology Landing page o Architecture Software Development Manual(Vol 3b., Chapter 17.14 and 17.15, covers CMT, CAT, MBM, CDP) Blogs o Part 1: Introduction to CMT o o o Part 2: Discussion of RMIDs and CMT Software Interfaces Part 3: Use Models and Example Data Part 4: Software Supports and Tools: Intel's Cache Monitoring Technology: Software Support and Tools NFV o NFV Delivers Packet Processing Performance with Intel o o Cache Allocation Technology Improves Real-Time Performance Packet Processing - Cache Monitoring Technology, Memory Bandwidth Monitoring & Cache Allocation Technology Xen o Intel Cache Allocation Technology(CAT) design for XEN o Intel Cache Monitoring: Current Status and Future Opportunities 19

Thank you! 20