Network IO virtualization plays an important
role in cloud computing. This paper addresses the system-wide virtualization
issues of TCPIP Offload Engine (TOE) and presents the architectural designs. We
identify three critical factors that affect the performance of TOE IO
virtualization architectures, quality of service (QoS), and virtual machine
monitor (VMM) scheduler. In our device emulation based TOE, the VMM manages the
socket connections in the TOE directly and thus can eliminate packet copy and
demultiplexing overheads as appeared in the virtualization of a layer 2 network
card. To further reduce hypervisor intervention, the direct IO access
architecture provides the per VM-based physical control interface that helps
removing most of the VMM interventions. The direct IO access architecture
out-performs the device emulation architecture as large as 30%, or achieves 80%
of the native 10 Giga bits TOE system. To continue serving the TOE commands for
a VM, no matter the VM is idle or switched out by the VMM, we decouple the TOE
IO command dispatcher from the VMM scheduler. We found that a VMM scheduler
with preemptive IO scheduling and a programmable IO command dispatcher with
deficit weighted round robin (DWRR) policy are able to ensure service fairness
and at the same time maximize the TOE utilization
No comments:
Post a Comment