云计算入门 Introduction to Cloud Computing GESC1001

Similar documents
云计算入门 Introduction to Cloud Computing GESC1001

EqualLogic Best Practices for SQL Server Deployments

The State and Opportunities of HPC Applications in China. Ruibo Wang National University of Defense Technology

信息检索与搜索引擎 Introduction to Information Retrieval GESC1007

Understanding IO patterns of SSDs

新一代 ODA X5-2 低调 奢华 有内涵

H3C CAS 虚拟机支持的操作系统列表. Copyright 2016 杭州华三通信技术有限公司版权所有, 保留一切权利 非经本公司书面许可, 任何单位和个人不得擅自摘抄 复制本文档内容的部分或全部, 并不得以任何形式传播 本文档中的信息可能变动, 恕不另行通知

信息检索与搜索引擎 Introduction to Information Retrieval GESC1007

IBM 开源技术微讲堂容器技术与微服务系列

Machine Vision Market Analysis of 2015 Isabel Yang

IBM 开源技术微讲堂容器技术与微服务系列

Silverlight 3 概览 俞晖市场推广经理微软 ( 中国 ) 有限公司

Operating Systems. Chapter 4 Threads. Lei Duan

Oracle 一体化创新云技术 助力智慧政府信息化战略. Copyright* *2014*Oracle*and/or*its*affiliates.*All*rights*reserved.** *

信息检索与搜索引擎 Introduction to Information Retrieval GESC1007

2. Introduction to Digital Media Format

Distributed Systems COMP 212. Lecture 18 Othon Michail

DBI-B311. Revolution R 和微软数据平台 赵利超微软数据平台技术专家

Evolution of Transparent Computing with UEFI - Intel s Practice on TC. Lu Ju Director, Platform Software Infrastructure, Intel Asia Pacific R&D Ltd

XPS 8920 Setup and Specifications

特性 Intel Atom 处 器, 支持 Windows 10 IoT & Android 6.0 双操作系统 10.1 寸 WUXGA 电容式多点触控屏, 康宁 GG3 玻璃适用于工业环境

ASTRI 5G/NGN Initiative Overview

Nvidia GPU Support on Mesos: Bridging Mesos Containerizer and Docker Containerizer

第二小题 : 逻辑隔离 (10 分 ) OpenFlow Switch1 (PC-A/Netfpga) OpenFlow Switch2 (PC-B/Netfpga) ServerB PC-2. Switching Hub

Presentation Title. By Author The MathWorks, Inc. 1

Build a Key Value Flash Disk Based Storage System. Flash Memory Summit 2017 Santa Clara, CA 1

UK-China Science Bridges: R&D of 4G Wireless Mobile Communications. An Introduction of Shanghai Research Center for Wireless Communications (WiCO)

Altera 器件高级特性与应用 内容安排 时钟管理 时钟管理 片内存储器 数字信号处理 高速差分接口 高速串行收发器. 时钟偏斜 (skew): 始终分配到系统中到达各个时钟末端 ( 器件内部触发器的时钟输入端 ) 的时钟相位不一致的现象 抖动 : 时钟边沿的输出位置和理想情况存在一定的误差

IBM 企业业务连续性方案建议书. System x3850m2+ds4700/ds5000

梁永健. W K Leung. 华为企业业务 BG 解决方案销售部 CTO Chief Technology Officer, Solution Sales, Huawei

Division of Science and Technology

Outline. Motivations (1/3) Distributed File Systems. Motivations (3/3) Motivations (2/3)

HAWQ. MPP SQL for HDFS of Hadoop 基于 Hadoop 原生 HDFS 的大规模并行 SQL

测试基础架构 演进之路. 茹炳晟 (Robin Ru) ebay 中国研发中心

Triangle - Delaunay Triangulator

Cloud Computing Application I: Virtualization, Hadoop. Dr. Laiping Zhao ( 赵来平 ) School of Computer Software, Tianjin University

HBase 在 hulu 的使用和实践. hulu

Safe Memory-Leak Fixing for C Programs

智能终端与物联网应用 课程建设与实践. 邝坚 嵌入式系统与网络通信研究中心北京邮电大学计算机学院

学习沉淀成长分享 EIGRP. 红茶三杯 ( 朱 SIR) 微博 : Latest update:

2.8 Megapixel industrial camera for extreme environments

5.1 Megapixel machine vision camera with GigE interface

