您好,登录后才能下订单哦!
请求超时!
请点击 重新获取二维码这篇文章主要介绍“什么是IO设备虚拟化”,在日常操作中,相信很多人在什么是IO设备虚拟化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是IO设备虚拟化”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
IO虚拟化是计算机虚拟化最复杂的部分,因为涉及到CPU、操作系统、Hypervisor以及IO设备的相互配合。IO虚拟化也经历了从软件模拟虚拟化、类虚拟化向完全硬件虚拟化的转变。
IO设备虚拟化场景,既要关注IO设备模拟,也要关注vCPU和虚拟IO设备的交互,许多条件交织在一起,使得整个问题变的非常复杂。IO虚拟化性能代价主要体现在三个方面:驱动访问设备寄存器的代价;设备通过中断和DMA访问驱动的代价;设备模拟本身的代价。因此,IO虚拟化性能优化主要是通过五个角度:
减少IO访问寄存器的代价:一方面是把部分IO的访问变成MMIO访问,这样就不需要陷入Hypervisor;另一方面是优化VM-exit/VM-entry切换的代价。
减少IO访问的次数:比如简化通知机制,简化虚拟化设备功能等。
优化中断:主要有如APIC的中断硬件虚拟化或者不需要中断的轮询驱动。
减少DMA访问的代价:通过IOMMU等实现Pass Through模式。
减少设备模拟的代价:则主要是通过硬件SR-IOV机制实现硬件设备。
如图 3.30(a),虚拟机中看到的设备,一般是由Hypervisor模拟出来的。虚拟设备的功能,可以少于也可以多于物理的设备,甚至可以模拟出一些不存在的特性,模拟出不存在的硬件设备。通过IO软件模拟的方式,我们称之为IO设备软件模拟虚拟化。在IO软件模拟虚拟化的解决方案中,客户机VM要使用底层的硬件资源,需要Hypervisor来截获每一条请求指令,然后模拟出这些指令的行为。我们都知道Hypervisor截获指令的动作就是从VM-exit,处理完模拟然后再VM-entry的过程,这个过程的代价很高,每条指令都要如此,带来的性能开销必然是非常庞大的。
如图 3.30(b)所示,Virtio提供的类虚拟化方式,客户机完成设备的前端驱动程序,Hypervisor配合客户机完成相应的后端驱动程序,这样两者之间通过交互机制就可以实现高效的虚拟化过程。
图 3.30 IO设备虚拟化
Virtio框架如图 3.31所示,使用Virtqueue来实现其IO机制,每个Virtqueue就是一个承载大量数据的Queue。VRing是Virtqueue的具体实现方式,针对VRing会有相应的描述符表格进行描述。Virtio是一个通用的驱动和设备接口框架,基于Virtio分别实现了Virtio-net、Virtio-blk、Virtio-scsi等很多不同类型的模拟设备及设备驱动。
图 3.31 Virtio框架
Virtio类虚拟化比传统的IO设备软件模拟的性能优势体现在:很多控制和状态信息不需要通过寄存器读写操作来交互的,而是通过写入Virtqueue的相关数据结构来让驱动(Driver)和设备(Device)双方交互。并且在数据交互的时候,只需要在一定批量数据变化需要对方处理的时候才会通知对方,驱动通知设备是通过写Kick寄存器,设备通知驱动是通过中断。
评价IO虚拟化技术的两个指标——性能和通用性。性能,当然是越接近无虚拟化环境下的IO性能最好;而通用性,则是IO虚拟化对客户操作系统越透明越好。要想要高性能,最直接的方法就是让客户机直接使用真实的硬件设备;要想要通用性,则是要用想办法让客户机操作系统自带的驱动程序能够发现设备并操作设备。
客户机直接操作设备面临两个问题:第一,如何让客户机直接访问到设备真实的IO地址空间(包括IO和MMIO);第二,如何让设备的DMA直接访问客户机的内存空间。内存硬件虚拟化的EPT技术可以解决第一个问题。而VT-d技术则用来解决第二个问题。VT-d技术主要是引入地址重映射(IOMMU+IOTLB),负责提供重映射和设备直接分配。从设备端的DMA访问,都会进入地址重映射进行地址转换,使得设备可以访问到对应客户机特定的内存区域。
VT-d技术虽然可以将物理的IO设备直接透传给虚拟机,但是一台计算机系统受限于接口,可以连的物理设备毕竟有限。因此,PCIe SR-IOV技术应运而生。通过PCIe SR-IOV技术,一个物理IO设备可以虚拟出多个虚拟设备,分配给虚拟机使用。
如图 3.30(c)所示,SR-IOV引入了两个PCIe的功能类型:
PFs(Physical Functions):包括管理SR-IOV功能在内的所有PCIe设备。
VFs(Virtual Functions):轻量级的PCIe设备,只能进行必要的配置和数据传输。
Hypervisor把VF分配给虚拟机,通过IOMMU等硬件辅助技术提供的DMA数据映射,直接在虚拟机和硬件设备之间传输数据。
到此,关于“什么是IO设备虚拟化”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
深圳SEO优化公司鹰潭网站建设价格玉溪seo潮州网站改版报价白城百度标王公司德州企业网站改版价格昭通推广网站哪家好清徐阿里店铺运营哪家好吕梁网站建设价格宜宾网站优化推广哪家好漯河SEO按天计费哪家好承德企业网站制作价格银川网站改版公司兴安盟SEO按天扣费哪家好济宁建网站公司绥化网站优化推广多少钱民治网络推广价格湘潭推广网站公司张北网站优化按天收费公司海西模板网站建设报价眉山网站推广方案吉祥关键词排名包年推广多少钱潍坊网站建设公司布吉网络推广株洲网站排名优化价格武威网站优化价格怒江seo排名多少钱毕节网站改版报价宝安网站制作设计哪家好乐山seo网站推广公司阳泉seo公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运