Kun Suo

Graduation Semester and Year




Document Type


Degree Name

Doctor of Philosophy in Computer Science


Computer Science and Engineering

First Advisor

Jia Rao


To leverage the elastic resource allocation of cloud computing and enhance the service availability and productivity, numerous applications and businesses have been moved from the traditional data centers into the cloud during the past decade. Despite the benefits introduced by virtualization, such as high resource utilization, flexible resource management and operation cost reduction, it also incurs additional overhead, scheduling delays as well as semantic gaps among hardware, operating system and applications. These issues can cause non-negligible impact to the performance and quality-of-service (QoS) of the cloud applications, especially for I/O-intensive services. Meanwhile, the increasing scale and complexity of the cloud infrastructure aggravate the above problems, making both characterization and optimization of the virtualized network performance much more difficult. In this dissertation, we explore the potential opportunities in various cloud infrastructures including the traditional virtual machines (VM), emerging containers as well as the application runtime, and present lightweight and efficient approaches to characterize and optimize the network performance in virtualized environments. From the perspective of characterization in virtualized networks, we designed and developed an in-band packet profiler, namely Time Capsule, which traced packet level granularity latency across different boundaries in virtualized systems with negligible overhead. By leveraging the superpower of extended Berkeley Packet Filter (eBPF), we proposed vNetTracer, a highly efficient and programmable profiler to trace application network performance in virtualized networks. Both Time Capsule and vNetTracer shed light on the virtualized network monitoring and can help users analyze, identify and localize potential issues inside virtualized networks. Besides the above tools, we also investigated the existing virtualized networks inside the containers and performed a comprehensive study of representative container networks. Our study illustrated many important findings that could help users select the appropriate network for their workloads and guide the optimization of the existing container networks. From the perspective of optimization in virtualized networks, we proposed and developed several approaches for improving the performance of I/O-intensive applications in virtualized environments. We investigated the suboptimal I/O performance of applications in the VMs or containers, and discovered the CPU discontinuity caused priority inversions and rendered existing I/O prioritization in the guest OS ineffective. Thus, we proposed xBalloon, a lightweight approach to preserving static and dynamic priorities between I/O-bound and compute-bound tasks and boosting the I/O performance under discontinuous time. We also presented an in-depth performance analysis of the Java virtual machine (JVM) and found the existing design of JVM incurred inefficient garbage collection, which introduced the low throughput and long tail latency of the applications. To mitigate the overhead, we propose a number of solutions to these issues, including enforcing GC thread affinity to aid multicore load balancing and designing a more efficient work stealing algorithm. We implemented and evaluated the above techniques in both local lab clusters and public cloud with representative benchmark suites. The experiment results and case studies demonstrated the effectiveness of our proposed techniques. The main contribution of this dissertation lied in simple yet effective solutions that characterize and improve the network performance in various virtualized environments of the cloud.


Virtualization, Networks, Cloud


Computer Sciences | Physical Sciences and Mathematics


Degree granted by The University of Texas at Arlington