[发明专利]一种用于虚拟化环境中片上系统的DMA方法及系统在审
申请号: | 202210698619.9 | 申请日: | 2022-06-20 |
公开(公告)号: | CN115202808A | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 张科;阮金杰;常轶松;齐乐 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F15/78;G06F13/28 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;陈思远 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 虚拟 环境 中片上 系统 dma 方法 | ||
本发明提出一种用于虚拟化环境中片上系统的DMA方法和系统,包括:读主机内存‑写FPGA内存和读FPGA内存‑写主机内存两个方向的DMA硬件。以读主机内存‑写FPGA内存为例,主机运行的虚拟机发起访问FPGA内存指令,DMA模块接受该指令,将FPGA访存地址和传输字节大小以数据流的形式输入至命令字生成模块将数据流转换为命令字,流数据转换模块根据该命令字访问FPGA内存。本发明通过设计DMA软硬件,实现在上述两个方向分别只使用一个DMA描述符,以减少主机硬件地址翻译竞争开销。在SoC FPGA中,片上总线互连的CPU和FPGA紧耦合,在其CPU主机上运行的虚拟机中直通上述两个方向DMA。
技术领域
本发明涉及计算机系统结构、系统虚拟化以及异构处理系统领域,特别涉及一种用于虚拟化环境中片上系统的直接存储器访问(Direct Memory Access,DMA)系统。
背景技术
随着摩尔定律放缓,同时云上人工智能等新型应用程序对算力的需求暴增,通用CPU越来越难以满足这些应用的需求。为了应对算力瓶颈、减轻CPU负担,越来越多的加速器开始在云中部署,如GPU、现场可编程门阵列(Field Programmable Gate Array,FPGA)、张量处理单元(Tensor Processing Unit,TPU)等不同种类的硬件加速器在商用云中不断涌现。
由于具有硬件可编程性和较高的计算能效比,FPGA已经在云中广泛部署用于应用程序加速。亚马逊、微软和阿里等云厂商在云中部署FPGA,用于加速机器学习、图计算、视频图像处理、区块链和基因分析等应用。
FPGA加速器的部署依赖动态部分可重构技术来重新配置FPGA。动态部分可重构技术把FPGA划分为静态区(SHELL)和部署FPGA加速器的动态区(ROLE),保证了在重新配置用户加速器的动态区时静态区和其他加速器的动态区将保持不变且不受影响。
云FPGA的使用依赖在主机上运行的虚拟机和FPGA内存之间进行数据拷贝,而且虚拟机和加速器FPGA内存间的数据拷贝效率在一定程度上影响了FPGA加速器的加速效率。但是,针对嵌入CPU硬核的SoC(System On Chip,片上系统)FPGA,由于主机和FPGA之间不是PCIe接口,因此缺少PCIe DMA的支持,导致虚拟机和FPGA内存不同地址空间的DMA数据拷贝的软硬件支持不完善,特别是针对在FPGA动态部分可重构场景中多加速器共享FPGA内存的情况。
目前针对SoC FPGA,现有的DMA硬件不论是主机到FPGA内存,还是FPGA内存到主机方向,都需要访问主机内存获取DMA描述符,在虚拟化环境下硬件地址翻译竞争开销较大。此外,针对SoC FPGA,在FPGA划分多个动态区部署多加速器的情况下,目前在CPU主机上运行的虚拟机中执行不同加速器的DMA数据拷贝没有成熟的解决方案。
发明内容
针对目前SoC FPGA平台在CPU虚拟机中执行DMA拷贝没有成熟的方案,提出了一种虚拟化环境中片上系统的DMA系统,包括DMA硬件和驱动软件。本发明可以用于在SoC FPGA的主机上运行的虚拟机中执行虚拟机和FPGA加速器内存间的数据拷贝,而且每个方向只需要获取一个DMA描述符。
具体来说,本发明提出一种用于虚拟化环境中片上系统的DMA方法,其中包括:
片上系统包括通过片上总线互连的紧耦合的CPU主机和FPGA,当主机运行的虚拟机传输数据到FPGA内存时执行步骤1,从FPGA内存传输数据至该虚拟机时执行步骤2;
步骤1、主机运行的虚拟机根据DMA描述符发起传输数据到FPGA内存的指令,DMA模块接受该访问FPGA内存指令,并将该访问FPGA内存指令的FPGA访存地址和传输字节大小以数据流的形式输入至命令字生成模块,命令字生成模块将该数据流转换为命令字,流数据转换模块接受该命令字后,该模块根据该FPGA访存地址和传输字节大小访问该FPGA内存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210698619.9/2.html,转载请声明来源钻瓜专利网。