一种支持虚拟机内更新FPGA功能的系统,方法,设备及存储介质技术方案

技术编号:22816815 阅读:18 留言:0更新日期:2019-12-14 13:02
本发明专利技术提供一种支持虚拟机内更新FPGA功能的系统,方法,设备及存储介质,本发明专利技术连接状态控制模块控制FPGA设备与虚拟机之间通信连接的通断;烧写模块读取命令寄存器的烧写FPGA命令,判断FPGA设备与虚拟机是否断开通信连接,如果断开通信连接,则执行烧写进程;状态写入模块获取烧写进程信息,并将烧写进程信息写入状态寄存器。这样系统把命令以及状态信息传递和数据传输集于一体,提升的数据传输效率。把虚拟机的储存空间设定为共享储存器。主机端在执行全芯片烧写FPGA之前,先移除虚拟机中的设备,防止系统报错,影响系统使用。

A system, method, device and storage medium supporting FPGA function update in virtual machine

【技术实现步骤摘要】
一种支持虚拟机内更新FPGA功能的系统,方法,设备及存储介质
本专利技术涉及云计算
,尤其涉及一种支持虚拟机内更新FPGA功能的系统,方法,设备及存储介质。
技术介绍
云计算是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。用户无需购买硬件,只须把需求(处理器和主存容量、以及设备类型和个数等),反馈给云服务供应商CSP(CloudServiceProvider)。CSP则基于用户的需求创建相应的虚拟机,用户的所有操作都可在虚拟机中进行,以实现快速部署和安全隔离。对于一些人工智能、大数据处理等计算能力需求较高的应用场景,用户会要求机器配备FPGA或GPU等异构计算设备,以获得更强的计算能力。其中FPGA凭借其低能耗、可编程、高性价比等特性,已逐渐被CSP关注并安装到云服务器中。通常上述应用场景对延迟比较敏感,外加FPGA虚拟化技术尚不成熟,目前CSP向客户提供FPGA计算服务的形式是把FPGA设备透传给虚拟机,在虚拟机内可直接操控设备,降低了延迟。FPGA设备的一大特性在于其可编程性,即通过下载不同功能的工程文件使FPGA设备具备不同的功能。当前有两种方式实现功能的动态配置,1)一种是部分重配置PR(PartialReconfiguration),此种方式要求把FPGA工程文件强制分为两部分,基础单元和功能单元。每次动态配置时仅替换功能单元。另外,为执行PR须满足当前设备已存在FPGA工程中的基础单元与即将下载工程文件中的基础单元完全一致,否则不执行PR,要求比较严格。2)另一种是全芯片烧写(Full-ChipProgramming),不对FPGA工程文件做划分,由于没有限制,通常得到的FPGA工程文件具有较好的性能。但其动态配置时依赖服务器主板与板卡之间存在一条下载线。目前,在虚拟机内通常仅能通过PR方式进行FPGA功能更新。但在某些情况下,比如不满足执行PR的条件或需要更换FPGA工程中的基础单元,则需要通过执行全芯片烧写方式实现FPGA功能更新。因此如何解决在虚拟机环境下通过全芯片烧写方式实现FPGA功能更新,是当前亟待解决的技术问题。
技术实现思路
本专利技术为解决在虚拟机环境下通过全芯片烧写方式实现FPGA功能更新,提出了一种支持虚拟机内更新FPGA功能的系统,包括:FPGA设备,主机和虚拟机;虚拟机设有命令寄存器和状态寄存器;主机包括:连接状态控制模块,烧写模块以及状态写入模块;连接状态控制模块用于控制FPGA设备与虚拟机之间通信连接的通断;烧写模块用于读取命令寄存器的烧写FPGA命令,判断FPGA设备与虚拟机是否断开通信连接,如果断开通信连接,则执行烧写进程;状态写入模块用于获取烧写进程信息,并将烧写进程信息写入状态寄存器。进一步需要说明的是,虚拟机还设有共享储存器;共享储存器用于储存待烧写的FPGA文件;烧写模块还用于从共享储存器读取待烧写的FPGA文件,执行烧写进程。进一步需要说明的是,还包括:配置模块,辨识模块,烧写可执行模块;配置模块用于在系统中配置虚拟机信息,系统中包括至少一个虚拟机;辨识模块用于辨识每个虚拟机的属性信息,系统中每个虚拟机的执行级别;烧写可执行模块用于对系统中每个虚拟机上部署虚拟属性签名,虚拟属性签名使主机能够与虚拟机的虚拟属性签名相匹配,匹配后主机对虚拟机进行操作。进一步需要说明的是,配置模块还用于配置虚拟机的执行级别;还用于将烧写任务分配到主机,且将虚拟属性签名匹配到主机中,所述虚拟属性签名具有与烧写任务相适配的执行级别。本专利技术还提供一种支持虚拟机内更新FPGA功能的方法,方法包括:连接状态控制模块控制FPGA设备与虚拟机之间通信连接的通断;烧写模块读取命令寄存器的烧写FPGA命令,判断FPGA设备与虚拟机是否断开通信连接,如果断开通信连接,则执行烧写进程;状态写入模块获取烧写进程信息,并将烧写进程信息写入状态寄存器。进一步需要说明的是,方法还包括:烧写模块从共享储存器读取待烧写的FPGA文件,执行烧写进程进一步需要说明的是,方法还包括:在系统中,配置虚拟机信息,系统中包括至少一个虚拟机;辨识模块辨识每个虚拟机的属性信息,系统中每个虚拟机的执行级别;烧写可执行模块对系统中每个虚拟机上部署虚拟属性签名,虚拟属性签名使主机能够与虚拟机的虚拟属性签名相匹配,匹配后主机对虚拟机进行操作。进一步需要说明的是,方法还包括:配置模块配置虚拟机的执行级别;还用于将烧写任务分配到主机,且将虚拟属性签名匹配到主机中,所述虚拟属性签名具有与烧写任务相适配的执行级别。本专利技术还提供一种实现支持虚拟机内更新FPGA功能的方法的设备,包括:存储器,用于存储计算机程序及支持虚拟机内更新FPGA功能的方法;处理器,用于执行所述计算机程序及支持虚拟机内更新FPGA功能的方法,以实现支持虚拟机内更新FPGA功能的方法的步骤。本专利技术还提供一种具有支持虚拟机内更新FPGA功能的方法的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现支持虚拟机内更新FPGA功能的方法的步骤。从以上技术方案可以看出,本专利技术具有以下优点:本专利技术连接状态控制模块控制FPGA设备与虚拟机之间通信连接的通断;烧写模块读取命令寄存器的烧写FPGA命令,判断FPGA设备与虚拟机是否断开通信连接,如果断开通信连接,则执行烧写进程;状态写入模块获取烧写进程信息,并将烧写进程信息写入状态寄存器。这样系统把命令以及状态信息传递和数据传输集于一体,提升的数据传输效率。把虚拟机的储存空间设定为共享储存器,虚拟机与主机间传输数据不存在复制开销。主机端在执行全芯片烧写FPGA之前,先移除虚拟机中的设备,防止系统报错,影响系统使用。附图说明为了更清楚地说明本专利技术的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为支持虚拟机内更新FPGA功能的系统示意图;图2为支持虚拟机内更新FPGA功能的方法流程图。具体实施方式本专利技术的图1是支持虚拟机内更新FPGA功能的系统示意图。示例性系统可以包括用于执行烧写任务的主机1以及多个虚拟机2,虚拟机2连接有FPGA设备3。可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常是指由虚拟机根据本专利技术的方案,示例性系统的全部或一部分可以在虚拟环境内实现。例如,本文所述的模块和/或数据管理器(例如,超级管理程序)从计算硬件中提取出来的任何操作系统环境。如下文将更详细地说明,示例性系统中,虚拟机2设有命令寄存器和状态寄存器;此外,示例性系统中,主机1包括:连接状态控制模块,烧写模块以及状态写入模块本文档来自技高网
...

