Symmetric Multiprocessing Virtualization

dc.contributor.authorSouthern, Gabriel
dc.creatorSouthern, Gabriel
dc.date2008-07-28
dc.date.accessioned2008-08-14T18:37:59Z
dc.date.availableNO_RESTRICTION
dc.date.available2008-08-14T18:37:59Z
dc.date.issued2008-08-14T18:37:59Z
dc.description.abstractThe 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.identifier.urihttps://hdl.handle.net/1920/3225
dc.language.isoen_US
dc.subjectVirtualization
dc.subjectSMP
dc.subjectScheduling
dc.subjectDynamic VCPU Allocation
dc.subjectXen
dc.subjectWMware ESX
dc.titleSymmetric Multiprocessing Virtualization
dc.typeThesis
thesis.degree.disciplineComputer Engineering
thesis.degree.grantorGeorge Mason University
thesis.degree.levelMaster's
thesis.degree.nameMaster of Science in Computer Engineering

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Southern_Gabriel.pdf
Size:
2 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.72 KB
Format:
Item-specific license agreed upon to submission
Description: