摘要 近年來隨著雲端計算的起步,虛擬機獨立、隔離、可搬移的種種特性有利於雲端計算的發展,但是由於虛擬機器的I/O overhead高,尤其網路效能上備受批評,是否能把一台虛擬機運算出來的結果即時的送達到其他虛擬機使其繼續運算,此為一大議題,若能克服此問題將可提升雲端計算中各節點之間結果交換效率。 實體機(physical machine )之上可以佈署許多部虛擬機器(virtual machine),彼此獨立運作,互相不影響干擾。虛擬環境(以QEMU-KVM為例)封包從實體網卡接收後,將封包遞送到虛擬橋接器(virtual bridge),再根據封包實體位址(Mac address)將封包遞送到對應的虛擬乙太網卡(TAP),再由QEMU定時輪詢TAP並將封包寫進QEMU虛擬網卡I/O port,封包於虛擬乙太網路密集收送的環境下,不必要的封包搬移對整體效能而言是很大的負擔。 本論文分析封包從實體網卡送至虛擬機器之虛擬網卡主要過程,找出可能的瓶頸,測量多台虛擬器同時運作時頻寬與延遲,並提出減少封包搬移次數可能的方案。Abstract Recent years, cloud computing technology is very popular. Some features of virtual machine, that like independence 、isolation、scalable and migration are helpful for computing environment deployment. Every node in the system may need other VMs' computing result. It is an important issue about data exchange efficiently between VMs. Improving network performances will make whole system become more efficiency. Virtual machine I/O overhead is a significant bottleneck, especially networking overhead. We can deploy many virtual machines on a physical machine, each VM execute independently and not interfere each other. In virtual environment (Ex. QEMU-KVM) packets from physical network interface (NIC) will go through virtual bridge. According to destination Mac address, pass the packet to correspondence virtual Ethernet device (TAP).QEMU I/O handler will read packets form its own TAP, then TAP will copy packet data form kernel space to user space. QEMU maintain a page table, base on this, I/O handler write packet data to VMs' VNIC I/O port. It will become lots of work load in network intensive situation. We analyze packet walkthrough form physical NIC to virtual NIC in virtual machine and found possible bottleneck. We measure network performance and latency in virtual machine. Propose a possible solution to eliminate overhead.