【技术保护点】
1.一种支持虚拟机内更新FPGA功能的系统,其特征在于,包括:FPGA设备,主机和虚拟机;/n虚拟机设有命令寄存器和状态寄存器;/n主机包括:连接状态控制模块,烧写模块以及状态写入模块;/n连接状态控制模块用于控制FPGA设备与虚拟机之间通信连接的通断;/n烧写模块用于读取命令寄存器的烧写FPGA命令,判断FPGA设备与虚拟机是否断开通信连接,如果断开通信连接,则执行烧写进程;/n状态写入模块用于获取烧写进程信息,并将烧写进程信息写入状态寄存器。/n

【技术特征摘要】
1.一种支持虚拟机内更新FPGA功能的系统,其特征在于,包括:FPGA设备,主机和虚拟机;
虚拟机设有命令寄存器和状态寄存器;
主机包括:连接状态控制模块,烧写模块以及状态写入模块;
连接状态控制模块用于控制FPGA设备与虚拟机之间通信连接的通断;
烧写模块用于读取命令寄存器的烧写FPGA命令,判断FPGA设备与虚拟机是否断开通信连接,如果断开通信连接,则执行烧写进程;
状态写入模块用于获取烧写进程信息,并将烧写进程信息写入状态寄存器。


2.根据权利要求1所述的支持虚拟机内更新FPGA功能的系统,其特征在于,
虚拟机还设有共享储存器;
共享储存器用于储存待烧写的FPGA文件;
烧写模块还用于从共享储存器读取待烧写的FPGA文件,执行烧写进程。


3.根据权利要求1所述的支持虚拟机内更新FPGA功能的系统,其特征在于,
还包括:配置模块,辨识模块,烧写可执行模块;
配置模块用于在系统中配置虚拟机信息,系统中包括至少一个虚拟机;
辨识模块用于辨识每个虚拟机的属性信息,系统中每个虚拟机的执行级别;
烧写可执行模块用于对系统中每个虚拟机上部署虚拟属性签名,虚拟属性签名使主机能够与虚拟机的虚拟属性签名相匹配,匹配后主机对虚拟机进行操作。


4.根据权利要求3所述的支持虚拟机内更新FPGA功能的系统,其特征在于,
配置模块还用于配置虚拟机的执行级别;还用于将烧写任务分配到主机,且将虚拟属性签名匹配到主机中,所述虚拟属性签名具有与烧写任务相适配的执行级别。


5.一种支持虚拟机内更新FPGA功能的方法,其特征在于,方法包括:
连接状态控制模块控制FPGA设备与虚拟机之间通信连接的通断;

【专利技术属性】
技术研发人员:张德闪阚宏伟郭振华
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1