Operating System Mechanisms for Performance Isolation between Co-Located ApplicationsOuyang, Jiannan (2016) Operating System Mechanisms for Performance Isolation between Co-Located Applications. Doctoral Dissertation, University of Pittsburgh. (Unpublished) This is the latest version of this item.
AbstractThe efficient sharing of a single server node between multiple co-located applications is increasingly important in modern large-scale datacenters and supercomputers. However, existing operating system (OS) architectures fall short in ensuring the performance isolation between co-located applications, which impedes the efficiency of large-scale computing infrastructures as well as the scalability of large-scale applications. The goal of this research is to improve the performance isolation capability of existing OS kernels, as well as to develop novel OS architectures aiming to provide isolated and optimized execution environments for workloads with disparate runtime requirements. We first studied the performance interference problem between time-shared virtual machines as seen in the cloud. We conducted comprehensive performance analyses to identify the root causes of the kernel performance degradation problem in shared virtual environments. To address this problem, we designed and implemented two synchronization techniques optimized for shared virtual environments: the preemptable ticket spinlock (pmtlock) algorithm and the Shoot4U paravirtual TLB shootdown scheme. Our evaluation demonstrates that both techniques significantly reduce the performance interference between co-located virtual machines. Besides improving existing OS kernels, we also looked at the design of operating systems aiming to provide isolated and optimized execution environments for in-situ analysis applications as seen in modern high performance computing (HPC). We designed and implemented the Pisces lightweight co-kernel architecture, which allows multiple independent lightweight co-kernels to be deployed side-by-side with Linux on isolated hardware partitions. Each co-kernel can be optimized for the local HPC workload, while the performance isolation between co-kernels is enforced at both the software and hardware level. Our evaluation shows better application scalability on the co-kernel architecture compared with native Linux. Finally, to support high performance I/O on lightweight co-kernels, we developed HobbesIO: an I/O delegation service on lightweight co-kernels that allows the application transparent I/O delegation from a co-kernel process to an I/O service processes deployed on arbitrary native or virtual Linux enclaves. Our evaluation shows that HobbesIO achieves comparable performance with native Linux. Share
Details
Available Versions of this Item
MetricsMonthly Views for the past 3 yearsPlum AnalyticsActions (login required)
|