版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
201610428164.32016.06.15本发明实施例公开了一种数据传输方法及获取目标虚拟加速器的虚拟输入/输出环中的执用所述目标虚拟加速器的虚拟输入/输出环的一件加速器能够识别的信息发送给所述硬件加速2获取目标虚拟加速器的虚拟输入/输出环中的执行加速操作所需的信息,所述执行加输入/输出环的一个单元项;所述执行加速操作所需的信息包括待加速数据的虚拟机物理将所述硬件加速器能够识别的信息发送给所述硬件加速器,所述硬3.根据权利要求1或2所述的方法,其特根据所述执行加速操作所需的信息中的待加速数据的虚拟机物理地址,所述将所述硬件加速器能够识别的信息发送给所述硬件将所述待加速数据的主机物理地址发送给所其中,所述硬件加速器用于根据所述待加速数据的主机物所述将所述待加速数据的主机物理地址发送给所述硬件将所述待加速数据的主机物理地址发送给所述目标VF,所述目标VF速数据的主机物理地址从所述待加速数据的虚拟机物理地址对应的虚拟机内存中获取所若所述硬件加速器支持多个虚拟功能VF,从所述建立所述目标虚拟加速器与所述目标VF的绑定3单元项的标识添加到所述目标虚拟加速器的9.根据权利要求1或2所述的方法,其特征在于根据所述执行加速操作所需的信息中的待加速数据的虚拟机物理地址,根据所述待加速数据在虚拟机内存中的所述主机虚拟地址,将所述待加速根据所述待加速数据在所述内存缓冲区中的主机虚拟地址,以及所述将所述硬件加速器能够识别的信息发送给所述硬件将所述待加速数据的主机物理地址发送给所其中,所述硬件加速器用于根据所述待加速数据的主机物理地根据所述目标虚拟加速器的标识,将所述单元项的标识添加到向所述目标虚拟加速器对应的虚拟机发送携带有所述目标虚拟加速器的标识的中断输入/输出环中的所述单元项的标识,并获取所述待加速数据被加速处理完之后生成的加根据所述目标虚拟加速器的标识,将至少一个单元项的标识添加加速操作所需的信息;所述执行加速操作所需的信息包括待加速数据的虚拟机物理地址、从所述多个VF中选择未被使用的目标VF,并建立所述目标虚拟加速器4根据所述目标虚拟加速器的标识,将至少一个单元项的标识添加器的虚拟输入/输出环中,并向所述目标虚拟加速器对应的虚拟机发送携带有所述目标虚速器的虚拟输入/输出环中的至少一个所述单元项的标识,并获取所述待加速数据被加速根据所述目标虚拟加速器的标识,将至少一个单元项的标识添加获取单元,用于获取目标虚拟加速器的虚拟输入/输出环中的执行加速操作所需的信拟加速器的虚拟输入/输出环的一个单元项;所述执行加速操作所需的信息包括待加速数发送单元,用于将所述硬件加速器能够识别的信息发送根据所述执行加速操作所需的信息中的待加速数据的虚拟机物理地址,所述发送单元将所述硬件加速器能够识别的信息发送给所述硬件加速器的方式具体将所述待加速数据的主机物理地址发送给所其中,所述硬件加速器用于根据所述待加速数据的主机物查询单元,用于在所述确定单元确定所述待加速数据的5所述发送单元将所述待加速数据的主机物理地址发送给所述硬件加速器的方式具体将所述待加速数据的主机物理地址发送给所述目标VF,所述目标VF速数据的主机物理地址从所述待加速数据的虚拟机物理地址对应的虚拟机内存中获取所第一添加单元,用于当所述待加速数据被加速处理完之目标虚拟加速器的标识,将所述单元项的标识添加到所述目标虚拟加速器的虚拟输入/输建立单元,用于在所述获取单元获取目标虚拟加速器的虚拟输入/输出环中的执行加记录单元,用于在所述发送单元将所述待加速数据的主机物理第二添加单元,用于当所述待加速数据被加速处理完后,根确定子单元,用于根据所述执行加速操作所需的信息中的拷贝子单元,用于根据所述待加速数据在虚拟机内存中的所所述确定子单元,还用于根据所述待加速数据在所述内存缓冲区中的主机虚拟地址,所述发送单元具体用于将所述待加速数据的主机物理地址发送给所述其中,所述硬件加速器用于根据所述待加速数据的主机物理地拷贝单元,用于当所述待加速数据被加速处理完之后,将生第三添加单元,用于根据所述目标虚拟加速器的标识,将所述虚拟机根据所述目标虚拟加速器的标识查询所述目标虚拟加速器的虚拟输入/输出环中6添加单元,用于根据所述目标虚拟加速器的标识,将至少一个单建立单元,用于在所述获取单元待加速数据被加速处理完之后,记录单元,用于在所述获取单元待加速数据被加速处理完之虚拟加速器的标识,将至少一个单元项的标识添加到所述目标虚拟加速器的虚拟输入/输项的标识添加到所述目标虚拟加速器的虚拟输入/输出环中,并向所述目标虚拟加速器对述中断请求,查询所述目标虚拟加速器的虚拟输入/输出环中的至少一个所述单元项的标根据所述目标虚拟加速器的标识,将至少一个单元项的标识添加7[0002]网络功能虚拟化(NetworkFunctionVirtualization,NFV)以“软件+通用硬件”[0005]本发明实施例第一方面公开了一种数据传输方法,应用[0006]获取目标虚拟加速器的虚拟输入/输出环中的执行加速操作所需的信息,所述执虚拟输入/输出环的一个单元项;根据所述硬件加速器能够识别的信息获取待加速数据,并对所述待加速数据执行加速操户态直接访问硬件加速器,从而能够最大限度的减少内核态与用户态的上下文切换次数,8作所需的信息下发给硬件加速器的过程中不需要将虚拟机内存中的待加速数据拷贝到内[0020]从预设的虚拟加速器与VF的绑定关系中,查询所述目标虚拟加速器绑定的目标待加速数据的主机物理地址从所述待加速数据的虚拟机物理地址对应的虚拟机内存中获[0027]在一个可能的实施方式中,所述获取目标虚拟加速器的虚拟输入/输出环中的执[0028]若所述硬件加速器支持多个虚拟功能VF,从所述多个VF中选择未被使用的目标得本发明方案保留了半虚拟化技术的优势,如VM的可迁移性及VNFC代码的可移植性(即硬9所述单元项的标识添加到所述目标虚拟加速器的虚拟输入/输得本发明方案保留了半虚拟化技术的优势,如VM的可迁移性及VNFC代码的可移植性(即硬[0049]向所述目标虚拟加速器对应的虚拟机发送携带有所述目标虚拟加速器的标识的虚拟输入/输出环中的所述单元项的标识,并获取所述待加速数据被加速处理完之后生成速器对应的虚拟机发送携带有目标虚拟加速器的标识的中[0051]本发明实施例第二方面公开了一种数据传输方法,应用元项的标识添加到所述目标虚拟加速器的虚拟输入/输出环中,以便于虚拟机根据至少一加速器的虚拟输入/输出环中,并向所述目标虚拟加速器对应的虚拟机发送携带有所述目拟加速器的虚拟输入/输出环中的至少一个所述单元项的标识,并获取所述待加速数据被加速器的虚拟输入/输出环中,以便于所述虚拟机自动监测所述目标虚拟加速器的虚拟输[0062]本发明实施例第三方面公开了一种数据传输装置,应用宿主机执行第一方面任一方法的部分或全部步骤时可以提高数据包宿主机执行第二方面任一方法的部分或全部步骤时可以提高数据包[0068]在一些可行的实施方式中,在将单元项的标识添加到目标虚拟加速器的虚拟输以根据单元项的标识,从虚拟输入/输出环的vring_desc表中获取存放加速结果的虚拟机结构占用目标虚拟加速器的虚拟输入/输出环的至少一个单元项,收发双向均采用零拷贝[0077]图2.1是本发明实施例公开的一种执行加速操作所需的信息在Vring中的存储形[0078]图2.2是本发明实施例公开的另一种执行加速操作所需的信息在Vring环中的存中,NFV(Virtualization,网络功能虚拟化)。如图1.1所示,该NFV系统包括:VNF[0093]其中,Hypervisor可以为每个虚拟机模拟至少一个虚拟加速器。请一并参见图核心层以及物理加速器层。其中,VirtIO后端加速器(backenddevice)为由虚拟机模拟(Qemu)模拟的虚拟加速器。基于VirtIO的用户态接口(UserspacebasedVirtIO件加速器(在本发明中称为单队列硬件加速器)和支持SR-IOV功能的硬件加速器(本发明中如:GPU(GraphicsProcessingUnit,图形处理器)、FPGA(Field-ProgrammableGate[0107]15)Qemu通过vhost-user协议向宿主机上的守护进程发送虚拟机的物理内存地址据(src_dataaddr)、存放加密结果的内存(dst_dataaddr)、存放摘要结果的内存[0113]现有技术中,这样一次加解密数据包需要占用虚拟加速器的虚拟输入/输出环据参数信息占用Vring的一个entry项。假设为加解密虚拟加速器创建的Vring的大小为[0117]虚拟网络功能(VirtualizedNetworkFunction,VNF)的应用程序只需按照上述速器的前端驱动,加解密虚拟加速器加速器的前端驱动直接赋值structvirtio_crypto_[0118]vring_desc.ad环的一个单元项(即一个entry);对4096大小的Vring就可以一次存放4096个加解密数据[0123]本发明实施例中,目标虚拟加速器为为虚拟机配置的多个虚拟加速器中的任一(包括待加速数据的GPA,存放加速结果的GPA等)传入前端驱动。前端驱动在内存缓冲区池产生的IO请求的地址;vring_avail表,用于指明vring_desc中哪些项是可用的;vring_[0138]针对vring_avail表,存储的是每个IO请求在vring_desc中连接成的链表的表头的位置,存储到ring[]这个数组中;idx,指向的是ring数组中下一个可用的空闲位置;[0160]本发明实施例中,宿主机中的守护进程(Daemon进程)运行在vho[0161]可选的,宿主机中的守护进程获取目标虚拟加速器的虚拟输入/输出环中的执行[0162]宿主机中的守护进程采用全轮询的方式,实时监测每个虚拟加速器的虚拟输入/[0164]可选的,宿主机中的守护进程获取目标虚拟加速器的虚拟输入/输出环中的执行[0165]虚拟机向宿主机中的守护进程发送携带有目标虚拟加速器的标识的信息获取通目标虚拟加速器的标识的信息获取通知,宿主机中的守护进程接收到该信息获取通知之[0167]205、宿主机中的守护进程根据执行加速操作所需的信息中的待加速数据的虚拟[0168]本发明实施例中,硬件加速器只能识别主机物理地址(HostPhysic[0171]本发明实施例中,支持SR-IOV功能的硬件加速器可以虚拟出多个VF(VirtualFunction,虚拟功能),每个VF相对于一个硬件加速器。其中,SR-IOV(Single-RootI/OPCIe功能,可以与物理功能以及与同一物理功能关联的其他VF共享一个或多个物理资源。[0177]208、目标VF根据待加速数据的主机物理地址从待加速数据的虚拟机物理地址对动程序会根据待加速数据的主机物理地址HPA,从待加速数据的虚拟机物理地址对应的虚加速数据以及待加速数据被加速处理完之后生成的加速结果均存储在GPA对应的虚拟机内存中。宿主机中的守护进程可以轮询监测目标VF是否完成对待加速数据的加速处理操作,元项的标识添加到目标虚拟加速器的虚拟输入/输出环的vring_u[0185]21)宿主机中的守护进程向目标虚拟加速器对应的虚拟机发送携带有目标虚拟加[0186]22)虚拟机根据目标虚拟加速器的标识查询目标虚拟加速器的虚拟输入/输出环加速结果的虚拟机物理地址对应的虚拟机内目标虚拟加速器的虚拟输入/输出环中之后,宿主机中的守护进程可以利用Linux内核的eventfd机制来向目标虚拟加速器对应的虚拟机发送携带有目标虚拟加速器的标识的中断并根据单元项的标识,从目标虚拟加速器的虚拟输入/输出环的vring_desc表中获取存放[0190]可见,本发明实施例中采用了收发双向零拷贝方案(即发包方向零拷贝以及收包发包方向零拷贝指虚拟机将执行加速操作所需的信息下发给硬件加速器的过程中不需要[0192]在图2所描述的方法流程中,虚拟机下发的执行加速操作所需的信息采用了预定[0197]304、宿主机中的守护进程根据执行加速操作所需的信息中的待加速数据的虚拟[0200]具体的,宿主机中的守护进程可以在内存缓冲区的结构体头部偏移4个字节的空[0202]307、硬件加速器根据待加速数据的主机物理地址从待加速数据的虚拟机物理地查询内存缓冲区的结构体头部偏移4个字节的空间所记录的目标虚拟加速器的标识,将加速完成的单元项的标识添加到目标虚拟加速器的虚拟输入/输出环的vring_used[0205]309、宿主机中的守护进程向目标虚拟加速器对应的虚拟机发送携带有目标虚拟拟加速器的标识,查询目标虚拟加速器的虚拟输入/输出环的vring_used表的单元项的标加速结果的虚拟机物理地址对应的虚拟机内[0212]虚拟机监测目标虚拟加速器的虚拟输入/输出环,以获取待加速数据被加速处理[0215]在图3所描述的方法流程中,虚拟机下发的执行加速操作所需的信息采用了预定案保留了半虚拟化技术的优势,如VM的可迁移性及VNFC代码的可移植性(即硬件不感知[0221]405、宿主机中的守护进程根据执行加速操作所需的信息中的待加速数据的虚拟宿主机中的守护进程获得待加速数据的虚拟机物理地址GPA后,就可以根据设的虚拟机物[0225]本发明实施例中,由于未建立虚拟机物理地址GPA与主机物理地址HPA的映射关识别待加速数据的主机物理地址HPA,宿主机中的守护进程需要将待加速数据在内存缓冲区中的主机虚拟地址HVA转换为硬件加速器能够识别的待加速数据在内存缓冲区中的主机[0230]409、目标VF根据待加速数据的主机物理地址从待加速数据的虚拟机物理地址对[0235]在图4所描述的方法流程中,虚拟机下发的执行加速操作所需的信息采用了预定述目标虚拟加速器的虚拟输入/输出环的一个单元项;[0243]所述发送单元503将所述硬件加速器能够识别的信息发送给所述硬件加速器的方[0247]查询单元504,用于在所述确定单元502确定所述待加速数据的主机物理地址之[0248]所述发送单元503将所述待加速数据的主机物理地址发送给所述硬件加速器的方待加速数据的主机物理地址从所述待加速数据的虚拟机物理地址对应的虚拟机内存中获[0253]建立单元506,用于在所述获取单元501获取目标虚拟加速器的虚拟输入/输出环[0254]作为一种可选的实施方式,所述发送单元503还用于向所述目标虚拟加速器对应目标虚拟加速器的标识查询所述目标虚拟加速器的虚拟输入/输出环中的所述单元项的标述目标虚拟加速器的虚拟输入/输出环的一个单元项;[0261]记录单元,用于在所述发送单元603将所述待加速数据的主机物理地址发送给所虚拟加速器的标识,将所述单元项的标识添加到所述目标虚拟加速器的虚拟输入/输出环[0264]作为一种可选的实施方式,所述发送单元603还用于向所述目标虚拟加速器对应目标虚拟加速器的标识查询所述目标虚拟加速器的虚拟输入/输出环中的所述单元项的标该数据传输装置700可以用于执行图2或图4所公开的数据传输方法中的部分步骤,具体请述目标虚拟加速器的虚拟输入/输出环的一个单元项;[0272]拷贝子单元7022,用于根据所述待加速数据在虚拟机内存中的所述主机虚拟地[0274]所述发送单元703具体用于将所述待加速数据的主机物理地址发送给所述硬件加[0279]作为一种可选的实施方式,所述发送单元703还用于向所述目标虚拟加速器对应目标虚拟加速器的标识查询所述目标虚拟加速器的虚拟输入/输出环中的所述单元项的标然采用的是预定义的数据结构,该数据结构占用目标虚拟加速器的虚拟输入/输出环的一[0282]其中,处理器801为宿主机800的控制中心,可以是中央处理器(Central通过运行或执行存储在存储器803内的软件程序和/或模块,以及调用存储在存储器803内[0283]获取目标虚拟加速器的虚拟输入/输出环中的执行加速操作所需的信息,所述执虚拟输入/输出环的一个单元项;根据所述硬件加速器能够识别的信息获取待加速数据,并对所述待加速数据执行加速操[0289]所述处理器801将所述硬件加速器能够识别的信息发送给所述硬件加速器的方式[0293]从预设的虚拟加速器与VF的绑定关系中,查询所述目标虚拟加速器绑定的目标待加速数据的主机物理地址从所述待加速数据的虚拟机物理地址对应的虚拟机内存中获[0299]若所述硬件加速器支持多个虚拟功能VF,从所述多个VF中选择未被使用的目标[0300]可选的,处理器801将所述待加速数据的主机物理地址发送给所述硬件加速器之所述单元项的标识添加到所述目标虚拟加速器的虚拟输入/输[0315]向所述目标虚拟加速器对应的虚拟机发送携带有所述目标虚拟加速器的标识的虚拟输入/输出环中的所述单元项的标识,并获
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年护理文书书写规范试卷(附答案)
- 臭氧安全技术说明书
- 2026年北京市海淀区小升初新初一入学分班摸底卷2套(语文数学英语含答案详解、评分标准、学科诊断、错题复练与7天暑假衔接计划)
- 某重型机械厂吊装细则
- 篮球笔试标准题库及答案详解(完整版)
- 某纺织厂原料管理规范
- 五年级上册语文《牛郎织女》跨学科主题学习教案
- 初中英语七年级上册行为动词一般现在时精讲教案
- 高职建筑工程管理专业三年级《环氧地坪工程招标文件深度解析与实务评标》教案
- 初中七年级生物(北师大版)核心知识清单:细胞的基本结构与功能
- 2026年村卫生室高血压防治健康知识讲座
- (2026版)《国有企业领导人员廉洁从业规定学习与解读》课件
- 出版社印制部门工作制度
- 肝母细胞瘤中国肿瘤整合诊治指南2026
- 2026年八年级下期地理生物中考会考重要知识点
- 《羊水栓塞预防与处理指南(2025)解读》
- 荆州市事业单位请假制度
- 2026年网络安全从入门到精通网络安全知识题库与答案解析
- 肩袖损伤3D打印个性化支具康复方案
- 2026年人教版道德与法治七年级下册期末质量检测卷(附答案解析)
- 陶粒砂生产前安全培训课件
评论
0/150
提交评论