XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.

Slides:



Advertisements
Similar presentations
Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
Advertisements

Virtual Memory (II) CSCI 444/544 Operating Systems Fall 2008.
SLA-Oriented Resource Provisioning for Cloud Computing
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
VSphere vs. Hyper-V Metron Performance Showdown. Objectives Architecture Available metrics Challenges in virtual environments Test environment and methods.
Efficient Autoscaling in the Cloud using Predictive Models for Workload Forecasting Roy, N., A. Dubey, and A. Gokhale 4th IEEE International Conference.
Uniprocessor Scheduling Chapter 9. Aim of Scheduling The key to multiprogramming is scheduling Scheduling is done to meet the goals of –Response time.
Fair Scheduling in Web Servers CS 213 Lecture 17 L.N. Bhuyan.
ENFORCING PERFORMANCE ISOLATION ACROSS VIRTUAL MACHINES IN XEN Diwaker Gupta, Ludmila Cherkasova, Rob Gardner, Amin Vahdat Middleware '06 Proceedings of.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 2: Managing Hardware Devices.
Operating Systems Operating System Support for Multimedia.
Dynamic Process Allocation in Apache Server Yu Cai.
1 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Scheduling I/O in Virtual Machine Monitors Diego Ongaro, Alan L. Cox, and Scott Rixner.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 2: Managing Hardware Devices.
CPU Scheduling Chapter 6 Chapter 6.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Bottlenecks: Automated Design Configuration Evaluation and Tune.
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.
Storage Management in Virtualized Cloud Environments Sankaran Sivathanu, Ling Liu, Mei Yiduo and Xing Pu Student Workshop on Frontiers of Cloud Computing,
Improving Network I/O Virtualization for Cloud Computing.
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
Power and Performance Modeling in a Virtualized Server System M. Pedram and I. Hwang Department of Electrical Engineering Univ. of Southern California.
Profiling and Modeling Resource Usage of Virtualized Applications Timothy Wood 1, Ludmila Cherkasova 2, Kivanc Ozonat 2, and Prashant Shenoy 1 1 University.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
Chapter 3 System Performance and Models. 2 Systems and Models The concept of modeling in the study of the dynamic behavior of simple system is be able.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Profiling and Modeling Resource Usage.
Xen (Virtual Machine Monitor) Operating systems laboratory Esmail asyabi- April 2015.
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
MClock: Handling Throughput Variability for Hypervisor IO Scheduling in USENIX conference on Operating Systems Design and Implementation (OSDI ) 2010.
Instrumentation of Xen VMs for efficient VM scheduling and capacity planning in hybrid clouds. Kurt Vermeersch Coordinator: Sam Verboven.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
VTurbo: Accelerating Virtual Machine I/O Processing Using Designated Turbo-Sliced Core Embedded Lab. Kim Sewoog Cong Xu, Sahan Gamage, Hui Lu, Ramana Kompella,
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Monitoring and Managing Server Performance. Server Monitoring To become familiar with the server’s performance – typical behavior Prevent problems before.
Full and Para Virtualization
Technical Reading Report Virtual Power: Coordinated Power Management in Virtualized Enterprise Environment Paper by: Ripal Nathuji & Karsten Schwan from.
An Efficient Threading Model to Boost Server Performance Anupam Chanda.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
1 PERFORMANCE DIFFERENTIATION OF NETWORK I/O in XEN by Kuriakose Mathew ( )‏ under the supervision of Prof. Purushottam Kulkarni and Prof. Varsha.
Scheduling.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Process Management Process Concept Why only the global variables?
Operating Systems (CS 340 D)
Uniprocessor Scheduling
Process Scheduling B.Ramamurthy 9/16/2018.
Operating Systems (CS 340 D)
Comparison of the Three CPU Schedulers in Xen
Process Scheduling B.Ramamurthy 11/18/2018.
Zhen Xiao, Qi Chen, and Haipeng Luo May 2013
Process Scheduling B.Ramamurthy 12/5/2018.
Process & its States Lecture 5.
TDC 311 Process Scheduling.
Operating systems Process scheduling.
CPU SCHEDULING.
Erlang Multicore support
Resource Cages: A New Abstraction of the Hypervisor for Performance Isolation Considering IDS Offloading Kenichi Kourai*, Sungho Arai**, Kousuke Nakamura*,
Cloud Computing VM Scheduling
Process Scheduling B.Ramamurthy 2/23/2019.
Chien-Chung Shen CIS/UD
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Chapter 3: Processes Process Concept Process Scheduling
Uniprocessor Scheduling
Xing Pu21 Ling Liu1 Yiduo Mei31 Sankaran Sivathanu1 Younggyun Koh1
Presentation transcript:

XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1

Agenda  Introduction  XenMon – architecture  XenMon – metrics  Experimental Setup  Web Service Performance  Conclusion 2

Introduction(1/2)  describes a new performance monitoring tool, XenMon  assistance in billing and for a wide variety of management tasks such as  support for policy-based resource allocation  admission control of new VMs  support for VMs migration  QoS provisioning of VMs 3

Introduction(2/2)  presents a performance case study  demonstrates and explains how different metrics reported by XenMon can be used in gaining insight into an application’s performance and its resource usage/requirements, especially in the case of I/O intensive applications.  how sensitive is the performance of I/O intensive applications (in particular a web server) to the amount of CPU allocated to Dom0 4

