Mason Archival Repository Service

Symmetric Multiprocessing Virtualization

Show simple item record Southern, Gabriel
dc.creator Southern, Gabriel 2008-07-28 2008-08-14T18:37:59Z NO_RESTRICTION en 2008-08-14T18:37:59Z 2008-08-14T18:37:59Z
dc.description.abstract The reemergence of system virtualization, and the introduction of the single-chip multiprocessor, are two technologies that are altering the landscape of modern general-purpose computing architecture. System virtualization is a technology that uses software to partition the resources of a single physical computer into multiple virtual machines (VMs). Multiprocessing combines the capabilities of multiple CPUs into a single computer system. Virtualization continues to play an important role in efficiently utilizing multiprocessor systems; however, developing efficient multiprocessor virtual machines is a significant challenge. Multicore processors — those that combine multiple logical CPUs in a single physical socket — now dominate the general purpose microprocessor marketplace. These processors require operating system support for multiprocessing, and the most common form of multiprocessing is symmetric multiprocessing (SMP), where all processors have identical behavior and any processor can perform any task. System virtualization introduces additional complexities for implementing SMP because VMs have different timing behavior from physical computers. In this thesis I examine two approaches to implementing SMP in VMs used by two leading virtualization platforms: VMware ESX server and the Xen hypervisor. I demonstrate the comparative advantages of these two different virtualization systems, and propose a new optimization technique to improve performance through dynamic virtual CPU (VCPU) allocation. I find that Xen performs well when executing independent single threaded applications that do not require any synchronization between the processes running on multiple processors. However, Xen scales poorly for applications that require synchronization between multiple threads. ESX uses a more conservative scheduling algorithm, called co-scheduling, that provides more balanced performance for both single threaded and multithreaded workloads. However, ESX has some significant optimization that provide improved performance over a naive implementation of co-scheduling. Finally, I propose an algorithm for dynamic allocation of VCPU resources that can be used by Xen to improve the efficiency of multithreaded workloads. I provide a simulation for this algorithm and discuss the tasks required for a complete implementation of the algorithm.
dc.language.iso en_US en
dc.subject Virtualization en_US
dc.subject SMP en_US
dc.subject Scheduling en_US
dc.subject Dynamic VCPU Allocation en_US
dc.subject Xen en_US
dc.subject WMware ESX en_US
dc.title Symmetric Multiprocessing Virtualization en
dc.type Thesis en Master of Science in Computer Engineering en Master's en Computer Engineering en George Mason University en

Files in this item

This item appears in the following Collection(s)

Show simple item record

Search MARS


My Account