# CommC: A Multi-Purpose COMModity Hardware Cluster
## 2 Preliminaries  
### Hypervisors  
A hypervisor, or Virtual Machine Monitor (VMM), is a foundational technology that enables multiple virtual machines (VMs) to run on a single physical machine by abstracting hardware resources. Hypervisors are categorized into two types: Type 1 (bare-metal), which operates directly on hardware for high performance (e.g., VMware ESXi, Hyper-V), and Type 2 (hosted), which runs on an existing operating system and is commonly used for development and testing (e.g., VirtualBox [12] and VMware Workstation [13]). Hypervisors enable resource sharing, secure isolation, and workload flexibility, and they leverage technologies like Intel VT-x and AMD-V for hardware-assisted virtualization. They provide essential functionalities such as live migration, snapshots, and virtualized hardware components, facilitating resource optimization and high availability. However, they pose challenges such as performance overhead, security vulnerabilities, and the need for skilled management [14]. Even though the terms \"hypervisor\" and \"VMM\" are often used interchangeably, distinctions exist in specific contexts. The hypervisor oversees overall resource allocation across VMs, whereas the VMM focuses on managing individual VMs. Together, they form the backbone of modern IT, enabling cloud computing, enterprise data centers, and hybrid environments. Despite challenges like resource competition and operational costs, hypervisors remain critical for scalable, cost-effective, and flexible IT infrastructure. Recent research [15; 16; 17] focuses on improving energy efficiency and resource management in cloud data centers, addressing critical challenges such as high energy consumption, carbon footprint, and the operational costs associated with virtualized environments. One study highlights strategies for virtual machine (VM) consolidation to optimize resource usage and minimize power consumption while maintaining service-level agreements (SLAs). It explores techniques like dynamic voltage and frequency scaling (DVFS), soft scaling, and resource throttling to balance energy efficiency with performance requirements. On the other hand, the second delves into holistic approaches to cloud resource management, leveraging advanced algorithms and predictive techniques to adapt resource allocation dynamically. This includes handling heterogeneous workloads, minimizing VM migration overhead, and enhancing system reliability. The research emphasizes reducing SLA violations and energy consumption while proposing new metrics and methodologies for assessing consolidation strategies. Kernel-based Virtual Machine (KVM) [18] and Quick Emulator (QEMU) [19] are two widely used open-source virtualization tools that serve distinct yet complementary roles in enabling efficient and flexible virtualized environments. KVM and QEMU are complementary yet distinct tools in the virtualization ecosystem. KVM is a Type 1 hypervisor integrated into the Linux kernel, offering near-native performance by leveraging hardware virtualization extensions like Intel VT-x [20] and AMD-V [21; 22; 23]. It excels in scalability, security, and reliability, making it a preferred choice for enterprise-grade virtualization and cloud computing platforms. In contrast, QEMU is a versatile open-source tool that functions both as an emulator and a virtualization solution. While it can emulate hardware for cross-platform development, its full potential is realized when paired with KVM, where it provides device emulation and virtualized hardware, enabling high-performance virtual machines. The key difference lies in their core focus and use cases. KVM is optimized for large-scale production environments requiring robust performance and advanced features like live migration and container integration. QEMU, on the other hand, shines in development and testing scenarios, particularly where hardware emulation or cross-architecture compatibility is needed.