XenMon – architecture(1/3) 5

XenMon – architecture(2/3)  xentrace  a light weight event generation facility present in Xen.  it is possible to raise events at arbitrary control points in the hypervisor.  allows some attributes to be associated with each event (for instance, for a “domain scheduled” event, the associated attributes might be the ID of the scheduled domain and the timestamp of the event). 6

XenMon – architecture(3/3)  xenbaked  a user-space process that catches events generated by xentrace and processes them into meaningful information.  highly configurable how many samples to record per second, how many seconds of history should be kept the sampling frequency..etc  exports the processed data in a language neutral manner  xenmon  this is the front-end for displaying and logging the data.  written in python which makes it very portable  low overhead – observe a maximum of 1-2% overhead 7

XenMon – metrics(1/3) 8

XenMon – metrics(2/3)  XenMon reports a variety of metrics that are accumulated over the  execution period (time interval that domain was scheduled to use CPU)  last second  10 seconds.  CPU usage  shows a percentage of time (for example, over 1 second) when a domain used CPU;  Blocked time  reflects a percentage of time a domain spent while blocked on some I/O event, i.e. a domain was not on the run queue  Waiting time  shows a percentage of time a domain spent waiting on the run queue to be scheduled for CPU. 9

XenMon – metrics(3/3)  provides I/O count metric that is a rough measure of I/O requested by the domain  the number of memory page exchanges (or page ”flips”) between a domain and Dom0 10

Experimental Setup(1/4)  for I/O intensive applications, CPU usage has two components  CPU consumed by the guest virtual machine (VM), where the application resides  CPU consumed by Dom0 that incorporates device driver and performs I/O processing on behalf of the guest domain  performed a sensitivity study of how web server performance depends on the amount of CPU allocated to Dom0 11

12

Experimental Setup(2/4)  1-CPU HP x4000 Workstation  1.7 GHz Intel Xeon processor  2 GB RAM  Xen 3.0. Dom1  Apache HTTP server version  httperf tool  sending the client requests that retrieve 10 KB files  provides a flexible facility for generating various HTTP workloads and for measuring server performance 13

Experimental Setup(3/4)  Xen 3.0 was booted with the Borrowed Virtual Time scheduler (BVT) as a CPU scheduler  BVT provides proportional fair share CPU scheduling based on weights.  Each runnable domain receives a share of CPU in proportion to its weight  Current BVT implementation is a work conserving scheduler 14

Experimental Setup(4/4)  4 different configurations  Conf 0.5 Dom0 is assigned a weight of 10, and Dom1 is assigned a weight of 20. This means that Dom0 is allocated half of the CPU share compared to Dom1 CPU share, i.e. Dom0 = 0.5 × Dom1in CPU shares;  Conf Equal  Conf 2  Conf 10 15

Web Service Performance(1/12) Web Server Throughput Response Time 16

Web Service Performance(2/12) ---CPU Utilization 17

Web Service Performance(3/12) -- Blocked Time 18

Web Service Performance(4/12) -- Waiting Time 19

Web Service Performance(5/12)  Each runnable domain Dom i receives a share of CPU in proportion to its weight weight i.  To achieve this, the virtual time of the currently running Dom i is incremented by its running time divided by weight i.  the virtual time of domains with higher CPU allocations increases more slowly, and such a domain has a higher chances in getting CPU allocated to it because its virtual time is lower 20

Web Service Performance(6/12)  Dom0 gets “priority”  Dom0 gets served quickly, and after that it gets blocked on the next I/O event  For Dom1, the situation is somewhat reversed  Dom1 gets blocked on I/O events less and less often  under heavier load, the time for Dom1 consists of two components: waiting time in the run queue CPU processing (run) time 21

Web Service Performance(7/12) -- I/O count 22

Web Service Performance(8/12)  In configuration Conf10, there are fewer than 1.4 memory page exchanges per execution period on average.  it means that Dom0 is scheduled for CPU processing on each interrupt!  leads to a lower overall I/O count per second between Dom0 and Dom1 23

Web Service Performance(9/12) -- Execution Counts 24

Web Service Performance(10/12) -- Gotten Time 25

Web Service Performance(11/12)  less than or equal to 800 requests per second, there is a high number of “short” execution periods per second with an average duration of less than 60 microseconds  under heavier load to the web server, in configuration Conf 0.5, a much smaller number (around 400) of “longer” execution periods with an average duration of 1,000 microseconds for Dom0 and 2,000 microseconds for Dom1.  over such longer execution periods, Dom0 is capable of processing an order of magnitude more I/O interrupts with much less processing cost 26

Web Service Performance(12/12) 27  As for configurations with increased CPU allocation to Dom0  under heavy load to the web server, these configurations are causing a high number (10, ,000) of “short” execution periods with an average duration of microseconds  Such frequent domain switches for CPU processing results in high overhead for I/O processing and leads to poor application performance

Conclusion  described XenMon’s monitoring and profiling capabilities  can be used in gaining insight into an application’s performance and its resource usage/requirements  XenMon helped in revealing the system behavior and in getting insight into how I/O processing impacts the application performance. 28

29  THE END