Understanding Machine Virtualization and Its Role in Cloud Application Scaling, Study notes of Computer Science

The concept of machine virtualization and its significance in scaling cloud applications. It discusses how virtualization enables the allocation of server power to meet changing demand, the importance of i/o virtualization, and the benefits of using a hypervisor. The document also touches upon the concepts of elasticity and slas, and how virtualization contributes to rapid deployment and resource thresholding.

Typology: Study notes

2012/2013

Uploaded on 04/23/2013

aslesha
aslesha 🇮🇳

4.4

(14)

160 documents

1 / 41

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Can "scale" cloud applications "on the edge" by
adding server instances.
(So far, haven't considered scaling the interior of the
cloud).
Recall: where we are
clients
App servers form an outer edge
Distributed services
form an inner core (JDO)
Recall: where we are
Wednesday, February 17, 2010
Virtuality Page 1
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29

Partial preview of the text

Download Understanding Machine Virtualization and Its Role in Cloud Application Scaling and more Study notes Computer Science in PDF only on Docsity!

Can "scale" cloud applications "on the edge" by adding server instances. (So far, haven't considered scaling the interior of the cloud). Recall: where we are clients App servers form an outer edge Distributed services form an inner core (JDO) Recall: where we are Wednesday, February 17, 2010 11:12 AM Docsity.com

how demand changes over time how quickly you can re-allocate server power to the edge nodes. key tool: virtualization. The safe operating bounds of the edge nodes of the cloud are based upon: Flowless switching between edge nodes. Response time P = tserver + tnetwork + tcloud. tnetwork is just client-to-edge and edge-to client. tcloud includes networking inside the cloud. Both of these are subject to their own SLAs. So we concentrate on keeping tserver within reasonable bounds. Assumptions for today's discussion Point for today Monday, February 14, 2011 2:06 PM Docsity.com

In its simplest form, creating a fictional version of a thing that acts like the real thing. This is called "virtualizing a thing". Many possible things... What is virtualization? What is virtualization? Tuesday, February 09, 2010 2:39 PM Docsity.com

Machine virtualization : thinking of a physical machine as "hosting" one or more virtual machines. I/O virtualization : sharing an I/O device with several running operating systems, perhaps even on different physical machines. Filesystem virtualization : making one instance of an operating system behave as if it were multiple, distinct instances by controlling filesystem access. Program virtualization: program is compiled to run on a virtual machine, e.g., the Java Virtual Machine (JVM). Several kinds of virtualization: A very broad term Tuesday, February 09, 2010 2:36 PM Docsity.com

Repurposing a server can require rebuilding the whole operating system. This can take (relatively) a lot of time. Virtualizing the machine allows two or more operating systems to share it. (One can be running normally even while another is being built.) Also, whole operating system instances can be prebuilt and latent, ready to start running when needed. Why we need machine virtualization Why we need machine virtualization Monday, February 14, 2011 10:46 AM Docsity.com

Separate sections of memory. Separate disk. Running two operating systems is like running two "programs". Most things about machine virtualization are easy. A disk drive doesn't take well to being asked to read something during a write. An I/O driver is a piece of software designed to maintain proper device state. Devices have state. Hard part: sharing resources and devices. Therefore, most of the work of machine virtualization is I/O virtualization. Machine and I/O virtualization Monday, February 14, 2011 10:38 AM Docsity.com

Best thought of as a miniature operating system for the machine Runs instances of operating systems as if they were application programs! is (theoretically!) unaware of the other instances. has its own memory and disk. Is scheduled to use the CPU(s) by the hypervisor. Each instance The hypervisor The hypervisor Tuesday, February 09, 2010 2:46 PM Docsity.com

http://www.vmware.com VMWare: closed-source hypervisor http://www.xen.org/files/Marketing/HowDoesXenWork.pdf Xen: open-source hypervisor Two virtualization approaches Two virtualization approaches Wednesday, February 10, 2010 8:37 AM Docsity.com

Does I/O Domain 0 guest: Regular OS Domain U guest: hypervisor. I/O done outside XEN virtualization Wednesday, February 10, 2010 8:53 AM Docsity.com

Meta-scheduling : giving each virtual machine a time slice of the real machine. I/O virtualization : making sure that each machine gets a consistent view of each I/O device. Two keys to machine virtualization Machine Virtualization requires I/O virtualization Wednesday, February 17, 2010 11:07 AM Docsity.com

In this course we are not really concerned about how virtualization works Rather, we are concerned with how to use it to obtain cloud-like behavior. But… But... Wednesday, February 17, 2010 5:14 PM Docsity.com

Latency hiding: OS and application instances spend much of their time "waiting" for data. Server consolidation: easier to manage one physical server instead of multiple ones. Conflict avoidance: application instances can require conflicting versions of OS instances. Online build: can build OS instances while others are running. Quick deployment: can hold OS instances "in reserve" and deploy them very quickly. Quick "sleep" and "wake": can boot an instance and then turn it off (sleep) until needed. Arguments for machine virtualization Arguments for machine virtualization Wednesday, February 10, 2010 9:04 AM Docsity.com

Example: read blocks and waits until target data is known to be consistent. Cloud apps spend much of their time "waiting for the cloud" to return data. This is called latency hiding. So, multiple cloud apps can run on the same hardware and use the time that other apps spend waiting. Latency hiding Wednesday, February 10, 2010 9:19 AM Docsity.com

It takes time from deciding to deploy a new server instance to time when it is available for switching. can take 30 minutes to build a server instance. On physical hardware: Can build a server instance in advance and keep it available and unused. Can share memory between (exclusively activated) instances. Disk can't be shared (easily). On virtual machine 60 seconds to boot a server instance. 10 seconds to wake up a sleeping instance. In either case, Deployment time Deployment time Wednesday, February 10, 2010 9:35 AM Docsity.com