我们应该做什么? 告知性分析 未来会发生什么? 预测性分析 为什么会发生 诊断性分析 过去发生了什么? 描述性分析 高级分析 传统 BI. Source: Gartner

Microsemi - Leading Innovation for China s Hyperscale Data Centers

Information is EVERYTHING 微軟企業混和雲解決方案. November 24, Spenser Lin. Cloud Infra Solution Sales, Microsoft Taiwan

Apache OpenWhisk + Kubernetes:

云计算时代的嵌入式产业. Embedded Industry in The Age of Cloud Computing. Hope Zhao( 赵慧波 ) SDD Business Manager July, 2010

Next Gen Opportunities. Lilian Jiang 姜宁 17/03/2016

AvalonMiner Raspberry Pi Configuration Guide. AvalonMiner 树莓派配置教程 AvalonMiner Raspberry Pi Configuration Guide

凡凡一书农 深居都市中 工作写代码 闲来爱捉虫 都言此道苦 我觉乐无穷 如不遇软件 此身何所用

Chapter 1 (Part 2) Introduction to Operating System

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 7: Deadlocks. Operating System Concepts 9 th Edition

Virtual Memory Management for Main-Memory KV Database Using Solid State Disk *

Spark Standalone 模式应用程序开发 Spark 大数据博客 -

China Next Generation Internet (CNGI) project and its impact. MA Yan Beijing University of Posts and Telecommunications 2009/08/06.

Murrelektronik Connectivity Interface Part I Product range MSDD, cable entry panels MSDD 系列, 电缆穿线板

: Operating System 计算机原理与设计

下一代互联网的发展 Next Generation Internet

PCU50 的整盘备份. 本文只针对操作系统为 Windows XP 版本的 PCU50 PCU50 启动硬件自检完后, 出现下面文字时, 按向下光标键 光标条停在 SINUMERIK 下方的空白处, 如下图, 按回车键 PCU50 会进入到服务画面, 如下图

计算机科学与技术专业本科培养计划. Undergraduate Program for Specialty in Computer Science & Technology

Digital Asset Management 数字媒体资源管理理 2. Introduction to Digital Media Format

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Application of Mobile IP and Mobile Internet

在数据中心中加速 AI - Xilinx 机器学习套件 (Xilinx ML Suite )

LAB 5: S-parameter Simulation and Optimization

嵌入式 Linux 中的文件系统 : 设计思想和工作原理

CHAPTER 5 NEW INTERNET APPLICATIONS

Computer Networks. Wenzhong Li. Nanjing University

LAB 3: DC Simulations and Circuit Modeling

: Operating System 计算机原理与设计

Computer Networks. Feng Lin School of Computer Science Sichuan University

[ 电子书 ]Spark for Data Science PDF 下载 Spark 大数据博客 -

提升设备制造应用效能 -- 适应物联网发展的嵌入式 IPC. 麦文浩 Max,Mak Embedded IPC ARK PSM

XML allows your content to be created in one workflow, at one cost, to reach all your readers XML 的优势 : 只需一次加工和投入, 到达所有读者的手中

Chap1 Introduction. Outline. An Example System. 1.1 Overview. Computer organization and architecture. Computer organization and architecture

NVIDIA CUDA 超大规模并行. 邓仰东 清华大学微电子学研究所

S 1.6V 3.3V. S Windows 2000 Windows XP Windows Vista S USB S RGB LED (PORT1 PORT2 PORT3) S I 2 C. + 表示无铅 (Pb) 并符合 RoHS 标准 JU10 JU14, JU24, JU25

3dvia Composer Solidworks

Testbed Overview in China Xiaohong Huang Beijing University of Posts and Telecommunications

Mini Wireless Keyboard 迷你无线键盘

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

Boot loader in embedded systems

¼'' TS 法律声明 10. MUSIC Tribe

Green Computing Cloud Computing LSD Tech Co., Ltd SSD server & SSD Storage Cloud SSD Supercomputer LSD Tech Co., LTD

Microsoft RemoteFX: USB 和设备重定向 姓名 : 张天民 职务 : 高级讲师 公司 : 东方瑞通 ( 北京 ) 咨询服务有限公司

B c e k c h k o h f o f f

Advanced Design System Fundamentals

XData: Sugon all-in-one BigData Machine

三 依赖注入 (dependency injection) 的学习

