12-10-2012, 03:13 PM
Types of Virtualization
Types of Virtualization.pdf (Size: 664.58 KB / Downloads: 270)
• Emulation
– VM emulates/simulates complete hardware
– Unmodified guest OS for a different PC can be run
• Bochs, VirtualPC for Mac, QEMU
• Full/native Virtualization
– VM simulates “enough” hardware to allow an unmodified
guest OS to be run in isolation
• Same hardware CPU
– IBM VM family, VMWare Workstation, Parallels,…
• Para-virtualization
– VM does not simulate hardware
– Use special API that a modified guest OS must use
– Hypercalls trapped by the Hypervisor and serviced
– Xen, VMWare ESX Server
• OS-level virtualization
– OS allows multiple secure virtual servers to be run
– Guest OS is the same as the host OS, but appears isolated
• apps see an isolated OS
– Solaris Containers, BSD Jails, Linux Vserver
• Application level virtualization
– Application is gives its own copy of components that are not shared
• (E.g., own registry files, global objects) - VE prevents conflicts
– JVM
Stateful or Stateless?
• Stateful server
– Maintain state of connected clients
– Sessions in web servers
• Stateless server
– No state for clients
• Soft state
– Maintain state for a limited time; discarding state does not
impact correctness
Motivation
• Key reasons: performance and flexibility
• Process migration (aka strong mobility)
– Improved system-wide performance – better utilization of
system-wide resources
– Examples: Condor, DQS
• Code migration (aka weak mobility)
– Shipment of server code to client – filling forms (reduce
communication, no need to pre-link stubs with client)
– Ship parts of client application to server instead of data from
server to client (e.g., databases)
– Improve parallelism – agent-based web searches
Migration models
• Process = code seg + resource seg + execution seg
• Weak versus strong mobility
– Weak => transferred program starts from initial state
• Sender-initiated versus receiver-initiated
• Sender-initiated (code is with sender)
– Client sending a query to database server
– Client should be pre-registered
• Receiver-initiated
– Java applets
– Receiver can be anonymous
Do Resources Migrate?
• Depends on resource to process binding
– By identifier: specific web site, ftp server
– By value: Java libraries
– By type: printers, local devices
• Depends on type of “attachments”
– Unattached to any node: data files
– Fastened resources (can be moved only at high cost)
• Database, web sites
– Fixed resources
• Local devices, communication end points
Case study: Agents
• Software agents
– Autonomous process capable of reacting to, and initiating
changes in its environment, possibly in collaboration
– More than a “process” – can act on its own
• Mobile agent
– Capability to move between machines
– Needs support for strong mobility
– Example: D’Agents (aka Agent TCL)
• Support for heterogeneous systems, uses interpreted
languages