39
Evaluating CPU utilization in a Cloud Environment 2/11/2017 ICS 610: Thesis Proposal Presented by Hafiz ur Rahman MSCS KFUPM, KSA Supervised by Dr. Farag Ahmed Azzedin Thesis Committee Members Dr. Naizi Dr. Salah Uddin ICS Department, KFUPM

Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Evaluating CPU utilization in a Cloud

Environment

2/11/2017

ICS 610: Thesis Proposal

Presented by

Hafiz ur Rahman

MSCS KFUPM, KSA

Supervised by

Dr. Farag Ahmed Azzedin

Thesis Committee Members

Dr. Naizi

Dr. Salah Uddin

ICS Department, KFUPM

Page 2: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman2 of 36

Introduction

Background

Virtualization Approaches and Challenges

Related Work

Problem Statement

Research Objectives

Motivation and Contributions

Methodology

Outline

Page 3: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman3 of 36

Cloud computing allows users and businesses to access their data

and applications from any device and anywhere in the world

Virtualization is the fundamental element of cloud computing by

which we can deliver resources or data as a service

Virtualization technology is used for sharing the resources among

various virtual machines

Virtualization can be done to various resources such as CPU, memory

or I/O devices

Introduction

Page 4: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman4 of 36

In traditional computer systems, the hardware resources are

underutilized and not fully consumed

The traditional data centers have several shortcomings

Increased physical infrastructure cost

Difficulty in management of computing resources

High consumption of IT staff’s time and effort

Decreased scalability and agility

Disaster recovery

Migration challenges

Introduction

Page 5: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman5 of 36

Many organizations are adopting virtualization technology to reduce

the cost while maximizing the productivity, flexibility, responsiveness,

and efficiency

Introduction

Page 6: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman6 of 36

Virtualization is a technology to run multiple operating systems which

are completely isolated from each other on a single machine and

giving an illusion that each OS is running on real HW

An example of running Windows, Linux, Mac OSs on the same machine

What is Virtualization?

Hardware

Virtual Machine Monitor

Windows

App App

App

Linux

App App

App

Mac

App App

Windows

App App

App

Linux

App App

App

Mac

App App

Page 7: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman7 of 36

The core component of cloud computing

Responsible for creating different virtual machines (VMs)

The resources such as CPU, memory, network, and data are shared

among the different virtual machines and completely managed by the

hypervisor

The Hypervisor (Virtual Machine Monitor)

Page 8: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman8 of 36

Types of Hypervisor

Page 9: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman9 of 36

Hypervisors’ architecture & types

Guest VM

Guest OS

Host OS

VMM

HW

Guest VM

Guest OS

VMM

Guest VM

Guest OS

HW

Guest VM

Guest OS

Type I called Bare Metal or native Type II called Hosted

• Runs directly on top of the host machine

to control access to the hardware and

to manage the guest OSs

• The most important characteristic of type I

hypervisor is performance

OS-independent VMM• Xen, KVM, VMware ESXi, Hyper-V• Mostly for server

• It is installed as an application on top of

a traditional OS

OS-dependent VMM• VMware Workstation, VirtualBox• Mostly for client devices

Page 10: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman10 of 36

The x86 platform (instruction set architecture) is the dominant and

most commonly architecture in data centers

Virtualization Approaches and Challenges

The x86 platform privileged rings

Page 11: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman11 of 36

In virtualization environment type 1 hypervisor runs in Ring 0 andcontrol the overall system resources like OS and the VM behaviors isexactly the same as the user application program

System resources such as CPU, Main Memory, I/O etc., arevirtualized to virtual machine

The hypervisor moves up the guest OS to a ring above anddeprivilege it

Hypervisor can’t allow the guest OS to run at the level formwhich it originally design because doing so might corrupt thehypervisor code and data

Virtualization Approaches and Challenges

Page 12: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman12 of 36

Virtualization Approaches and Challenges

Page 13: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman13 of 36

Running a hypervisor in the most privileged level without modify the

guest OS is a big challenge in virtualization

The x86 platform was not designed with virtualization support

It was designed to execute a single instance of OS

Virtualization Approaches and Challenges

Page 14: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman14 of 36

In order to handle the challenges of x86 platform virtualization, there

are three main alternative approaches

Full Virtualization (FV) (using binary translation, 1998)

Para Virtualization (PV) (OS assisted Virtualization, 2002)

Hardware Assisted Virtualization (HAV, 2006)

Solution

Page 15: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman15 of 36

Solution…

Page 16: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman16 of 36

CPU installed on the host is only one set, but each VM that runs on

the host requires their own CPU. Therefore CPU needs to be

virtualized

CPU utilization is the amount of work handled by a CPU

It is the metric that represents how busy is a processor

It shows whether the CPU on the host is completely occupied

CPU utilization

Page 17: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman17 of 36

CPU utilization

Page 18: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman18 of 36

Work Hypervisor Used Virtualiz

ation

Type

Bench

marking

Tool

Hypervisor

Comparison

vCPU-pCPU

Mapping

Machine

Level

Configur

ation

BIOS

Level

Configur

ation

Hypervisor

Level

Configur

ation

VM

Level

Configur

ation

OS

Level

Configur

ation

Hwang et al.

[1]

VMware EXSi

5.0,

Hyper-v2008R2,

KVM 2.6,Xen

4.1.2

HAV Ramspee

d,

Netperf

√ Randomly * * * * *

S. Varette et al,

[4]

Xen, VirtualBox

Hyper-V,

VMware,

KVM,

OVM

HAV HPL √ Randomly * * * * *

Mancas

[15]

Vmware,

KVM

Not

Mention

Passmas

k√ Randomly * * * * *

Literature Review

√ : Authors compared different hypervisors

Page 19: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman19 of 36

Literature ReviewWork Hypervisor Used Virtualiz

ation

Type

Bench

marking

Tool

Hypervisor

Comparison

vCPU-pCPU

Mapping

Machine

Level

Configur

ation

BIOS

Level

Configur

ation

Hypervisor

Level

Configur

ation

VM

Level

Configur

ation

OS

Level

Configur

ation

Abdullatif et

al, [17]

XenServer

6.0.2,

Hyper-v2008R2,

VMware EXSi5

FV DVD

Store

√ Randomly * * * * *

Babu et al

[18]

XenServer,

OpenVZ,

Xen

Contain

er,

PV,

FV

Unixben

ch√ Randomly * * * * *

Charles David

[21]

KVM (RHEL 5),

Xen 3.1.2

HAV,

PV

PTS √ Randomly * * * * *

√ : Authors compared different hypervisors

Page 20: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman20 of 36

Literature ReviewWork Hypervisor Used Virtualiz

ation

Type

Bench

marking

Tool

Hypervisor

Comparison

vCPU-pCPU

Mapping

Machine

Level

Configur

ation

BIOS

Level

Configur

ation

Hypervisor

Level

Configur

ation

VM

Level

Configur

ation

OS

Level

Configur

ation

Zong et al.

[9]

Xen 3.4.0 Unknown Apache

TPC-H* Not Randomly * * *

Kourai et al,

[10]

Xen 4.4.03 FV Tascell * Not Randomly * * * *

Sogand et al.

[11]

VMware EXSi

5.5

Unknown Vcenter

Perform

ace,

SSH +

Sar

* Not Randomly * * * *

: Authors configured

Page 21: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman21 of 36

Motivation

There are a variety of vendors for the different virtualization types bywhich cloud environments can be built

When applying virtualization technology to an infrastructureenvironment, which hypervisor among others is better and faster interms of CPU utilization?

Before deploying a VM in a cloud environment which vCPU-VMconfiguration is the best to improve CPU utilization?

Is there any other setting or configuration by which CPU utilizationcan be improved?

Page 22: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman22 of 36

Problem Statement

In virtualize environments, the higher the percentage of the CPU

utilized by the hypervisor => The maximum throughput and better

utilization of hardware resources will be achieved

CPU utilization can be improved at different levels tuning up different

components

Page 23: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman23 of 36

Problem Statement CPU utilization can be improved at different levels tuning up different

components, a user can tune up

VM Level: vCPU-pCPCU commitment

OS Level: setting for power management & the OS scheduling algorithm

(open source OS Kernel)

Hypervisor Level: the hypervisor scheduler, vCPU-pCPU mapping &

NUMA latency for better CPU utilization

BIOS Level: setting for power management

Page 24: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman24 of 36

Problem Statement

We will focus on vCPU-pCPU mapping, vCPU-VM assignment and the

default hypervisor scheduler tuning using different hypervisors to find

out the variation in CPU utilizations

Page 25: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman25 of 36

Research Objectives

To evaluate CPU utilization in a cloud environment based on that wewill compare the performance of the most popular open sourcehypervisors (Citrix Xenserver version 7.0 & KVM 2.6.20)

We will investigate and present the best vCPU configuration for VMin a cloud environment through which better performance andmaximum CPU utilization can be expected for each hypervisors

We will also analysis and discuss the strength and weakness of eachhypervisor for CPU utilization

Our findings will be a road map to assist organizations andresearchers to choose the better hypervisor and configuration fortheir specific needs

Page 26: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman26 of 36

Contributions

Based on the related work, researchers evaluate and analyze

hypervisors without investigating the best vCPU-VM configuration and

vCPU-pCPU mapping through which better CPU utilization and

performance for each hypervisor can be expected

They assigned vCPU to VM based on non-suitable configuration

As a main contribution, this research will focus on vCPU-pCPU

mapping using the latest version of open source hypervisors (Citrix

XenServer and KVM) to find out the variation in CPU utilization prior

to evaluate the hypervisors

Page 27: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman27 of 36

Contributions

We will provide recommendations for vCPU-VM configuration and

vCPU-pCPU mapping through which better CPU utilization on each

hypervisor can be achieved

As a result, both system administrators and researchers will get the

benefits, when they deploy VMs in a cloud environment or evaluate

open source and commercial hyperviosrs (Citrix XenServer, KVM,

VMmware and Hyper-V)

Page 28: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman28 of 36

Methodology

The aim is to conduct a fairly comparative study for CPU utilization in

a cloud environment using state-of-the-art hypervisors (Citrix

XenServer and KVM)

Phronix Testing Suite (PTS) benchmarking tool will be used since it

can track CPU performance & a useful tool for performance

investigations

Page 29: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman29 of 36

Methodology

Page 30: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman30 of 36

Methodology

Page 31: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman31 of 36

Timeline of the thesis tasks

Page 32: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will
Page 33: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman33 of 36

Thank You !

Page 34: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman34 of 36

Page 35: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman35 of 36

Page 36: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman36 of 36

Page 37: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will

Thesis Proposal Hafiz ur Rahman37 of 36

Page 38: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will
Page 39: Evaluating CPU utilization in a Cloud Environmenthafiiz.weebly.com/uploads/2/7/2/5/27255691/proposal.pdf · To evaluate CPU utilization in a cloud environment based on that we will