密级 : 博士学位论文. 论文题目基于 ScratchPad Memory 的嵌入式系统优化研究

饲服驱动在激光切割行业的应用 岑海亮

CSC 5930/9010 Cloud S & P: Virtualization

Vista 程序员的好帮手. XXX DPE, Microsoft China

TOP100 从代码修改到持续交付给客户 快速自动化软件集成及交付实践

Previous on Computer Networks Class 18. ICMP: Internet Control Message Protocol IP Protocol Actually a IP packet

PTZ PRO 2. Setup Guide 设置指南

Chapter 5 C. Virtual machines

Chapter 1 (Part 1) Computer Abstractions and Technology ( 计算器抽象化与科技 )

3D Laser Scanning Minicar

Transcription:

Lecture #6 云计算入门 Introduction to Cloud Computing GESC1001 Philippe Fournier-Viger Professor School of Humanities and Social Sciences philfv8@yahoo.com Fall 2017 1

Introduction Last week: how cloud applications can be developed using the MapReduce framework, the second assignment was announced due on the 20 th October Today: resource virtualization ( 资源虚拟化 ) in the cloud 2

Course schedule Week 1 Week 2 Week 3 Introduction and overview Distributed and parallel systems Cloud infrastructure Week 4 Cloud application paradigm (1) Week 5 National holiday Week 6 Cloud application paradigm (2) Week7 Week 8 Week 9 Week 10 Cloud virtualization and resource management Cloud computing storage systems Cloud computing security Final exam 3

ADDITIONAL INFORMATION 4

Introduction Last week, we talked about MapReduce. MapReduce is a model to create cloud applications. It is used for developing applications that can be used in the cloud. It is called MapReduce because there are two steps called Map and Reduce. Reading data Map Writing data Reduce Writing data 5

Introduction MapReduce is a popular model. There are many other models for developing cloud applications. For example: Apache Spark Apache Storm 6

Apache SPARK Spark is more complicated than MapReduce. Spark offers more than 100 operators to transform data. Spark can be used with the Java, Python and Scala programming languages ( 编程语言 ). 7

Apache SPARK A problem of MapReduce is that it reads and write data many times to the storage 存储 (before and after each Map or Reduce operation). Reading data Map Writing data Reduce Writing data This can make a cloud application slower. Solution: Using Spark, data can be kept in memory. In other words, data is not read and writtenmany times. Spark can read and transform data. However, Spark is lazy. It only read and transform data when an action needs to be performed on the data. 8

Apache SPARK When Spark transforms data, the data is then stored in a structure called: Resilient Distributed Dataset (RDD). Resilient = 能复原的 Distributed = 分布式 Dataset = 数据 All the transformations that are applied to data are remembered so that a dataset can be recovered if some failure happen. 9

CLOUD RESOURCE VIRTUALIZATION ( 资源虚拟化 ) Based on Chapter 5 10

Introduction A computer has three important resources: 1) A processor ( 处理器 ), to perform calculations, 11

2) Memory ( 计算机存储器 ) To store data Hard drive ( 硬盘驱动器 ) RAM ( 内存 ) 12

3) Communication channels ( 通信通道 ) To communicate with other computers local network Internet 13

3) Communication channels ( 通信通道 ) They have different characteristics such as: bandwith ( 带宽 ), latency ( 延迟 ), cost ( 元 ) RJ45 Ethernet cable TV ( 电视 )cable Optical fiber ( 光学纤维 ) WIFI ( 无线网络 ) 14

Resource management ( 资源管理 ) Each computer runs an operating system ( 操作系统 ) (e.g. Windows, Android, Linux, MacOS). An operating system has three main functions: manage the applications that are running on the computer. manage the resources of the computer (memory, process, communication channels) provide a user interface ( 用户界面 ) to the user, 15

Resource management ( 资源管理 ) Resource management is complex for the cloud ( 云 ) Why? many computers, many users, many applications, multiple operating systems may be used different kind of computers may be used some computers can fail ( 电脑故障 ) Resource management will be discussed in details in Chapter 6. 16

Traditional solution for a data center ( 数据中心 ) In a traditional data center ( 数据中心 ), many users may access the same computer at the same time. An operating system ( 操作系统 ) is used for managing the resources of each computer in the data center. share resources with other computers, protect applications and data from other applications, make sure that performance is good for all users. 17

