CN104956328A - 一种可重入资源调度方法、设备及系统 - Google Patents
一种可重入资源调度方法、设备及系统 Download PDFInfo
- Publication number
- CN104956328A CN104956328A CN201480000429.9A CN201480000429A CN104956328A CN 104956328 A CN104956328 A CN 104956328A CN 201480000429 A CN201480000429 A CN 201480000429A CN 104956328 A CN104956328 A CN 104956328A
- Authority
- CN
- China
- Prior art keywords
- resource
- scheduling
- fpga
- reentrying
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
Abstract
本发明实施例公开了一种可重入资源调度方法、设备及系统,其中,所述方法用于可重入资源调度系统,所述可重入资源调度系统包括操作系统、调度缓冲区以及现场可编辑逻辑门阵列FPGA,其中操作系统用于执行以下步骤:监控可重入资源的运行状态信息;根据可重入资源的运行状态信息,确定可重入资源满足调度条件;将满足调度条件的可重入资源存储到调度缓冲区中,可重入资源的格式为经过转换的能被FPGA识别的格式;将存储到调度缓冲区中的可重入资源调度到FPGA中,使可重入资源成为FPGA业务程序。采用本发明,可自动实现根据监控得到的可重入资源的远行状态信息,将满足调度条件的可重入资源调度到FPGA中,提升工作效率。
Description
一种可重入资源调度方法、 设备及系统 技术领域
本发明涉及计算机应用技术领域, 尤其涉及一种可重入资源调度方法、设 备及系统。 背景技术
FPGA ( Field Programmable Gate Array, 现场可编程逻辑门阵列), 作为专 用集成电路领域中的一种半定制电路,用户可以通过可编辑的连接把 FPGA内 部的逻辑块连接起来, 就好像一个电路试验板被放在了一个芯片里。 FPGA嵌 入式系统由微处理单元、 FPGA部分以及外设 EEPROM ( Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)等设备组成, 其 中微处理单元是系统主控部分,主要负责管理 FPGA系统正常运行、下发控制 命令以及接收 FPGA系统的运行结果返回; FPGA中的外围设备连接微处理单 元以及外部输入 /输出接口等设备, FPGA中的静态区域是 FPGA固件部分和 相关配置部分, FPGA中的可重入区域是 FPGA系统上电后, 调度 EEPROM 中的 FPGA业务程序,也可以将 FPGA内部的 FPGA业务程序调度到 EEPROM 中; EEPROM是 FPGA运行的可执行代码緩存设备, 主要存放 FPGA上电前 需要调度到 FPGA内部的 FPGA业务程序和 FPGA上电后从 FPGA中调度到 EEPROM中的 FPGA业务程序。
现有技术中, FPGA系统上电后将 EEPROM中的 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中包括;
当将存储到所述调度緩沖区中的可重入资源调度到所述 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识别的格式,进一步的将存储到所述调度緩沖区中的所述可重 入资源调度到 FPGA中,使所述可重入资源成为 FPGA业务程序,可自动实现 根据监控得到的可重入资源的运行状态信息,将所述满足调度条件的可重入资
源调度到 FPGA中, 提升工作效率。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例中所需要使用的附图作筒单地介绍,显而易见地, 下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的 前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例提供的一种可重入资源调度方法的流程示意图; 图 2为本发明另一实施例提供的一种可重入资源调度方法的流程示意图; 图 3为本发明实施例提供的一种用户程序的调度状态机示意图; 图 4为本发明另一实施例提供的一种可重入资源调度方法的流程示意图; 图 5为本发明实施例提供的一种内核驱动程序的调度状态机示意图; 图 6为本发明另一实施例提供的一种可重入资源调度方法的流程示意图; 图 7为本发明实施例提供的一种 FPGA业务程序的调度状态机示意图; 图 8为本发明实施例提供的一种可重入资源调度设备的结构示意图; 图 9为本发明实施例提供的图 8的条件确定单元的结构示意图; 图 10为本发明实施例提供的图 9的条件确定模块的结构示意图; 图 11为本发明实施例提供的图 8的状态监控单元的结构示意图; 图 12为本发明实施例提供的图 8的资源存储单元的结构示意图; 图 13为本发明实施例提供的图 8的资源删除单元的结构示意图; 图 14为本发明实施例提供的一种可重入资源调度系统的结构示意图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
请参见图 1 , 图 1为本发明实施例提供的一种可重入资源调度方法的流程
示意图, 所述方法用于可重入资源调度系统, 所述可重入资源调度系统包括操 作系统、 调度緩沖区以及现场可编辑逻辑门阵列 FPGA, 其中所述操作系统用 于执行以下步骤:
S101 , 监控可重入资源的运行状态信息。
操作系统可以监控可重入资源的运行状态信息,所述可重入资源可以包括 用户程序和内核驱动程序。可选的,操作系统还可以监控 FPGA业务程序的运 行状态信息。
具体的,操作系统中的监控模块可以向可重入资源和 FPGA业务程序发送 状态请求信息,以使所述可重入资源和 FPGA业务程序根据所述状态请求信息 返回运行状态信息,所述运行状态信息可以包括处于可运行状态的用户程序占 用的内存使用量是否到达预设阈值,或者包括内核驱动程序是否处于被使用状 态,或者包括 FPGA业务程序是否处于睡眠状态或未被使用状态,进而监控模 块可以接收所述可重入资源或 FPGA业务程序返回的运行状态信息,其中所述 状态请求信息可以用于指示以下信息: 版本标识、 信息类型、 信息长度、 传输 标识以及目标资源类型, 所述运行状态信息可以包括版本标识、信息类型、信 息长度、 传输标识以及目标资源类型。
Busy Information Request Message
Header
Version: 0x00
Message Type: FPGA Busy Request Information
Length: 24
Transaction ID: 0
Busy Information Request
Type: User APP/ Kernel Module I FPGA img
Body: ***** //不同 type填充请求部分
示例性的状态请求信息的信息格式如上所示,所述状态请求信息中的版本 标识可以是 0x00,信息类型可以是 FPGA忙碌请求信息,信息长度可以是 24bit 比特, 传输标识可以是 " 0" , 目标资源类型可以是用户程序、 内核驱动程序或 FPGA业务程序, 所述状态请求信息还可以包括目标资源的标识信息, 所述目
标资源的标识信息可以是目标资源的填充请求。操作系统向用户程序、 内核驱 动程序以及 FPGA业务程序广播状态请求信息,所述用户程序、 内核驱动程序 以及 FPGA业务程序接收到所述状态请求信息后,返回运行状态信息,所述运 行状态信息可以包括版本标识、 信息类型、 信息长度、 传输标识以及目标资源 类型。
Busy Information Reply Message
Header
Version: 0x00
Message Type: FPGA Busy Reply Information
Length: 24
Transaction ID: 0
Busy Information Reply
Type: User APP/ Kernel Module I FPGA img
Body: ***** // User App Status : high / low
// kernel module Used by : used / not used
// FPGA img Status : high / low
示例性的运行状态信息的信息格式如上所示,所述运行状态信息中的版本 标识可以是 0x00,信息类型可以是 FPGA忙碌响应信息,信息长度可以是 24bit, 传输标识可以是 " 0" , 目标资源类型可以是用户程序、 内核驱动程序或 FPGA 业务程序, 例如处于可运行状态的用户程序占用的内存使用量到达预设阈值 时, 所述用户程序的运行状态可以是 high 负载高; 内核驱动程序处于被使用 状态时, 所述内核驱动程序的运行状态可以是 used被使用; FPGA业务程序 处于睡眠状态或未被使用状态时, 所述 FPGA 业务程序的运行状态可以是空 闲。
S102, 根据可重入资源的运行状态信息, 确定可重入资源满足调度条件。 操作系统可以根据所述可重入资源的运行状态信息,确定所述可重入资源 满足调度条件。
具体实现中, 所述可重入资源为用户程序时,操作系统中的监控模块可以 根据接收到的所述用户程序的运行状态信息,确定所述用户程序处于可运行状
态,当所述用户程序处于可运行状态时,则确定所述可重入资源满足调度条件。 可选的,操作系统当确定所述用户程序处于可运行状态时,还可以确定所述处 于可运行状态的用户程序占用的内存使用量到达预设阈值,当所述处于可运行 状态的用户程序占用的内存使用量到达预设阈值时,则确定所述可重入资源满 足调度条件。
所述可重入资源为内核驱动程序时,操作系统中的监控模块可以根据接收 到的所述内核驱动程序的运行状态信息,确定所述内核驱动程序处于被使用状 态, 进而当所述内核驱动程序处于被使用状态时, 则确定所述可重入资源满足 调度条件。
可选的,操作系统中的监控模块还可以根据接收到的 FPGA业务程序的运 行状态信息, 确定所述 FPGA业务程序处于睡眠状态或未被使用状态。
S103, 将满足调度条件的可重入资源存储到调度緩沖区中。
操作系统可以将所述满足调度条件的可重入资源存储到调度緩沖区中,其 中所述存储到所述调度緩沖区中的可重入资源的格式为经过转换的能被所述 FPGA识别的格式。 可选的, 操作系统还可以删除所述确定处于睡眠状态或未 被使用状态的 FPGA业务程序,进一步可选的,操作系统还可以将所述确定处 于睡眠状态或未被使用状态的 FPGA业务程序调度到调度緩沖区中。
具体的,操作系统中的监控模块接收到运行状态信息后,操作系统中的管 理模块可以生成统计请求信息, 并将所述统计请求信息发送给监控模块, 以使 阈值时,或者当所述内核驱动程序处于被使用状态时,或者当所述 FPGA业务 程序处于睡眠状态或未被使用状态时, 管理模块获取监控模块返回的统计标 识,所述统计标识用于指示处于可运行状态的用户程序占用的内存使用量到达 预设阈值,或者所述内核驱动程序处于被使用状态,或者所述 FPGA业务程序 处于睡眠状态或未被使用状态, 进一步的, 管理模块还可以获取监控模块返回 的统计信息。进一步的操作系统可以根据所述获取到的可重入资源或 FPGA业 务程序的统计信息, 将所述可重入资源存储到调度緩沖区中, 或删除所述 FPGA业务程序。 操作系统将所述可重入资源存储到调度緩沖区中之后, 还可 以对所述可重入资源设定优先级,其中所述统计请求信息可以用于指示以下信
息: 版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型, 所述统计 信息可以包括版本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及 统计标识, 例如所述可重入资源是用户程序, 所述用户程序的运行状态是负载 高, 则管理模块获取到的所述用户程序的统计标识为 "Γ , 用于指示所述处于 可运行状态的用户程序占用的内存使用量到达预设阈值;若所述用户程序的运 行状态是负载低, 则管理模块获取到的所述用户程序的统计标识为 "0" , 用于 指示所述用户程序未处于可运行状态,或者处于可运行状态的用户程序占用的 内存使用量未到达预设阈值。
FPGA Busy Stastic Information Message
Header
Version: 0x00
Message Type: FPGA Busy Stastic Information
Length: 32
Transaction ID: 1
Busy Stastic Request
Message Type: FPGA Busy Stastic Information Request
Type: User APP/ Kernel Module I FPGA img
Flag: 0/1 〃资源空闲与繁忙
Busy Stastic Reply
Message Type: FPGA Busy Stastic Information Reply
Type: User APP/ Kernel Module I FPGA img
Flag: 0/1 〃资源空闲与繁忙
示例性的统计请求信息和统计信息的信息格式如上所示,所述统计请求信 息用于指示版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型, 管 理模块接收到的所述统计信息中的版本标识可以是 0x00, 信息类型可以是 FPGA忙碌统计信息, 信息长度可以是 32bit, 传输标识可以是 " Γ , 目标资源 类型可以是用户程序、 内核驱动程序或 FPGA业务程序,统计标识用于指示处 于可运行状态的用户程序占用的内存使用量到达预设阈值,或者内核驱动程序 处于被使用状态,或者 FPGA业务程序处于睡眠状态或未被使用状态,例如当
处于可运行状态的用户程序占用的内存使用量到达预设阈值时,则所述获取到 的统计标识可以为 "Γ , 表示所述用户程序处于忙碌状态。
S104,将存储到调度緩沖区中的可重入资源调度到 FPGA中,使所述可重 入资源成为 FPGA业务程序。
操作系统可以将存储到调度緩沖区中的可重入资源调度到 FPGA中,使所 述可重入资源成为 FPGA业务程序,其中操作系统可以根据预设的优先级,将 调度緩沖区中的优先级最高的可重入资源调度到 FPGA中,使所述可重入资源 成为 FPGA业务程序, 并在所述 FPGA中运行所述可重入资源。
具体的,操作系统中的调度模块可以生成调度请求信息,将所述调度请求 信息发送给管理模块,以使管理模块返回所述调度请求信息中的目标资源类型 对应的统计标识,进而调度模块根据所述统计标识将存储到调度緩沖区中的可 重入资源调度到调度緩沖区中,或者根据所述统计标识删除 FPGA中的 FPGA 业务程序,当存储到所述调度緩沖区中的所述可重入资源调度到所述 FPGA中 时,调度模块可以获取调度标识, 所述调度标识用于指示所述存储到所述调度 緩沖区中的可重入资源已成功调度到所述 FPGA中,例如, 当存储到所述调度 緩沖区中的所述可重入资源已成功调度到所述 FPGA中时,操作系统获取到的 调度标识可以为 "Γ; 当存储到所述调度緩沖区中的所述可重入资源未成功调 度到所述 FPGA 中时, 操作系统获取到的调度标识可以为 "0"。 针对 FPGA 业务程序, 当操作系统已成功删除所述 FPGA业务程序时,操作系统获取到的 调度标识可以为 "Γ; 当未成功删除所述 FPGA业务程序时, 操作系统获取到 的调度标识可以为 "0"。 当将存储到所述调度緩沖区中的可重入资源调度到所 述 FPGA中时,操作系统还可以获取调度状态信息,所述调度状态信息可以包 括版本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及调度标识。
进一步的,操作系统可以根据所述调度状态信息中的调度标识, 判断所述 可重入资源或 FPGA业务程序调度是否成功,若调度状态信息中的调度标识是 "1" , 则表示所述可重入资源调度成功或 FPGA业务程序已成功删除; 若调度 状态信息中的调度标识是 "0" ,则表示所述可重入资源调度未成功或 FPGA业 务程序未成功删除, 可选的,操作系统可以到达预设时间时重新将存储到调度 緩沖区中的所述可重入资源调度到 FPGA中,或到达预设时间时再次删除所述
FPGA业务程序。
HW Process Schedule Message
Header
Version: 0x00
Message Type: HW Process Schedule Information
Length: 64
Transaction ID: 2
HW Processs Schdule Request
Message Type: HW Process Schedule Information Request
Type: User APP/ Kernel Module I FPGA img
Flag: 0/1 //资源调度失败或成功
HW Processs Schdule Reply
Message Type: HW Process Schedule Information Reply
Type: User APP/ Kernel Module I FPGA img
Flag: 0/1 //资源调度失败或成功
示例性的调度状态信息的信息格式如上所示,所述调度状态信息中的版本 标识可以是 0x00, 信息类型可以是资源调度信息, 信息长度可以是 64bit, 传 输标识可以是 "2" , 目标资源类型可以是用户程序、 内核驱动程序或 FPGA业 务程序, 调度标识可以是 "0" 或 "Γ , 其中调度标识 "0" 用于指示所述可重 入资源调度失败或 FPGA业务程序未成功删除, 调度标识 "Γ 用于指示所述 可重入资源调度成功或 FPGA业务程序已成功删除。
在图 1所示的可重入资源调度方法中,操作系统通过监控得到的可重入资 源的运行状态信息,确定所述可重入资源满足调度条件, 将所述满足调度条件 的可重入资源存储到调度緩沖区中,并将存储到所述调度緩沖区中的所述可重 入资源调度到 FPGA中,使所述可重入资源成为 FPGA业务程序,可自动实现 根据监控得到的可重入资源的运行状态信息,将满足调度条件的可重入资源调 度到 FPGA中, 提升工作效率。 请参见图 2, 图 2为本发明另一实施例提供的一种可重入资源调度方法的
流程示意图,本发明实施例是以用户程序为例对所述可重入资源调度方法进行 描述的, 所述方法用于可重入资源调度系统, 所述可重入资源调度系统包括操 作系统、 调度緩沖区以及现场可编辑逻辑门阵列 FPGA, 其中所述操作系统用 于执行以下步骤:
S201 , 监控用户程序的运行状态信息。
操作系统可以监控用户程序的运行状态信息, 具体的,操作系统中的监控 模块可以向用户程序发送状态请求信息,以使所述用户程序根据所述状态请求 信息返回运行状态信息,所述运行状态信息可以包括处于可运行状态的用户程 序占用的内存使用量是否到达预设阈值,进而监控模块接收所述用户程序返回 的运行状态信息。 其中所述状态请求信息可以用于指示以下信息: 版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型, 所述运行状态信息可以包 括版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型。
如图 3所示, 图 3为用户程序的调度状态机示意图,操作系统可以监控用 户程序的运行状态信息, 用户程序的运行状态可以包括准备调度状态、可运行 状态、 忙碌状态以及空闲状态等。
S202,根据用户程序的运行状态信息,确定所述用户程序处于可运行状态。 操作系统可以根据用户程序的运行状态信息,确定所述用户程序处于可运 行状态, 所述可运行状态可以包括正在运行状态和准备运行状态。 操作系统确定所述用户程序处于可运行状态后,还可以确定所述用户程序 的内存使用量到达预设阈值, 例如所述用户程序的 CPU ( Central Processing Unit, 中央处理器)使用率到达预设比例, 操作系统中的监控模块接收到运行 状态信息后,操作系统中的管理模块可以生成统计请求信息, 并将所述统计请 求信息发送给监控模块,以使监控模块确定当所述处于可运行状态的用户程序 占用的内存使用量到达预设阈值时,管理模块获取监控模块返回的统计标识可 以为 "Γ , 统计标识 "Γ 用于指示处于可运行状态的用户程序占用的内存使 用量到达预设阈值, 即表示所述用户程序处于忙碌状态, 管理模块还可以获取 监控模块返回的统计信息, 所述统计信息可以包括版本标识、 信息类型、 信息 长度、 传输标识、 目标资源类型以及统计标识。
5204,将所述确定处于可运行状态且系统资源使用量到达预设阈值的用户 程序存储到调度緩沖区中。 述用户程序的统计标识为 "Γ ,操作系统中的管理模块可以根据所述统计标识 将所述用户程序存储到调度緩沖区中。
5205, 将存储到调度緩沖区中的所述用户程序调度到 FPGA中。
操作系统可以根据所述用户程序的统计信息中的统计标识将存储到调度 緩沖区中的所述用户程序调度到 FPGA中,具体的,操作系统中的调度模块可 以生成调度请求信息,将所述调度请求信息发送给管理模块, 以使管理模块返 回所述调度请求信息中的目标资源类型对应的统计标识,进而调度模块根据所 述统计标识将存储到调度緩沖区中的用户程序调度到调度緩沖区中,其中操作 系统可以根据预设的优先级,将调度緩沖区中的优先级最高的所述用户程序调 度到 FPGA中, 使所述用户程序成为 FPGA业务程序, 并在所述 FPGA中运 行所述用户程序。
以图 3所示的用户程序的调度状态机示意图为例,操作系统监控到所述用 户程序处于准备调度状态, 当所述用户程序分配的时间片到达预设时间时,操 控到所述用户程序的系统资源使用量到达预设阈值,可以将所述用户程序从可 运行状态切换到忙碌状态,进而操作系统可以将所述用户程序存储到调度緩沖 区中, 并将调度緩沖区中的所述用户程序调度到 FPGA中,使所述用户程序成 为 FPGA业务程序,并在所述 FPGA中运行所述用户程序;若操作系统监控到 所述用户程序的系统资源使用量未到达预设阈值,可以将所述用户程序从可运 行状态切换到空闲状态,若操作系统监控到所述用户程序的系统资源使用量到 达预设阈值, 可以将所述用户程序从空闲状态切换到忙碌状态, 进而操作系统 可以将所述用户程序存储到调度緩沖区中,并将调度緩沖区中的所述用户程序 调度到 FPGA中, 使所述用户程序成为 FPGA业务程序, 并在所述 FPGA中 运行所述用户程序。
5206, 判断是否成功将存储到调度緩沖区中的用户程序调度到 FPGA中。 操作系统中的调度模块将存储到调度緩沖区中的用户程序调度到 FPGA
中时, 可以判断是否已成功将存储到调度緩沖区中的用户程序调度到 FPGA 中, 若是, 则执行步骤 S207; 若否, 则执行步骤 S208。
S207,若是, 则获取到的针对所述用户程序的调度状态信息中的调度标识 为 T。
若已成功将存储到调度緩沖区中的用户程序调度到 FPGA中,则操作系统 获取到的针对所述用户程序的调度标识可以为 "Γ ,所述调度标识用于指示所 述用户程序已成功调度到 FPGA中,操作系统还可以获取调度状态信息,其中 所述调度状态信息可以包括版本标识、 信息类型、 信息长度、 传输标识、 目标 资源类型以及调度标识。
S208,若否, 则获取到的针对所述用户程序的调度状态信息中的调度标识 为 "0"。
若未成功将存储到调度緩沖区中的用户程序调度到 FPGA中,则操作系统 获取到的所述调度标识为 "0"。
进一步的,操作系统可以根据所述调度状态信息中的调度标识, 判断所述 用户程序调度是否成功, 若调度状态信息中的调度标识是 "Γ , 则表示所述用 户程序调度成功; 若调度状态信息中的调度标识是 "0" , 则表示所述用户程序 调度未成功, 可选的,操作系统可以到达预设时间时重新将所述用户程序存储 到调度緩沖区中, 并将存储到调度緩沖区中的所述用户程序调度到 FPGA中。
在图 2和图 3所示的可重入资源调度方法中,操作系统根据监控得到的用 户程序的运行状态信息,确定所述用户程序处于可运行状态且系统资源使用量 到达预设阈值, 则将所述用户程序存储到调度緩沖区中, 并将调度緩沖区中的 所述用户程序调度到 FPGA中,进而根据调度结果设置针对所述用户程序的调 度状态信息中的调度标识,可自动实现根据监控得到的用户程序的运行状态信 息, 将所述满足调度条件的用户程序调度到 FPGA中, 提升工作效率。 请参见图 4, 图 4为本发明另一实施例提供的一种可重入资源调度方法的 流程示意图,本发明实施例是以内核驱动程序为例对所述可重入资源调度方法 进行描述的, 所述方法用于可重入资源调度系统, 所述可重入资源调度系统包 括操作系统、 调度緩沖区以及现场可编辑逻辑门阵列 FPGA, 其中所述操作系
统用于执行以下步骤:
5401 , 监控内核驱动程序的运行状态信息。
操作系统可以监控所述内核驱动程序的运行状态信息,具体的,操作系统 中的监控模块可以向内核驱动程序发送状态请求信息,以使所述内核驱动程序 根据所述状态请求信息返回运行状态信息,所述运行状态信息可以包括内核驱 动程序程序是否处于被使用状态,进而监控模块接收所述内核驱动程序返回的 运行状态信息。 其中所述状态请求信息可以用户指示以下信息: 版本标识、信 息类型、信息长度、传输标识以及目标资源类型, 所述运行状态信息可以包括 版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型。
如图 5所示, 图 5为内核驱动程序的调度状态机示意图,操作系统可以监 控内核驱动程序的运行状态信息,内核驱动程序的运行状态可以包括准备调度 状态、 可运行状态、 忙碌状态以及空闲状态等。
5402,根据内核驱动程序的运行状态信息,确定所述内核驱动程序处于被 使用状态。
操作系统可以根据内核驱动程序的运行状态信息,确定所述内核驱动程序 处于被使用状态。
具体的,操作系统中的监控模块接收到运行状态信息后,操作系统中的管 理模块可以生成统计请求信息, 并将所述统计请求信息发送给监控模块, 以使 监控模块确定当所述内核驱动程序处于被使用状态时,管理模块获取监控模块 返回的所述内核驱动程序的统计标识,所述统计标识用于指示所述内核驱动程 序处于被使用状态, 例如操作系统确定所述内核驱动程序处于被使用状态, 则 可以将所述内核驱动程序的统计信息中的统计标识设置为 "Γ , 统计标识 "1" 表示所述内核驱动程序处于忙碌状态。
沖区中。 具体的, 操作系统可以根据所述内核驱动程序的统计标识, 将所述处 于被使用状态的内核驱动程序存储到调度緩沖区中。
S404, 将存储到调度緩沖区中的所述内核驱动程序调度到 FPGA中。 操作系统可以根据所述内核驱动程序的统计信息中的统计标识将存储到
调度緩沖区中的所述内核驱动程序调度到 FPGA中,具体的,操作系统中的调 度模块可以生成调度请求信息,将所述调度请求信息发送给管理模块, 以使管 理模块返回所述调度请求信息中的目标资源类型对应的统计标识,进而调度模 块根据所述统计标识将存储到调度緩沖区中的内核驱动程序调度到调度緩沖 区中, 其中操作系统可以根据预设的优先级,将调度緩沖区中的优先级最高的 所述内核驱动程序调度到 FPGA中,使所述内核驱动程序成为 FPGA业务程序, 并在所述 FPGA中运行所述内核驱动程序。
以图 5所示的内核驱动程序的调度状态机示意图为例,操作系统监控到所 述内核驱动程序处于准备调度状态, 当内核驱动程序装载到操作系统中时,操 统监控到所述内核驱动程序当前正在被使用,可以将所述内核驱动程序从可运 行状态切换成忙碌状态,进而操作系统可以将所述内核驱动程序存储到调度緩 沖区中,将调度緩沖区中的所述内核驱动程序调度到 FPGA中,使所述内核驱 动程序成为 FPGA业务程序,并在所述 FPGA中运行所述内核驱动程序;若操 作系统监控到所述内核驱动程序未被使用,可以将所述内核驱动程序从可运行 状态切换成空闲状态,在操作系统监控到所述内核驱动程序被使用时, 可以将 所述内核驱动程序从可运行状态切换成忙碌状态,进而操作系统将所述内核驱 动程序存储到调度緩沖区中,进一步的将调度緩沖区中的所述内核驱动程序调 度到 FPGA中, 使所述内核驱动程序成为 FPGA业务程序, 并在所述 FPGA 中运行所述内核驱动程序。
5405,判断是否成功将存储到调度緩沖区中的内核驱动程序调度到 FPGA 中。
操作系统将存储到调度緩沖区中的内核驱动程序调度到 FPGA中时,可以 判断是否已成功将存储到调度緩沖区中的内核驱动程序调度到 FPGA 中, 若 是, 则执行步骤 S406; 若否, 则执行步骤 S407。
5406,若是, 则获取到的针对所述内核驱动程序的调度状态信息中的调度 标识为 T。
若已成功将存储到调度緩沖区中的内核驱动程序调度到 FPGA中,则操作 系统获取到的针对所述内核驱动程序的调度标识可以为 "Γ , 其中所述调度状
态信息可以包括版本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以 及调度标识。
S407,若否, 则获取到的针对所述内核驱动程序的调度状态信息中的调度 标识为 "0"。
若未成功将存储到调度緩沖区中的内核驱动程序调度到 FPGA中,则操作 系统获取到的所述调度标识可以为 "0"。
进一步的,操作系统可以根据所述调度状态信息中的调度标识, 判断所述 内核驱动程序调度是否成功, 若调度状态信息中的调度标识是 "Γ , 则表示所 述内核驱动程序调度成功; 若调度状态信息中的调度标识是 "0" , 则表示所述 内核驱动程序调度未成功, 可选的,操作系统可以到达预设时间时重新将所述 内核驱动程序存储到调度緩沖区中,并将存储到调度緩沖区中的所述内核驱动 程序调度到 FPGA中。
在图 4和图 5所示的可重入资源调度方法中,操作系统根据监控得到的内 核驱动程序的运行状态信息,确定所述内核驱动程序处于被使用状态, 则将所 述内核驱动程序存储到调度緩沖区中,并将调度緩沖区中的所述内核驱动程序 调度到 FPGA中,进而根据调度结果设置针对所述内核驱动程序的调度状态信 息中的调度标识, 可自动实现根据监控得到的内核驱动程序的运行状态信息, 将所述满足调度条件的内核驱动程序调度到 FPGA中, 提升工作效率。 请参见图 6, 图 6为本发明另一实施例提供的一种可重入资源调度方法的 流程示意图,本发明实施例是以 FPGA业务程序为例对所述可重入资源调度方 法进行描述的, 所述方法用于可重入资源调度系统, 所述可重入资源调度系统 包括操作系统、 调度緩沖区以及现场可编辑逻辑门阵列 FPGA, 其中所述操作 系统用于执行以下步骤:
S601 , 监控 FPGA业务程序的运行状态信息。
操作系统可以监控 FPGA业务程序的运行状态信息,具体的,操作系统中 的监控模块可以向 FPGA业务程序发送状态请求信息,以使所述 FPGA业务程 序根据所述状态请求信息返回运行状态信息, 所述运行状态信息可以包括 FPGA业务程序是否处于睡眠状态或未被使用状态, 进而监控模块可以接收所
述 FPGA业务程序返回的运行状态信息,其中所述状态请求信息可以用于指示 以下信息: 版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型, 所 述运行状态信息可以包括版本标识、信息类型、 信息长度、 传输标识以及目标 资源类型。
如图 7所示, 图 7为 FPGA业务程序的调度状态机示意图,可重入资源调 度设备可以监控 FPGA业务程序的运行状态信息, FPGA业务程序的运行状态 可以包括准备调度状态、 可运行状态、 忙碌状态以及空闲状态等。
5602, 根据 FPGA业务程序的运行状态信息, 确定所述 FPGA业务程序 处于睡眠状态或未被使用状态。
操作系统可以根据 FPGA业务程序的运行状态信息,确定所述 FPGA业务 程序处于睡眠状态, 其中睡眠状态即等待事件的发生或等待获取系统资源。可 选的,可重入资源调度设备还可以根据 FPGA业务程序的运行状态信息,确定 所述 FPGA业务程序处于未被使用状态。
操作系统中的监控模块接收到运行状态信息后,操作系统中的管理模块可 以生成统计请求信息, 并将所述统计请求信息发送给监控模块, 以使监控模块 确定当所述 FPGA业务程序处于睡眠状态或未被使用状态时,管理模块获取监 控模块返回的统计标识,所述统计标识用于指示所述 FPGA业务程序处于睡眠 状态或未被使用状态, 进一步的, 管理模块还可以获取监控模块返回的统计信 息, 统计信息可以包括版本标识、 信息类型、 信息长度、 传输标识、 目标资源 类型以及统计标识。若可重入资源调度设备确定所述 FPGA业务程序处于睡眠 状态或未被使用状态,则管理模块获取到的所述 FPGA业务程序的统计标识可 以为 "0" , 统计标识 "0" 表示所述 FPGA业务程序处于空闲状态。
以图 7所示的 FPGA业务程序的调度状态机为例,操作系统可以根据监控 得到的 FPGA业务程序的运行状态信息,确定所述 FPGA业务程序处于空闲状 态, 即所述 FPGA业务程序处于睡眠状态或未被使用状态。
5603, 删除所述确定处于睡眠状态或未被使用状态的 FPGA业务程序。 操作系统可以根据所述 FPGA 业务程序的统计信息中的统计标识删除所 述 FPGA业务程序,可选的,操作系统还可以将所述处于睡眠状态或未被使用 状态的 FPGA业务程序调度到调度緩沖区中。具体的,若所述 FPGA业务程序
的统计标识为 "0" , 即所述 FPGA业务程序处于空闲状态, 也表示所述 FPGA 业务程序处于睡眠状态或未被使用状态,则删除所述确定处于睡眠状态或未被 使用状态的 FPGA业务程序,可选的,操作系统可以将所述 FPGA业务程序调 度到调度緩沖区中。本发明实施例通过将确定处于睡眠状态或确定处于未被使 用状态的 FPGA中的 FPGA业务程序删除, 在 FPGA中可以有多余的运行队 列以供操作系统将用户程序或内核驱动程序调度到所述运行队列中,进而在所 述运行队列中运行。
在图 7所示的 FPGA业务程序的调度状态机示意图中,操作系统监控到可 重入资源处于准备调度状态时,可以将所述调度緩沖区中的可重入资源调度到 FPGA中, 使所述可重入资源成为 FPGA业务程序, 并在所述 FPGA中运行所 述 FPGA业务程序, 所述 FPGA业务程序处于准备调度状态; 通过 FPGA上 电, 操作系统可以将所述 FPGA业务程序从准备调度状态切换成可运行状态; 若操作系统监控到所述 FPGA业务程序负载较低,可以将所述 FPGA业务程序 从可运行状态切换成空闲状态,进而操作系统可以根据所述 FPGA业务程序的 统计标识 "0" , 删除所述 FPGA业务程序, 并将所述 FPGA业务程序从 FPGA 调度到调度緩沖区中; 若操作系统监控到所述 FPGA业务程序负载较高,可以 将所述 FPGA业务程序从可运行状态切换成忙碌状态, 在 FPGA中加速运行; 若操作系统监控到所述 FPGA业务程序负载较低,可以将所述 FPGA业务程序 从忙碌状态切换成空闲状态,进而操作系统可以删除所述 FPGA业务程序, 并 将所述 FPGA业务程序从 FPGA调度到调度緩沖区中。
S604, 判断是否成功删除所述 FPGA业务程序。
操作系统删除所述 FPGA 业务程序后, 可以判断是否已成功删除所述 FPGA业务程序, 若已成功删除所述 FPGA业务程序, 则执行步骤 S605; 若 未成功删除所述 FPGA业务程序, 则执行步骤 S606。
S605,若是,则获取到的针对所述 FPGA业务程序的调度状态信息中的调 度标识为 T。
若已成功删除所述 FPGA业务程序,则操作系统获取到的针对所述 FPGA 业务程序的调度标识可以为 "Γ , 其中操作系统获取到的调度状态信息可以包 括版本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及调度标识。
S606,若否,则获取到的针对所述 FPGA业务程序的调度状态信息中的调 度标识可以为 "0"。
若未成功删除所述 FPGA业务程序,则操作系统获取到的所述调度状态信 息中的调度标识可以为 "0"。
进一步的,操作系统可以根据所述调度标识,判断所述 FPGA业务程序调 度是否成功, 若调度状态信息中的调度标识是 "Γ , 则表示所述 FPGA业务程 序已成功删除; 若调度状态信息中的调度标识是 "0" , 则表示所述 FPGA业务 程序未成功删除, 可选的, 操作系统可以到达预设时间时再次删除所述 FPGA 业务程序, 并将所述 FPGA业务程序调度到调度緩沖区中。
在图 6和图 7所示的可重入资源调度方法中, 操作系统根据监控得到的
FPGA中的 FPGA业务程序的运行状态信息,确定所述 FPGA业务程序处于睡 眠状态或未被使用状态,进一步的删除所述确定处于睡眠状态或未被使用状态 的 FPGA 业务程序, 进而获取调度标识, 所述调度标识用于指示所述 FPGA 业务程序是否成功删除,可自动实现根据监控得到的 FPGA业务程序的运行状 态信息,将所述满足调度条件的 FPGA业务程序从 FPGA中删除,提升工作效 率。 本发明实施例还提供了一种计算机存储介质, 其中,所述计算机存储介质 可存储有程序,该程序执行时包括上述图 1至图 7所示的方法实施例中记载的 可重入资源调度方法的部分或全部步骤。 请参见图 8, 图 8为本发明实施例提供的一种可重入资源调度设备的结构 示意图,所述可重入资源调度设备可以用于实施结合图 1至图 7所示的方法实 施例中的可重入资源调度方法的部分或全部步骤,所述可重入资源调度设备至 少可以包括状态监控单元 801、 条件确定单元 802、 资源存储单元 803以及资 源调度单元 804, 其中:
状态监控单元 801 , 用于监控可重入资源的运行状态信息。
条件确定单元 802, 用于根据所述状态监控单元 801监控得到的可重入资 源的运行状态信息, 确定所述可重入资源满足调度条件。
资源存储单元 803, 用于将所述条件确定单元 802确定满足调度条件的可 重入资源存储到调度緩沖区中,其中所述存储到所述调度緩沖区中的可重入资 源的格式为经过转换的能被 FPGA识别的格式。
资源调度单元 804, 用于将所述资源存储单元 803存储到所述调度緩沖区 中的所述可重入资源调度到 FPGA中,使所述可重入资源成为 FPGA业务程序。
作为一种可选的实施方式, 所述可重入资源包括用户程序, 则所述条件确 定单元 802可以如图 9所示, 进一步包括:
状态确定模块 901 , 用于根据所述状态监控单元 801监控得到的用户程序 的运行状态信息, 确定所述用户程序处于可运行状态。
条件确定模块 902, 用于当所述状态确定模块 901确定所述用户程序处于 可运行状态时, 则确定所述可重入资源满足调度条件。
进一步可选的, 所述条件确定模块 902可以如图 10所示, 进一步包括: 内存确定子模块 1001 , 用于当所述状态确定模块 901确定所述用户程序 达预设阈值;
条件确定子模块 1002, 用于当所述内存确定子模块 1001确定所述处于可 运行状态的用户程序占用的内存使用量到达预设阈值时,则确定所述可重入资 源满足调度条件。
作为一种可选的实施方式, 所述可重入资源包括内核驱动程序, 其中: 所述状态确定模块 901 , 还用于根据所述状态监控单元 801监控得到的内 核驱动程序的运行状态信息, 确定所述内核驱动程序处于被使用状态。
所述条件确定模块 902, 还用于当所述状态确定模块 901确定所述内核驱 动程序处于被使用状态时, 则确定所述可重入资源满足调度条件。
作为一种可选的实施方式, 所述状态监控单元 801还用于监控所述 FPGA 业务程序的运行状态信息。
所述条件确定单元 802, 还用于根据所述状态监控单元 801监控得到的所 述 FPGA业务程序的运行状态信息,确定所述 FPGA业务程序处于睡眠状态或 未被使用状态。
所述可重入资源调度设备还可以包括:
资源删除单元 805, 用于删除所述条件确定单元 802确定处于睡眠状态或 未被使用状态的 FPGA业务程序。
作为一种可选的实施方式, 所述状态监控单元 801可以如图 11所示, 进 一步包括:
状态请求发送模块 1101 , 用于向所述可重入资源发送状态请求信息。 运行状态接收模块 1102, 用于接收所述可重入资源根据所述状态请求发 送模块 1101发送的状态请求信息返回的运行状态信息, 所述运行状态信息包 括处于可运行状态的用户程序占用的内存使用量是否到达预设阈值,或者包括 内核驱动程序是否处于被使用状态。
进一步可选的, 所述状态请求发送模块 1101 , 还用于向所述 FPGA业务 程序发送状态请求信息。
所述运行状态接收模块 1102, 还用于接收所述 FPGA业务程序根据所述 状态请求发送模块 1101发送的状态请求信息返回的运行状态信息, 所述运行 状态信息包括所述 FPGA业务程序是否处于睡眠状态或未被使用状态。
进一步可选的, 所述状态请求信息包括指示请求以下信息: 版本标识、 信 息类型、 信息长度、 传输标识以及目标资源类型。
所述运行状态信息包括版本标识、信息类型、信息长度、传输标识以及目 标资源类型。
作为一种可选的实施方式, 所述资源存储单元 803可以如图 12所示, 进 一步包括:
统计标识获取模块 1201 , 用于当所述条件确定模块 902确定处于可运行 状态的用户程序占用的内存使用量到达预设阈值时获取统计标识,其中所述统 阈值。
资源存储模块 1202, 用于根据所述统计标识获取模块 1201获取到的统计 标识, 将所述满足调度条件的可重入资源存储到所述调度緩沖区中。
可选的, 所述统计标识获取模块 1201 , 还用于当所述条件确定模块 902 确定所述内核驱动程序处于被使用状态时获取统计标识,其中所述统计标识用 于指示所述内核驱动程序占用的内存使用量到达预设阈值。
所述资源存储模块 1202, 还用于根据所述统计标识获取模块 1201获取到 的统计标识, 将所述满足调度条件的可重入资源存储到所述调度緩沖区中。
进一步可选的, 所述统计标识获取模块 1201 , 还用于根据所述可重入资 源的运行状态信息获取统计信息, 所述统计信息包括版本标识、信息类型、信 息长度、 传输标识、 目标资源类型以及统计标识。
作为一种可选的实施方式, 所述资源删除单元 805可以如图 13所示, 进 一步包括:
统计标识获取模块 1301 , 用于当所述条件确定单元 802确定所述 FPGA 业务程序处于睡眠状态或未被使用状态时获取统计标识,所述统计标识用于指 示所述 FPGA业务程序处于睡眠状态或未被使用状态。
资源删除模块 1302, 用于根据所述统计标识获取模块 1301获取到的统计 标识, 删除所述确定处于睡眠状态或未被使用状态的 FPGA业务程序。
进一步可选的, 所述统计标识获取模块 1301 , 还用于根据所述 FPGA业 务程序的运行状态信息获取统计信息,所述统计信息包括版本标识、信息类型、 信息长度、 传输标识、 目标资源类型以及统计标识。
作为一种可选的实施方式, 所述资源调度单元 804, 还用于当将所述资源 存储单元存储到所述调度緩沖区中的可重入资源调度到所述 FPGA 中时获取 调度标识,所述调度标识用于指示所述存储到所述调度緩沖区中的可重入资源 已成功调度到所述 FPGA中。
进一步可选的, 所述资源调度单元 804, 还用于当所述资源存储单元将存 储到所述调度緩沖区中的可重入资源调度到所述 FPGA 中时获取调度状态信 息, 所述调度状态信息包括版本标识、 信息类型、 信息长度、 传输标识、 目标 资源类型以及调度标识。
在图 8~图 13所示的可重入资源调度设备中, 条件确定单元 802通过状态 监控单元 801监控得到的可重入资源的运行状态信息,确定所述可重入资源满 足调度条件, 资源存储单元 803将所述可重入资源存储到调度緩沖区中, 资源 调度单元 804将存储到所述调度緩沖区中的所述可重入资源调度到 FPGA中, 使所述可重入资源成为 FPGA业务程序,可自动实现根据监控得到的可重入资 源的运行状态信息,将所述满足调度条件的可重入资源调度到 FPGA中,提升
工作效率。 请参见图 14,图 14为本发明实施例提供的一种可重入资源调度系统的结构 示意图, 用于执行本发明实施例提供的可重入资源调度方法。 如图 14所示, 该 可重入资源调度系统包括: 至少一个处理器 1401 , 例如 CPU, 至少一个 FPGA 1405, 存储器 1404, 调度緩沖区 1403, 至少一个通信总线 1402。 通信总线 1402 用于实现这些组件之间的连接通信。 其中, 存储器 1404可能包含高速 RAM存 储器, 也可能还包括非不稳定的存储器( non-volatile memory ) , 例如至少一 个磁盘存储器。存储器 1404可选的可以包含至少一个位于远离前述处理器 1401 的存储装置。所述调度緩沖区 1403可以位于硬件存储介质例如 EEPROM中,也 可以位于存储器 1404中,存储器 1404中存储一组程序代码,且处理器 1401调用 存储器 1404中存储的程序代码, 用于执行以下操作:
监控可重入资源的运行状态信息;
根据所述可重入资源的运行状态信息, 确定所述可重入资源满足调度条 件;
将所述满足调度条件的可重入资源存储到所述调度緩沖区中,其中所述存 储到所述调度緩沖区中的可重入资源的格式为经过转换的能被所述 FPGA识 别的格式;
将存储到所述调度緩沖区 1403中的所述可重入资源调度到 FPGA1405中, 使所述可重入资源成为 FPGA业务程序。
在可选实施例中, 所述可重入资源包括用户程序, 处理器 1401调用存储 器 1404中存储的程序代码根据所述可重入资源的运行状态信息, 确定所述可 重入资源满足调度条件具体为:
根据所述用户程序的运行状态信息, 确定所述用户程序处于可运行状态; 当所述用户程序处于可运行状态时, 则确定所述可重入资源满足调度条 件。
进一步的,处理器 1401调用存储器 1404中存储的程序代码当所述用户程 序处于可运行状态时, 则确定所述可重入资源满足调度条件具体为:
当所述用户程序处于可运行状态时,确定所述处于可运行状态的用户程序
占用的内存使用量到达预设阈值。 确定所述可重入资源满足调度条件。
在可选实施例中, 所述可重入资源包括内核驱动程序, 处理器 1401调用 存储器 1404中存储的程序代码根据所述可重入资源的运行状态信息, 确定所 述可重入资源满足调度条件具体为:
根据所述内核驱动程序的运行状态信息,确定所述内核驱动程序处于被使 用状态;
当所述内核驱动程序处于被使用状态时,则确定所述可重入资源满足调度 条件。
在可选的实施例中,处理器 1401还可以调用存储器 1404中存储的程序代 码执行以下步骤:
监控所述 FPGA业务程序的运行状态信息;
根据所述 FPGA业务程序的运行状态信息,确定所述 FPGA业务程序处于 睡眠状态或未被使用状态;
删除所述确定处于睡眠状态或未被使用状态的 FPGA业务程序。
进而在可选实施例中,处理器 1401调用存储器 1404中存储的程序代码监 控可重入资源的运行状态信息具体为:
向所述可重入资源发送状态请求信息。
接收所述可重入资源根据所述状态请求信息返回的运行状态信息,所述运 阈值, 或者包括内核驱动程序是否处于被使用状态。
进而在可选实施例中,处理器 1401调用存储器 1404中存储的程序代码监 控可重入资源的运行状态信息具体为:
向所述 FPGA业务程序发送状态请求信息;
接收所述 FPGA业务程序根据所述状态请求信息返回的运行状态信息,所 述运行状态信息包括所述 FPGA业务程序是否处于睡眠状态或未被使用状态。
其中, 所述状态请求信息包括指示请求以下信息: 版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型;
所述运行状态信息包括版本标识、 信息类型、 信息长度、 传输标识以及目 标资源类型。
进而在可选实施例中,处理器 1401调用存储器 1404中存储的程序代码将 所述满足调度条件的可重入资源存储到所述调度緩沖区 1403中具体为: 取统计标识,其中所述统计标识用于指示所述处于可运行状态的用户程序占用 的内存使用量到达预设阈值;
根据所述统计标识,将所述满足调度条件的可重入资源存储到所述调度緩 沖区 1403中。
进而在可选实施例中,处理器 1401调用存储器 1404中存储的程序代码将 所述满足调度条件的可重入资源存储到所述调度緩沖区 1403中具体为: 用于指示所述内核驱动程序占用的内存使用量到达预设阈值;
根据所述统计标识,将所述满足调度条件的可重入资源存储到所述调度緩 沖区 1403中。
其中,处理器 1401还可以调用存储器 1404中存储的程序代码根据所述可 重入资源的运行状态信息获取统计信息, 所述统计信息包括版本标识、信息类 型、 信息长度、 传输标识、 目标资源类型以及统计标识。
进而在可选实施例中,处理器 1401调用存储器 1404中存储的程序代码删 除所述确定处于睡眠状态或未被使用状态的 FPGA业务程序具体为:
当所述 FPGA业务程序处于睡眠状态或未被使用状态时获取统计标识,所 述统计标识用于指示所述 FPGA业务程序处于睡眠状态或未被使用状态; 根据所述统计标识, 删除所述确定处于睡眠状态或未被使用状态的 FPGA 业务程序。
其中, 处理器 1401还可以调用存储器 1404 中存储的程序代码根据所述
FPGA业务程序的运行状态信息获取统计信息, 所述统计信息包括版本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及统计标识。
在可选的实施例中,处理器 1401调用存储器 1404中存储的程序代码将所 述存储到所述调度緩沖区中的可重入资源调度到所述 FPGA1405中具体为:
当将存储到所述调度緩沖区中的可重入资源调度到所述 FPGA1405 中时 获取调度标识,所述调度标识用于指示所述存储到所述调度緩沖区中的可重入 资源已成功调度到所述 FPGA1405中。
其中,处理器 1401还可以调用存储器 1404中存储的程序代码当将存储到 所述调度緩沖区 1403中的可重入资源调度到所述 FPGA1405中时获取调度状 态信息, 所述调度状态信息包括版本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及调度标识。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算 机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。 其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM )或随机存储记忆体(Random Access Memory, RAM )等。
需要说明的是, 在上述实施例中, 对各个实施例的描述都各有侧重, 某个 实施例中没有详细描述的部分, 可以参见其他实施例的相关描述。 其次, 本领 域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例, 所涉及 的动作和单元并不一定是本发明所必须的。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之 权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (1)
- 权 利 要 求1、 一种可重入资源调度方法, 其特征在于, 所述方法用于可重入资源调 度系统, 所述可重入资源调度系统包括操作系统、调度緩沖区以及现场可编辑 逻辑门阵列 FPGA, 其中所述操作系统用于执行以下步骤:监控可重入资源的运行状态信息;根据所述可重入资源的运行状态信息, 确定所述可重入资源满足调度条 件;将所述满足调度条件的可重入资源存储到所述调度緩沖区中,其中所述存 储到所述调度緩沖区中的可重入资源的格式为经过转换的能被所述 FPGA识 别的格式;将所述存储到所述调度緩沖区中的可重入资源调度到所述 FPGA中,使所 述可重入资源成为 FPGA业务程序。 2、 如权利要求 1所述的方法, 其特征在于, 所述可重入资源包括用户程 序;所述根据所述可重入资源的运行状态信息,确定所述可重入资源满足调度 条件包括:根据所述用户程序的运行状态信息, 确定所述用户程序处于可运行状态; 当所述用户程序处于可运行状态时, 则确定所述可重入资源满足调度条 件。3、 如权利要求 2所述的方法, 其特征在于, 所述当所述用户程序处于可 运行状态时, 确定所述可重入资源满足调度条件包括:当所述用户程序处于可运行状态时,确定所述处于可运行状态的用户程序 占用的内存使用量到达预设阈值; 确定所述可重入资源满足调度条件。 4、 如权利要求 1所述的方法, 其特征在于, 所述可重入资源包括内核驱 动程序;所述根据所述可重入资源的运行状态信息,确定所述可重入资源满足调度 条件包括:根据所述内核驱动程序的运行状态信息,确定所述内核驱动程序处于被使 用状态;当所述内核驱动程序处于被使用状态时,则确定所述可重入资源满足调度 条件。5、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括:监控所述 FPGA业务程序的运行状态信息;根据所述 FPGA业务程序的运行状态信息,确定所述 FPGA业务程序处于 睡眠状态或未被使用状态;删除所述确定处于睡眠状态或未被使用状态的 FPGA业务程序。6、 如权利要求 1~4任一项所述的方法, 其特征在于, 所述监控可重入资 源的运行状态信息包括:向所述可重入资源发送状态请求信息;接收所述可重入资源根据所述状态请求信息返回的运行状态信息,所述运 阈值, 或者包括内核驱动程序是否处于被使用状态。7、 如权利要求 5所述的方法, 其特征在于, 所述监控所述 FPGA业务程 序的运行状态信息包括:向所述 FPGA业务程序发送状态请求信息;接收所述 FPGA业务程序根据所述状态请求信息返回的运行状态信息,所 述运行状态信息包括所述 FPGA业务程序是否处于睡眠状态或未被使用状态。 8、 如权利要求 6所述的方法, 其特征在于, 所述状态请求信息包括指示 请求以下信息: 版本标识、信息类型、信息长度、传输标识以及目标资源类型; 所述运行状态信息包括:版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型。9、 如权利要求 3所述的方法, 其特征在于, 所述将所述满足调度条件的 可重入资源存储到所述调度緩沖区中包括: 取统计标识,其中所述统计标识用于指示所述处于可运行状态的用户程序占用 的内存使用量到达预设阈值;根据所述统计标识,将所述满足调度条件的可重入资源存储到所述调度緩 沖区中。10、 如权利要求 4所述的方法, 其特征在于, 所述将所述满足调度条件的 可重入资源存储到所述调度緩沖区中包括: 用于指示所述内核驱动程序占用的内存使用量到达预设阈值;根据所述统计标识,将所述满足调度条件的可重入资源存储到所述调度緩 沖区中。11、 如权利要求 9或 10任一项所述的方法, 其特征在于, 所述获取统计 标识包括:根据所述可重入资源的运行状态信息获取统计信息,所述统计信息包括版 本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及统计标识。12、 如权利要求 5所述的方法, 其特征在于, 所述删除所述确定处于睡眠 状态或未被使用状态的 FPGA业务程序包括:当所述 FPGA业务程序处于睡眠状态或未被使用状态时获取统计标识,所 述统计标识用于指示所述 FPGA业务程序处于睡眠状态或未被使用状态; 根据所述统计标识, 删除所述确定处于睡眠状态或未被使用状态的 FPGA 业务程序。13、 如权利要求 12所述的方法, 其特征在于, 所述当所述 FPGA业务程 序处于睡眠状态或未被使用状态时获取统计标识包括:根据所述 FPGA业务程序的运行状态信息获取统计信息,所述统计信息包 括版本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及统计标识。14、 如权利要求 1所述的方法, 其特征在于, 所述将所述存储到所述调度 緩沖区中的可重入资源调度到所述 FPGA中包括:当将存储到所述调度緩沖区中的可重入资源调度到所述 FPGA 中时获取 调度标识,所述调度标识用于指示所述存储到所述调度緩沖区中的可重入资源 已成功调度到所述 FPGA中。 15、 如权利要求 14所述的方法, 其特征在于, 所述当将存储到所述调度 緩沖区中的可重入资源调度到所述 FPGA中时获取调度标识包括:当将存储到所述调度緩沖区中的可重入资源调度到所述 FPGA 中时获取 调度状态信息, 所述调度状态信息包括版本标识、 信息类型、 信息长度、 传输 标识、 目标资源类型以及调度标识。16、一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序, 所述程序执行时包括权利要求 1~15任一项所述的步骤。17、 一种可重入资源调度设备, 其特征在于, 所述可重入资源调度设备包 括:状态监控单元, 用于监控可重入资源的运行状态信息;条件确定单元,用于根据所述状态监控单元监控得到的可重入资源的运行 状态信息, 确定所述可重入资源满足调度条件;资源存储单元,用于将所述条件确定单元确定满足调度条件的可重入资源 存储到调度緩沖区中,其中所述存储到所述调度緩沖区中的可重入资源的格式 为经过转换的能被 FPGA识别的格式;资源调度单元,用于将所述资源存储单元存储到所述调度緩沖区中的所述 可重入资源调度到所述 FPGA中, 使所述可重入资源成为 FPGA业务程序。18、 如权利要求 17所述的可重入资源调度设备, 其特征在于, 所述可重 入资源包括用户程序;所述条件确定单元包括:状态确定模块,用于根据所述状态监控单元监控得到的用户程序的运行状 态信息, 确定所述用户程序处于可运行状态;条件确定模块,用于当所述状态确定模块确定所述用户程序处于可运行状 态时, 则确定所述可重入资源满足调度条件。19、 如权利要求 18所述的可重入资源调度设备, 其特征在于, 所述条件 确定模块包括:内存确定子模块,用于当所述状态确定模块确定所述用户程序处于可运行 值;条件确定子模块,用于当所述内存确定子模块确定所述处于可运行状态的 用户程序占用的内存使用量到达预设阈值时,则确定所述可重入资源满足调度 条件。20、 如权利要求 17所述的可重入资源调度设备, 其特征在于, 所述可重 入资源包括内核驱动程序;所述状态确定模块,还用于根据所述状态监控单元监控得到的内核驱动程 序的运行状态信息, 确定所述内核驱动程序处于被使用状态;所述条件确定模块,还用于当所述状态确定模块确定所述内核驱动程序处 于被使用状态时, 则确定所述可重入资源满足调度条件。 21、 如权利要求 17所述的可重入资源调度设备, 其特征在于, 所述状态 监控单元还用于:监控所述 FPGA业务程序的运行状态信息;所述条件确定单元,还用于根据所述状态监控单元监控得到的所述 FPGA 业务程序的运行状态信息,确定所述 FPGA业务程序处于睡眠状态或未被使用 状态;所述可重入资源调度设备还包括:资源删除单元,用于删除所述条件确定单元确定处于睡眠状态或未被使用 状态的 FPGA业务程序。22、 如权利要求 17~20任一项所述的可重入资源调度设备, 其特征在于, 所述状态监控单元包括:状态请求发送模块, 用于向所述可重入资源发送状态请求信息; 运行状态接收模块,用于接收所述可重入资源根据所述状态请求发送模块 发送的状态请求信息返回的运行状态信息,所述运行状态信息包括处于可运行 状态的用户程序占用的内存使用量是否到达预设阈值,或者包括内核驱动程序 是否处于被使用状态。23、 如权利要求 21所述的可重入资源调度设备, 其特征在于, 所述状态 请求发送模块还用于:向所述 FPGA业务程序发送状态请求信息;所述运行状态接收模块,还用于接收所述 FPGA业务程序根据所述状态请 求发送模块发送的状态请求信息返回的运行状态信息,所述运行状态信息包括 所述 FPGA业务程序是否处于睡眠状态或未被使用状态。24、 如权利要求 22所述的可重入资源调度设备, 其特征在于, 所述状态 请求信息包括指示请求以下信息: 版本标识、 信息类型、 信息长度、 传输标识 以及目标资源类型;所述运行状态信息包括: 版本标识、 信息类型、 信息长度、 传输标识以及目标资源类型。25、 如权利要求 19所述的可重入资源调度设备, 其特征在于, 所述资源 存储单元包括:统计标识获取模块,用于当所述条件确定模块确定处于可运行状态的用户 程序占用的内存使用量到达预设阈值时获取统计标识,其中所述统计标识用于 资源存储模块, 用于根据所述统计标识获取模块获取到的统计标识,将所 述满足调度条件的可重入资源存储到所述调度緩沖区中。26、 如权利要求 20所述的可重入资源调度设备, 其特征在于, 所述统计 标识获取模块还用于: 标识,其中所述统计标识用于指示所述内核驱动程序占用的内存使用量到达预 设阈值;所述资源存储模块, 还用于根据所述统计标识获取模块获取到的统计标 识, 将所述满足调度条件的可重入资源存储到所述调度緩沖区中。27、如权利要求 25或 26任一项所述的可重入资源调度设备,其特征在于, 所述统计标识获取模块还用于:根据所述可重入资源的运行状态信息获取统计信息,所述统计信息包括版 本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及统计标识。28、 如权利要求 21所述的方法, 其特征在于, 所述资源删除单元包括: 统计标识获取模块,用于当所述条件确定单元确定所述 FPGA业务程序处 于睡眠状态或未被使用状态时获取统计标识, 所述统计标识用于指示所述 FPGA业务程序处于睡眠状态或未被使用状态;资源删除模块, 用于根据所述统计标识获取模块获取到的统计标识,删除 所述确定处于睡眠状态或未被使用状态的 FPGA业务程序。 29、 如权利要求 28所述的方法, 其特征在于, 所述统计标识获取模块还 用于:根据所述 FPGA业务程序的运行状态信息获取统计信息,所述统计信息包 括版本标识、 信息类型、 信息长度、 传输标识、 目标资源类型以及统计标识。30、 如权利要求 17所述的可重入资源调度设备, 其特征在于, 所述资源 调度单元还用于:当将所述资源存储单元存储到所述调度緩沖区中的可重入资源调度到所 述 FPGA中时获取调度标识,所述调度标识用于指示所述存储到所述调度緩沖 区中的可重入资源已成功调度到所述 FPGA中。31、 如权利要求 30所述的可重入资源调度设备, 其特征在于, 所述资源 调度单元还用于:当所述资源存储单元将存储到所述调度緩沖区中的可重入资源调度到所 述 FPGA中时获取调度状态信息,所述调度状态信息包括版本标识、信息类型、 信息长度、 传输标识、 目标资源类型以及调度标识。32、 一种可重入资源调度系统, 其特征在于, 所述可重入资源调度系统包 括 FPGA、 存储器、 调度緩沖区以及处理器, 其中, 所述存储器中存储一组程 序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作: 监控可重入资源的运行状态信息;根据所述可重入资源的运行状态信息, 确定所述可重入资源满足调度条 件;将所述满足调度条件的可重入资源存储到所述调度緩沖区中,其中所述存 储到所述调度緩沖区中的可重入资源的格式为经过转换的能被所述 FPGA识 别的格式;将所述存储到所述调度緩沖区中的可重入资源调度到所述 FPGA中,使所 述可重入资源成为 FPGA业务程序。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/071681 WO2015113211A1 (zh) | 2014-01-28 | 2014-01-28 | 一种可重入资源调度方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104956328A true CN104956328A (zh) | 2015-09-30 |
CN104956328B CN104956328B (zh) | 2018-12-14 |
Family
ID=53756106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480000429.9A Active CN104956328B (zh) | 2014-01-28 | 2014-01-28 | 一种可重入资源调度方法、设备及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104956328B (zh) |
WO (1) | WO2015113211A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544819A (zh) * | 2016-06-29 | 2018-01-05 | 中兴通讯股份有限公司 | 一种用于可编程器件的业务实现方法、装置和通信终端 |
CN112506087A (zh) * | 2019-09-16 | 2021-03-16 | 阿里巴巴集团控股有限公司 | Fpga加速系统和方法、电子设备以及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655828A (zh) * | 2008-08-18 | 2010-02-24 | 中国人民解放军信息工程大学 | 基于任务数据流驱动的高效能超级计算系统的设计方法 |
CN101727423A (zh) * | 2008-10-17 | 2010-06-09 | 东北大学 | 可重配置fpga上可抢占硬件多任务系统及其实现方法 |
US20120151502A1 (en) * | 2010-12-14 | 2012-06-14 | University Of Southern California | Apparatus and method for dynamically reconfiguring state of application program in a many-core system |
CN102508712A (zh) * | 2011-09-29 | 2012-06-20 | 中国科学技术大学苏州研究院 | 异构多核可重构混合系统中的中间件系统及任务执行方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080104601A1 (en) * | 2006-10-26 | 2008-05-01 | Nokia Corporation | Scheduler for multiple software tasks to share reconfigurable hardware |
CN101441569B (zh) * | 2008-11-24 | 2012-05-30 | 中国人民解放军信息工程大学 | 基于异构可重构体系结构面向任务流的编译方法 |
CN101944049B (zh) * | 2010-09-16 | 2014-04-02 | 四川大学 | 一种基于放置代价的可重构系统软/硬件任务统一调度方法 |
-
2014
- 2014-01-28 WO PCT/CN2014/071681 patent/WO2015113211A1/zh active Application Filing
- 2014-01-28 CN CN201480000429.9A patent/CN104956328B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655828A (zh) * | 2008-08-18 | 2010-02-24 | 中国人民解放军信息工程大学 | 基于任务数据流驱动的高效能超级计算系统的设计方法 |
CN101727423A (zh) * | 2008-10-17 | 2010-06-09 | 东北大学 | 可重配置fpga上可抢占硬件多任务系统及其实现方法 |
US20120151502A1 (en) * | 2010-12-14 | 2012-06-14 | University Of Southern California | Apparatus and method for dynamically reconfiguring state of application program in a many-core system |
CN102508712A (zh) * | 2011-09-29 | 2012-06-20 | 中国科学技术大学苏州研究院 | 异构多核可重构混合系统中的中间件系统及任务执行方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544819A (zh) * | 2016-06-29 | 2018-01-05 | 中兴通讯股份有限公司 | 一种用于可编程器件的业务实现方法、装置和通信终端 |
CN107544819B (zh) * | 2016-06-29 | 2022-04-19 | 中兴通讯股份有限公司 | 一种用于可编程器件的业务实现方法、装置和通信终端 |
CN112506087A (zh) * | 2019-09-16 | 2021-03-16 | 阿里巴巴集团控股有限公司 | Fpga加速系统和方法、电子设备以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104956328B (zh) | 2018-12-14 |
WO2015113211A1 (zh) | 2015-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737534B (zh) | 任务的处理方法、装置和服务器 | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
EP3754902A1 (en) | Broadcast message management method and apparatus | |
CN101604264B (zh) | 超级计算机的任务调度方法及系统 | |
CN101883436B (zh) | 一种资源的并发处理方法、系统及移动终端 | |
CN105187327A (zh) | 一种分布式消息队列中间件 | |
CN103246550A (zh) | 一种基于容量的多任务调度方法及系统 | |
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
CN103473142A (zh) | 一种云计算操作系统下的虚拟机迁移方法及装置 | |
CN106897299B (zh) | 一种数据库访问方法及装置 | |
CN111586140A (zh) | 一种数据交互的方法及服务器 | |
CN110650503A (zh) | 网络接入方法、装置、系统和计算机可读存储介质 | |
CN103019854A (zh) | 一种分布式的动态进程管理方法及系统 | |
CN111371848A (zh) | 一种请求处理方法、装置、设备及存储介质 | |
CN104572286A (zh) | 一种基于分布式内存集群的任务调度方法 | |
CN109818977B (zh) | 一种接入服务器通信优化方法、接入服务器以及通信系统 | |
CN109918181B (zh) | 基于最差响应时间的混合关键系统任务可调度性分析方法 | |
CN113055416A (zh) | 容器集群节点资源池的管理方法和装置 | |
CN113658351B (zh) | 一种产品生产的方法、装置、电子设备及存储介质 | |
CN104956328A (zh) | 一种可重入资源调度方法、设备及系统 | |
CN112860401B (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN102117261B (zh) | 一种芯片内部处理器之间的通信方法 | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
US12019909B2 (en) | IO request pipeline processing device, method and system, and storage medium | |
CN100426241C (zh) | 一种面向服务体系结构中消息层软中断处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |