Fiveable

๐Ÿ’ปParallel and Distributed Computing Unit 14 Review

QR code for Parallel and Distributed Computing practice questions

14.2 Virtualization Technologies

๐Ÿ’ปParallel and Distributed Computing
Unit 14 Review

14.2 Virtualization Technologies

Written by the Fiveable Content Team โ€ข Last updated September 2025
Written by the Fiveable Content Team โ€ข Last updated September 2025
๐Ÿ’ปParallel and Distributed Computing
Unit & Topic Study Guides

Virtualization technologies are the backbone of cloud computing, enabling efficient resource utilization and flexibility. They create software-based representations of computing resources, allowing multiple virtual instances to run on a single machine, improving hardware usage and reducing costs.

In cloud environments, virtualization facilitates multi-tenancy, rapid provisioning, and pay-as-you-go models. It supports various techniques like hardware, software, and network virtualization, each offering unique benefits for different use cases in cloud computing infrastructures.

Virtualization in Cloud Computing

Concept and Role of Virtualization

  • Virtualization creates software-based representations of computing resources (servers, storage, networks, applications)
  • Enables efficient utilization of physical hardware by running multiple virtual instances on a single machine
  • Hypervisors (Virtual Machine Monitors) manage and control virtual machines, allocating resources and isolating environments
  • Provides benefits
    • Improved hardware utilization
    • Easier IT resource management
    • Enhanced scalability
    • Reduced data center operation costs
  • Underpins cloud service models (IaaS, PaaS, SaaS) to deliver on-demand computing resources
  • Enables key cloud computing characteristics
    • Rapid elasticity
    • Resource pooling
    • Measured service

Cloud Computing Integration

  • Abstracts and dynamically allocates resources in cloud environments
  • Facilitates multi-tenancy allowing multiple users to share physical infrastructure securely
  • Enables rapid provisioning and de-provisioning of resources in response to demand
  • Supports pay-as-you-go pricing models by allowing fine-grained resource allocation
  • Enhances disaster recovery and business continuity through easy replication and migration of virtual environments
  • Enables hybrid cloud deployments by providing consistent environments across on-premises and cloud infrastructure

Virtualization Techniques

Hardware Virtualization

  • Creates virtual machines behaving like real computers with their own operating systems
  • Managed by a hypervisor (VMware ESXi, Microsoft Hyper-V)
  • Categorized into full virtualization, paravirtualization, and hardware-assisted virtualization
    • Full virtualization provides complete hardware abstraction (VMware Workstation)
    • Paravirtualization requires modified guest OS for better performance (Xen)
    • Hardware-assisted virtualization leverages CPU features for efficient virtualization (Intel VT-x, AMD-V)
  • Enables strong isolation between virtual machines
  • Supports running different operating systems on the same physical hardware

Software Virtualization

  • Creates isolated environments within a single operating system
  • Allows multiple applications to run in separate containers or virtual environments
  • Container-based virtualization (Docker, Kubernetes)
    • Shares the host OS kernel
    • Provides lightweight isolation
    • Faster startup times compared to hardware virtualization
    • Lower resource overhead
  • Application virtualization isolates applications from the underlying OS (Microsoft App-V)
  • Runtime virtualization creates a virtual machine for a specific programming language (Java Virtual Machine)

Network Virtualization

  • Abstracts network resources, creating virtual networks decoupled from physical infrastructure
  • Enables software-defined networking (SDN) for programmable network control
  • Network Function Virtualization (NFV) replaces dedicated network appliances with software on standard hardware
  • Virtual LANs (VLANs) segment networks logically without changing physical topology
  • Virtual Private Networks (VPNs) create secure tunnels over public networks
  • Overlay networks (VXLAN, NVGRE) extend Layer 2 networks across Layer 3 boundaries

Virtualized Environments

Core Components

  • Hypervisor (Virtual Machine Monitor) manages and allocates resources to virtual machines
    • Type 1 (bare-metal) hypervisors run directly on hardware (VMware ESXi, Microsoft Hyper-V)
    • Type 2 hypervisors run on top of a host operating system (Oracle VirtualBox, VMware Workstation)
  • Virtual machines (VMs) run their own operating systems and applications, sharing physical hardware resources
  • Virtual networking components enable communication
    • Virtual switches connect VMs within a host
    • Virtual Network Interface Cards (vNICs) provide network connectivity to VMs
  • Storage virtualization technologies abstract and pool physical storage resources
    • Virtual Storage Area Networks (vSANs)
    • Software-defined storage solutions (VMware vSAN, Ceph)

Management and Features

  • Resource management tools and APIs allow programmatic control and monitoring
    • VMware vCenter, Microsoft System Center Virtual Machine Manager
  • Live migration capabilities move running VMs between physical hosts without downtime
    • VMware vMotion, Microsoft Live Migration
  • Nested virtualization runs hypervisors within VMs for complex testing environments
  • High availability features ensure VM uptime (VMware HA, Hyper-V Failover Clustering)
  • Backup and disaster recovery solutions designed for virtualized environments
    • Veeam Backup & Replication, Zerto

Virtualized System Performance

Resource Management

  • CPU scheduling in virtualized systems balances performance and utilization
    • Time-slicing allocates CPU time to VMs
    • CPU pinning assigns specific VMs to particular physical cores
  • Memory management optimizes usage and reduces overhead
    • Ballooning dynamically adjusts VM memory allocation
    • Page sharing identifies and consolidates identical memory pages
    • Memory compression reduces memory footprint
  • I/O virtualization reduces performance overhead for storage and network access
    • Paravirtualized drivers improve I/O performance (VMware VMXNET3, Hyper-V Synthetic drivers)
    • Single Root I/O Virtualization (SR-IOV) allows direct hardware access for improved performance

Performance Optimization

  • Resource contention can lead to performance degradation
    • Requires careful allocation and monitoring of CPU, memory, storage, and network resources
  • Performance monitoring and profiling tools identify bottlenecks
    • VMware vRealize Operations, Microsoft Performance Monitor
  • Quality of Service (QoS) mechanisms ensure fair resource distribution
    • Resource pools in VMware vSphere
    • Hyper-V resource controls
  • Capacity planning analyzes usage patterns and predicts future resource needs
    • VMware Capacity Planner, Microsoft Assessment and Planning Toolkit
  • Performance tuning techniques
    • Right-sizing VMs to match workload requirements
    • Optimizing virtual machine settings (virtual hardware versions, NUMA awareness)
    • Implementing caching solutions for improved storage performance (VMware vSphere Flash Read Cache)