Traditional solution for a data center ( 数据中心 ) It is difficult to do: system administration ( 系统管理 ), security ( 系统安全 ), resource management ( 资源管理 ), Accounting (ho should pay? and how much ( 元 ) for using the cloud?) Users 18

A better solution is resource virtualization ( 资源虚拟化 ) Resource virtualization ( 资源虚拟化 ) is the topic of this chapter. It an approach to make it easy to manage the resources of many computers in the cloud. Main idea: Each computer runs many virtual machines (VM - 虚拟机 ). 19

What is a virtual machine ( 虚拟机 )? A virtual machine ( 虚拟机 ): an application that simulates a real computer, including its processor, memory, and communication channels. A computer can run many virtual machines at the same time. Each virtual machine works like a real computer. A virtual machine has: its own operating system ( 操作系统 )(e.g. Windows), its own applications. Note: A more general definition of what is a virtual machine will be provided later. 20

Example At home, on a Windows computer, it is possible to use VirtualBox or similar applications to create and run virtual machines ( 虚拟机 ). Two Virtual machines ( 虚拟机 ) are running 21

Virtualization A virtual machine is also called an instance ( 实例 ) in the context of the cloud. The process of running virtual machines on a computer is called virtualization. Virtualization in the cloud 22

Example An image ( 虚拟机镜像 ) is the state of a computer that has been saved into a file B C E F Image AMI User 23

Example B C E F Image AMI User 24

Example An image ( 虚拟机镜像 ) can be used to start an instance in the cloud (a virtual machine 虚拟机 ) 实例 Instance 1 B C Start an instance E F Image AMI User 25

Example The same image can be used to start many instances 实例 Instance 1 B C Start an instance 实例 Instance 2 E F Image AMI User 26

Example Multiple instances can be run on the same computer Start an instance 实例 Instance 1 实例 Instance 3 B 实例 Instance 2 E C F Image AMI User 27

Example The user can stop an instance. The user can restart an instance. 实例 Instance 1 实例 Instance 3 B C Stop an instance 实例 Instance 2 E F Image AMI User 28

Illustration 实例 Instance 1 实例 Instance 3 B C E F Image AMI User END 29

Why virtualization is useful for the cloud? 1) Virtualization makes it easy to do load balancing ( 负载平衡 ): Each computer in the cloud can run several virtual machines. If a computer is too busy, the state of some of its virtual machines can be saved. Then, these virtual machines can be sent to other computers that are less busy. The other computers can continue running these virtual machines. 30

1) makes it easy to do load balancing ( 负载平衡 ): CLOUD Instance 1 Instance 3 B C Instance 2 E F 31

1) makes it easy to do load balancing ( 负载平衡 ): CLOUD Instance 1 Instance 3 B C Instance 2 E F 32

1) makes it easy to do load balancing ( 负载平衡 ): CLOUD Instance 1 B Instance 3 C Instance 2 E F 33

Why virtualization is useful for the cloud? 2) It allows users to use an operating system that they like or need: e.g. some people prefer using Linux instead of Windows e.g. other users may want to run some specific applications that run only on Windows or on Linux 34

Why virtualization is useful for the cloud? 3) It increases security: All virtual machines running on a same computer are isolated from each other ( 彼此隔离 ). A user running applications in a virtual machine will not be able to steal data ( 窃取数据 ) in another virtual machine or cause other security problems (viruses, etc.). Mary Instance 1 Paul Instance 2 Instance 3 B Bob 35

Why virtualization is useful for the cloud? If a hacker takes control of a virtual machine on a computer, he will not have access to the other virtual machines. Instance 1 Instance 2 Mary Paul Instance 3 B Bob Hacker 36

Why virtualization is useful for the cloud? 4) It is easy to manage computer resources: Modern virtualization software (applications 应用 ) allows to define how much resources can be used by each virtual machine. processor time, memory, storage space. Thus, resources can be reserved and guaranteed for each user. Mary Lea Paul 37

Why virtualization is useful for the cloud? 5) It allows elasticity ( 弹性计算 ) If virtual machines are too busy or do not have enough resources, the state of a virtual machine can be saved and copied to other computers. These computers can run copies of the virtual machine. Instance 1 Instance 3 B C Instance 2 E F 38

