可重构系统中可重构资源并行构建方法和系统与流程

文档序号:11829130阅读:136来源:国知局
可重构系统中可重构资源并行构建方法和系统与流程
本发明涉及计算机体系结构
技术领域
,更具体的说是涉及一种可重构系统中可重构资源并行构建方法和系统。
背景技术
:本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。可重构计算(ReconfigurableComputing,PC)在20实际60年代末被提出,试图在达到比软件实现更高性能的前提下,提供一定的硬件实现灵活性。在进行重构操作时,需要对大量的现场可编程门阵列(Field-ProgrammableGateArray,FPGA)进行配置,配置的常规方式是采用串行配置,这种方式存在效率低的问题。技术实现要素:有鉴于此,本发明的目的在于提供一种可重构系统中可重构资源并行构建方法和系统。本发明的一方面,提供一种可重构系统中可重构资源并行构建方法,包括:接收应用需求信息,并选择满足应用需求的可重构资源;如果可重构资源数量为多个且分布在不同的科学计算组件中,则为每个具有所述可重构资源的科学计算组件分配一个独立线程,不同的科学计算组件对应不同的线程;启动各个线程,配置各个线程各自对应的科学计算组件中的可重构资源从上述技术方案可以看出,本发明提供的方案采用为每个科学计算组件分配独立线程的方式,实现了对不同的科学计算组件中的可重构资源的并行配置,节约了系统重构的时间,提高了重构效率。优选的,上述方法中,所述科学计算组件包括多个现场可编程门阵列FPGA和一个控制单元,所述控制单元通过一条联合测试行动小组Jtag链路与多个FPGA相连。优选的,上述方法中,某一线程在配置对应可重构资源时,如果出错或出现异常,则记录当前状态信息并上报控制主机,由控制主机停止所述线程。优选的,上述方法中,所述控制主机选择新可重构资源代替出错或出现异常的可重构资源,并为其分配线程。优选的,上述方法中,所述当前状态信息包括可重构资源所在科学计算组件标识,可重构资源在所述科学计算组件中的序号,设置表示不可用状态的可用性字段,以及,记录出错频率的字段。本发明的另一方面,公开一种实现上述方法的可重构资源并行构建系统,包括:用于进行人机交互的通信接口;多个可重构资源,分配于多个科学计算组件中;选择单元,用于在所述通信接口接收应用需求信息时,选择满足应用需求的可重构资源;用于对可重构资源进行重构配置的配置单元;控制主机,用于管理各个线程,包括为每个具有所述可重构资源的科学计算组件分配一个独立线程,不同的科学计算组件对应不同的线程,以及,启动各个线程,控制所述配置单元通过各个线程配置对应科学计算组件内的可重构资源。优选的,上述系统中,所述科学计算组件包括多个现场可编程门阵列FPGA和一个控制单元,所述控制单元通过一条联合测试行动小组Jtag链路与多个FPGA相连。优选的,上述系统还包括监测单元,用于监测所述配置单元利用各个线程配置可重构资源的过程,如果出错或出现异常,则记录当前状态信息并上报所述控制主机,由所述控制主机停止所述线程。优选的,上述系统中,所述管理各个线程还包括:为代替出错或出现异常的可重构资源的新可重构资源分配线程。优选的,上述系统中,所述当前状态信息包括可重构资源所在科学计算组件标识,可重构资源在所述科学计算组件中的序号,设置表示不可用状态的可用性字段,以及,记录出错频率的字段。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1示意性地示出了根据本发明实施方式在实际应用中的一个应用场景的框架示意图;图2示意性地示出了根据本发明方法一实施方式的流程图;图3示意性地示出了科学计算组件的一种可能结构;图4示意性地示出了本发明方法一实施方式,针对多个可重构资源分布于科学计算组件的一种可能结构;图5示意性地示出了根据本发明方法另一实施方式中监测过程的流程图;图6示意性地示出了本发明装置一实施例方式的结构示意图;图7示意性地示出了本发明装置另一实施例方式的结构示意图。具体实施方式下面将参照本发明实施方式的方法的流程图和设备(或系统)的框图描述本发明的实施方式。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令 可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。根据本发明的实施方式,提出了一种可重构系统的构建方法和装置。附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。为了方便技术人员理解,下面先对PRCA进行简单介绍:2012年10月10日,一种新概念高效能计算机体系―基于认知的主动重构计算体系(简称为PRCA)被发布。PRCA与普通计算体系相比,以下方面存在较大区别:一、通信方式,PRCA的硬件程序运行在专用的FPGA服务器上,软件程序运行在通用服务器上。发明人经过研究发现,在PRCA平台中,两类服务器之间最方便的连接方式是千兆以太网,即千兆以太网被选定作为软硬件程序间的通信方式。这与采用PCI接口、PLB总线、InfiniBand作为通信方式的其他可重构系统明显不同。相应的,通信方式不同,软硬件程序就会有很大差异。二、硬件结构,FPGA与相关外设的连接方式在不同的计算平台下总是存在一些差异。单就FPGA与内存的连接而言,可能存在的差异包括:内存的种 类(DDR2或DDR3)、容量(2G或32G)、管脚接口类型。具体例如:PRCA平台为每个FPGA配备3条8GBDDR3内存,接口为204针。作为对比,另一种BEE3型可重构计算机为每个FPGA配备2条4GBDDR2内存,接口也为204针。下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。发明概述发明人在研究过程中,提供了了管理可重构资源的方案,该方案对可重构系统中大量的可重构资源进行管理,避免出现错漏或不当的问题,从而保证可重构系统的正常工作。在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。应用场景总览参考图1,为本发明实施方式的一个示例性应用场景的框架示意图。其中,用户通过输入输出设备11与计算机12交互。本领域技术人员可以理解,图1所示的框架示意图仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。所述输入输出设备11可以是键盘和显示器的组合,也可以是触摸屏或者其他具有输入输出功能的设备。在图1所示的示例性应用场景中,计算机12响应于用户输入的数据,进行相应操作,包括调用内部计算或处理模块对指定的程序或数据进行处理。示例性方法下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的可重构资源并行构建方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。参考图2所示,为本发明提供的可重构资源管理方法一实施方式的流程图,本实施方式可以包括以下步骤:步骤S21、接收应用需求信息。所述应用需求信息也可称为任务需求信息,具体可以由需求参数表征。所述应用需求信息可以由操作者通过操作界面上的信息输入栏,或者由操作者通过操作界面上的各种需求参数的勾选结果输入。步骤S22、确定满足所述应用需求的可重构资源。每个可重构资源均具有一定的功能,根据应用需求信息确定所需的功能后,即可依据功能选择可重构资源,将这些可重构资源确定为候选资源。并且依据一定的策略从中选定目标资源。所述预设策略包括节约能耗优先的能耗节约策略,降低错误概率优先的规避错误策略,或者,对所述能耗节约策略和错误规避策略进行加权平均处理的策略。所述能耗节约策略可以包括:处于可用状态且所属科学计算组件中处于不可用状态的可重构资源数量较少。所述规避错误策略包括:处于可用状态且出错频率较小,或者,处于可用状态,且所属科学计算组件所有处于可用状态的可重构资源的出错频率和最小。具体如何确定满足所述应用需求的可重构资源不是本文重点,其可以采用现有技术进行,本文对此不做详细介绍。步骤S23、为每个具有所述可重构资源的科学计算组件分配一个独立线程。所述科学计算组件包括多个可重构资源,其示意结构如图3所示,包括多片FPGA和一个控制单元,所述控制单元通过一条Jtag链路与多个FPGA相连。所述科学计算组件可能存在多个,所述确定的满足所述应用需求的可重构资源有可能分配在多个科学计算组件中,则可为每个具有所述可重构资源的科学计算组件分配一个独立线程,不同的科学计算组件对应不同的线程,如图4所示。而对于同一个科学计算组件中的多个可重构资源,则由于Jtag链路的独占性特点,需要串行进行配置。步骤S24、启动各个线程,配置各个线程各自对应的科学计算组件中的可重构资源。本发明上述实施例采用为每个科学计算组件分配独立线程的方式,实现 了对不同的科学计算组件中的可重构资源的并行配置,节约了系统重构的时间,提高了重构效率。本发明另外实施例还可以进一步包括监测过程,用于监测各个线程配置对应可重构资源的情况,其针对某一线程的监测过程可以如图5所示,包括以下步骤:步骤51、判断线程对可重构资源配置是否出错或出现异常,若是,进入步骤S52,否则,持续判断。步骤S52、记录当前状态信息并上报控制主机。所述控制主机接收到状态信息后,了解到某线程针对某可重构资源出现配置异常,则可停止所述线程,避免产生无谓的能耗。此外,在某些实施例中,控制主机可选择新可重构资源代替出错或出现异常的可重构资源,并为其分配线程。所述当前状态信息包括可重构资源所在科学计算组件标识,可重构资源在所述科学计算组件中的序号,设置表示不可用状态的可用性字段,以及,记录出错频率的字段。其当前状态信息的格式可以如下表:表1IPIDUSABLEStyleErrorFreq其中:IP用于指示可重构资源位于哪个科学计算组件中。ID用于指示可重构资源的标识。所述科学计算组件中各可重构资源通过序号区分,具体来说,ID可以是在所在科学计算组件中的序号。USABLE用于标示可重构资源的可用性,若所述可重构资源忙或者出现异常时,则在USABLE字段处用特定标记表示可重构资源不可用,例如0表示可用,1表示不可用。Style字段表示可重构资源的类型。ErrorFreq用于记录可重构资源进行重构时的出错频率。示例性设备在介绍了本发明示例性实施方式的方法之后,接下来,参考图6所示,为本发明示例性实施方式的可重构资源并行构建系统一实施方式,本实施方式例如可以包括通信接口61、选择单元62、配置单元63、控制主机64以及多个可重构资源(图中简称为资源)。所述通信接口61用于进行人机交互。多个可重构资源,分配于多个科学计算组件中,科学计算组件的结构如图3所示。所述选择单元62用于在所述通信接口61接收应用需求信息时,选择满足应用需求的可重构资源。具体选择方法或过程可参考前文方法部分的内容。所述配置单元63用于对可重构资源进行重构配置,具体如何配置属于现有技术,本文对此不做赘述。所述控制主机64,用于管理各个线程,包括为每个具有所述可重构资源的科学计算组件分配一个独立线程,不同的科学计算组件对应不同的线程,以及,启动各个线程,控制所述配置单元63通过各个线程配置对应科学计算组件内的可重构资源。图7为构建系统的另一个实施方式,在图6的基础上,还包括监测单元65,用于监测所述配置单元63利用各个线程配置可重构资源的过程,如果出错或出现异常,则记录当前状态信息并上报所述控制主机64,由所述控制主机64停止所述线程。在本实施例中,所述控制主机64还可以为代替出错或出现异常的可重构资源的新可重构资源分配线程。所述当前状态信息包括可重构资源所在科学计算组件标识,可重构资源在所述科学计算组件中的序号,设置表示不可用状态的可用性字段,以及,记录出错频率的字段。具体结构可以参照前文方法部分的内容。需要说明的是,本说明书中各个实施例可相互补充,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。还需要说明的是,本说明书中构建系统与构建方法是相对应的,相互之间可以互相借鉴和补充。另外,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1