

































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 41
This page cannot be seen from the preview
Don't miss anything!


































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