Why virtualization is useful for the cloud? 5) It allows elasticity ( 弹性计算 ) If virtual machines are too busy or do not have enough resources, the state of a virtual machine can be saved and copied to other computers. These computers can run copies of the virtual machine. Instance 1 Instance 3 B C Instance 2 E F 39

Why virtualization is useful for the cloud? 5) It allows elasticity ( 弹性计算 ) If virtual machines are too busy or do not have enough resources, the state of a virtual machine can be saved and copied to other computers. These computers can run copies of the virtual machine. Instance 1 Instance 3 B Instance 4 C Instance 2 E Instance 5 F 40

Why virtualization is useful for the cloud? 5) It is easy to monitor performance ( 监视性能 ) The performance of each virtual machine can be monitored easily in term of processor time, network usage, etc. This is important for the pay for what you use ( 元 ) model of cloud computing. 41

What is needed for resource virtualization? To do virtualization, it is useful to have: powerful processors ( 强大的处理器 ), enough memory and storage space, hardware support ( 硬件支持 ) (new computers often have specific hardware features to support virtualization), 42

Virtualization is convenient for the user For example, consider the Amazon EC2 Cloud. A user can create an Amazon Machine Image (AMI) containing an operating system. He can then run the image on as many virtual machines as he wants in the cloud. He use monitoring and management tools provided by Amazon. 43

Two approaches for virtualization 1) Full virtualization ( 全虚拟化 ): the virtual machine is an exact copy of the physical hardware ( 物理硬件 ) of a computer. a typical desktop computer any operating system that can run on the real hardware can also run in the virtual machine. Windows, Linux any applications for the operating system can be used. Wechat, QQ, 44

Two approaches for virtualization 2) Paravirtualization ( 半虚拟化 ): the virtual machine does not support all functions of the physical hardware. thus, the operating system and applications must be modified to run on the virtual machine. 45

Virtual Machine Manager (hypervisor - 虚拟机管理程序 ) To run multiple machines at the same time on a computer, a software called a virtual machine manager (VMM) is often used. Some are run from an operating system such as Windows or Linux e.g. Red Hat Virtual Machine Manager Others are run directly on the hardware ( 硬件 ) e.g. Oracle VM server 46

Virtual Machine Manager (hypervisor - 虚拟机管理程序 ) What can it do? create, start and stop virtual machines, save or load a virtual machine, monitor the performance of virtual machines (in real-time, or over a period of time), 47

5.1 Virtualization, an old concept It has been first used in the 1950s. 1959: a computer named Atlas was using a virtual memory (United Kingdom 英国 ) Virtualization is a general concept that is not only applied to virtual machines. 48

5.1 Virtualization Virtualization simulates access to a physical object by four ways: 1. Multiplexing ( 多路复用 ): Create multiple virtual objects using one physical object. (e.g. a processor is shared by multiple applications) 49

5.1 Virtualization 2. Aggregation ( 聚集 ): Create a virtual object from multiple physical objects. (e.g. several hard drives are viewed as a single hard drive by a computer) 3. Emulation ( 仿真 ): Construct a virtual object from a different type of physical object. (e.g. the hard drive of a computer is used to simulate RAM memory of a computer) 4. A combination of 1 and 3. 50

Guest operating system ( 客户操作系统 ) An operating system running in a virtual machine is called a guest operating system ( 客户操作系统 ). A guest operating system interacts with virtual hardware in the same way that it would interact with real hardware. The virtual machine manager traps all interactions between the guest operating system and the real hardware. Guest operating system in virtual machine Virtual machine manager 51

Disadvantages of virtualization Virtualization has side effects ( 副作用 ). Performance may not be so good: All operations performed in a virtual machine are intercepted by the VMM before being executed. Because of this, a virtual machine may be slow. In general, an application running in a virtual machine is always slower. 52

Disadvantages of virtualization Higher hardware costs: More expensive computers may be bought for running virtual machines (VMs) compared to computers running a traditional operating system Why? Virtualization needs faster and/or multicore processors, more memory, larger disks, and a faster network access. 53

5.2 Viewing computer systems as layers A computer system can be viewed as a set of layers: An application typically interacts with the hardware (the processor, memory and storage) by first communicating with the operating system. Then the operating system tells the hardware what to do. 54

5.2 Viewing computer systems as layers A computer system can be viewed as a set of layers: Or an application can run directly on the hardware. This is the case of the operating system. 55

How can we make applications that can run on many types computers? Applications are often designed to run on one type of computers. A programmer use a programming language such as C++ to create an application. The code is then translated to the language of a specific type of computers using a tool called a compiler ( 编译器 ). High level language Compiler Application that can run on one type of machine 56

Solution: portable applications ( 可移植的程 ) A portable application is written using a high-level language (e.g. Java) that produce some interpretable code. High level language Compiler Portable application The application obtained by this process can be run on any computers, given that an interpreter is provided. Portable application Interpreter 57

Solution: portable programs ( 可移植的程 ) The concept of portable programs is popular for the cloud because the user does not need to know the type of hardware available in the cloud. 58

5.3 Virtual machine manager (VMM) ( 虚拟机管理程序 ) It manages how resources of a computer are shared between one or more virtual machines. It monitors performance and takes actions when performance is not good. e.g. If not enough RAM memory is available, the content of a virtual machine may be saved to disk to free some memory. 59

Virtual machine manager (VMM) ( 虚拟机管理程序 ) It checks what the virtual machines or applications are doing to ensure safety. 60

From the hardware point of view The processor of a computer (CPU) can perform a set of operations. A modern processor often offer three modes: 1. Kernel mode ( 内核模式 ): any operations can be performed on the processor. (e.g. this mode is used by the operating system such as Windows and the VMM) 61

From the hardware point of view 2. User mode: some operations considered dangerous (for security) are not allowed to be performed on the processor (e.g. this mode is used by applications to protect the operating system) 3. Virtual machine mode: this mode restricts what a virtual machine can do on the processor (e.g. this mode is often used for virtual machines to protect other virtual machines and the operating system) 62

Two main types of virtual machines (VM) System virtual machine: This type of virtual machine can run an operating system such as windows and several applications. This is what we discussed mainly until now. Application virtual machine: This type of virtual machine is designed to run a single application. e.g. Java programs that are run directly in a virtual machine without using an operating system. 63

Traditional virtual machines The VMM supports multiple virtual machines and runs directly on the hardware Advantage: performance Example: VMWare ESX 64

Hybrid virtual machines The VMM shares the hardware with an operating system and can run many virtual machines. 65

Hosted virtual machines The VMM runs under an operating system Advantages: The VM is easier to install The VM can use some components of the operating system Disadvantage: Slower! Example: VMWare ESX 66

A comparison of virtual machines Many virtual machine managers are available. A table comparing some of them as example (from the book) HOST ISA = the set of instructions offered by the processor Guest ISA = the set of instructions simulated by the VMM. 67

68

This VMM is called Vmware Server 69

This VMM can run on typical computers with a x86 processors e.g. most desktops and laptops 70

This VMM can run run operating systems that would run on a x86 processor 71

This VMM can run inside Linux and Windows 72

A virtual machine running on this VMM can run these operating systems 73

This is the company who has developed this VMM 74

Performance penalty ( 性能代价 ) Using a virtual machine is slower than not using a virtual machine. How much slower depends on the type of virtual machines. If a virtual machine is running directly on the hardware the penalty is small. If a virtual machine is running inside another operating system such as Windows the penalty is higher. 75

Performance penalty Some virtual machines will communicate directly with the processor to do calculations. This can be done when a virtual machine is executed on the same physical hardware that it simulates. This is fast. But they will still communicate with the VMM to use the network or read/write data (for security). 76

Performance penalty But some virtual machines simulates some kind of computers that is different from the hardware. In this case, all operations performed by the VM must be translated by the VMM to be executed on the hardware. This is slower. 77

5.5 Hacker Performance security isolation In theory, using virtual machines is very safe. Even if an attacker gain access to a virtual machine, he cannot access other virtual machines running on the same computer. This is true, except if the VMM has some security problem. 78

5.5 Performance security isolation Another reason why virtual machines are secure is that they are often restricted to only perform some operations. e.g. the Xen VMM has only 28 special operating system operations, while a standard Linux operating system may have more than 280. 79

5.7 Hardware support for virtualization There are several challenges to support virtualization as the level of the hardware. This includes supporting different modes (kernel modes, user mode ), as previously discussed. But also, many other challenges (some very technical see section 5.7 of the book for details) 80

Conclusion Today we have discussed resource virtualization for the cloud. Remember to submit your second assignment this week. Chapter 5. D. C. Marinescu. Cloud Computing Theory and Practice, Morgan Kaufmann, 2013. 81