基于网络的自适应可重构处理单元阵列系统加速的方法.pdf

上传人:r7 文档编号:973274 上传时间:2018-03-22 格式:PDF 页数:11 大小:507.97KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910095956.3

申请日:

2009.02.26

公开号:

CN101505319A

公开日:

2009.08.12

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04L 29/08申请日:20090226授权公告日:20110928终止日期:20120226|||授权|||实质审查的生效|||公开

IPC分类号:

H04L29/08; G06F9/46

主分类号:

H04L29/08

申请人:

浙江大学

发明人:

胡 威; 吴斌斌; 冯德贵; 王 超; 曹 满; 马建良; 陈 度; 王 罡; 施青松; 陈天洲

地址:

310027浙江省杭州市西湖区浙大路38号

优先权:

专利代理机构:

杭州求是专利事务所有限公司

代理人:

林怀禹

PDF下载: PDF下载
内容摘要

本发明公开了一种基于网络的自适应可重构处理单元阵列系统加速的方法。是通过通用处理器和可重构设备组成的计算节点,组成一个自适应可重构处理单元网络。要执行的程序被划分成可以独立运行的任务的集合,任务集合中的每一个任务通过自适应可重构处理单元网络进行分发,找到合适的计算资源执行,并利用可重构设备的高效和灵活的特性,进行重构,使可重构设备的功能满足不同任务的需要。在自适应可重构处理单元网络的作用下,基于网络的自适应可重构处理单元阵列系统会根据网络上节点的情况,对任务进行智能分配,优先将任务分配到其他计算资源处于空闲的节点,从而减少程序的执行时间,提高可重构设备的利用率,达到程序加速的目的。

权利要求书

1.  一种基于网络的自适应可重构处理单元阵列系统加速的方法,其特征在于:
1)原始程序的任务划分:
系统将一个程序分割为能独立运行的任务的集合;
2)搭建基于宏网络的自适应可重构处理单元阵列:
基于网络的自适应可重构处理单元阵列由n个节点组成,n∈[1,2,3...),每个节点有0-4个通过以太网直接相连接的邻居节点,每个节点由两部分组成,第一部分是一台通用计算机,第二部分是可重构设备NetFPGA;
根据要在可重构设备上执行的任务,初始化可重构设备;
3)任务的分发:
对于任何一个基于宏网络的自适应可重构处理单元阵列中的节点来说,自己为本地节点,其余节点为远程节点;
任务的分发,就是将程序中的任务集合中的任务分发给本地节点的计算资源和远程节点的计算资源;
4)可重构设备功能的改变:
对于n个节点中任意一个节点的可重构设备来说,如果可重构设备资源空闲,并且分配到的任务所需要的逻辑功能模块是当前自己不具备的,那么可重构设备需要重新配置功能模块;
5)任务的执行:
在任务分配之后执行任务,并在任务执行结束后返回执行结果。

2.
  根据权利要求1所述的一种基于网络的自适应可重构处理单元阵列系统加速的方法,其特征在于,所述的搭建基于网络的自适应可重构置处理单元阵列步骤如下:
1)所搭建的自适应的可重构处理单元阵列是基于100Mb或1000Mb传输速率的高速局域网络;
2)所搭建的自适应的可重构处理单元阵列由n个节点组成,n∈[1,2,3...),其中每一个节点由两部分组成,第一部分是一台通用计算机,第二部分是可重构设备;
3)可重构设备NetFPGA具有4个以太网接口,所以一个节点的可重构设备可以和最多四个其他的节点通过高速局域网络直接连接,进行通信,直接连接的节点称为邻居节点,节点可以通过邻居节点和非邻居节点进行通信;
4)一个节点的两个部分通用计算机和可重构设备的连接方式是通过外设组件互连标准PCI接口连接;
5)定制可重构设备上的控制模块SuperBlock;
6)初始化可重构设备上的功能模块。

3.
  根据权利要求1所述的一种基于网络的自适应可重构处理单元阵列系统加速的方法,其特征在于,所述的可重构设备功能的改变步骤如下:
1)在整个基于网络的自适应可重构处理单元阵列系统开始工作之前,根据要在可重构设备上运行的任务,生成对可重构设备的配置本件;
2)在系统开始工作之后,随着任务的动态分配,当n个节点中任意一个节点的可重构设备要运行的任务所要求的逻辑功能块在可重构设备上不具备,则可重构设备向自己节点的主机发出重配置的请求;
3)在主机收到自己节点的可重构设备发送的重配置请求后,主机调用程序重配置自己节点的可重构设备。

4.
  根据权利要求2所述的一种基于网络的自适应可重构处理单元阵列系统加速的方法,其特征在于,所述的定制可重构设备上的控制模块SuperBlock担任n个节点中任意一个节点内部可重构设备和通用计算机的通信控制器的功能;担任n个节点中任意一个节点的可重构设备与邻居节点可重构设备之间的通信控制器的功能;对于在系统运行过程中,可重构设备所接收的任务分配进行管理,对任务进行处理,并记录任务所处的状态。

说明书

基于网络的自适应可重构处理单元阵列系统加速的方法
技术领域
本发明涉及多核技术领域和可重构技术领域,特别是涉及一种基于网络通信的可重构多核加速程序执行的实现方法。
背景技术
随着计算机制造工艺水平的不断提高,超大规模集成电路技术取得长足进步,多核技术已经成为现行主流的处理器技术。但是随着处理器核的数量的不断增多,如何提高这些核的利用率成为了一个难题。
由于一般应用程序的并行度不高,通常认为处理器通用核的数目超过16个后,增加通用处理核的数目就难以带来性能的提升。
在异构多核处理器中,可以集成一些为特别任务专门定制的专用核,从而能达到定制应用的高性能,但是这种定制异构多核处理器只有在运行所面向的应用时才能获得好的性能,否则性能不通用处理核更低。
可重构技术的出现,使得通用处理器集成基于FPGA的可重构核提供了另一种解决方案。在保留通用处理器适应多数应用的高灵活性的同时,获得了专用处理器的高性能和高效率。同时,可重构核可以通过重配置来支持各种不同类型的应用,从而能更加灵活地应用于各种不同的程序。
但是一个孤立节点没有足够的能力和灵活性去处理有些应用程序。
可重构资源不足:当应用程序所需要的可重构资源超过了一个孤立节点所拥有的,在这种情况下,应用程序的一些请求必需被挂起,直到被占用的可重构资源被释放并且重新配置后才能继续进行,这样一来便降低了性能和效率。
可重构资源的浪费:当应用程序不适合可重构设备,那么节点的可重构资源就被闲置浪费。
频繁重配置的高代价:当应用程序频繁地调用的功能模块不能在可重构设备上同时提供,这需要频繁地将可重构设备上的功能模块进行切换,导致频繁的重配置,从而使得性能和效率下降。
发明内容
本发明的目的在于提供一种基于网络的自适应可重构处理单元阵列加速方法。
本发明解决其技术问题采用的技术方案如下:
1)原始程序的任务划分:
系统将一个程序分割为能独立运行的任务的集合;
2)搭建基于宏网络的自适应可重构处理单元阵列:
基于网络的自适应可重构处理单元阵列由n个节点组成,n∈[1,2,3...),每个节点有0-4个通过以太网直接相连接的邻居节点,每个节点由两部分组成,第一部分是一台通用计算机,第二部分是可重构设备NetFPGA;
根据要在可重构设备上执行的任务,初始化可重构设备;
3)任务的分发:
对于任何一个基于宏网络的自适应可重构处理单元阵列中的节点来说,自己为本地节点,其余节点为远程节点;
任务的分发,就是将程序中的任务集合中的任务分发给本地节点的计算资源和远程节点的计算资源;
4)可重构设备功能的改变:
对于n个节点中任意一个节点的可重构设备来说,如果可重构设备资源空闲,并且分配到的任务所需要的逻辑功能模块是当前自己不具备的,那么可重构设备需要重新配置功能模块;
5)任务的执行:
在任务分配之后执行任务,并在任务执行结束后返回执行结果。
所述的搭建基于网络的自适应可重构置处理单元阵列步骤如下:
1)所搭建的自适应的可重构处理单元阵列是基于100Mb或1000Mb传输速率的高速局域网络;
2)所搭建的自适应的可重构处理单元阵列由n个节点组成,n∈[1,2,3...),其中每一个节点由两部分组成,第一部分是一台通用计算机,第二部分是可重构设备;
3)可重构设备NetFPGA具有4个以太网接口,所以一个节点的可重构设备可以和最多四个其他的节点通过高速局域网络直接连接,进行通信,直接连接的节点称为邻居节点,节点可以通过邻居节点和非邻居节点进行通信;
4)一个节点的两个部分通用计算机和可重构设备的连接方式是通过外设组件互连标准PCI接口连接;
5)定制可重构设备上的控制模块SuperBlock;
6)初始化可重构设备上的功能模块。
所述的可重构设备功能的改变步骤如下:
1)在整个基于网络的自适应可重构处理单元阵列系统开始工作之前,根据要在可重构设备上运行的任务,生成对可重构设备的配置本件;
2)在系统开始工作之后,随着任务的动态分配,当n个节点中任意一个节点的可重构设备要运行的任务所要求的逻辑功能块在可重构设备上不具备,则可重构设备向自己节点的主机发出重配置的请求;
3)在主机收到自己节点的可重构设备发送的重配置请求后,主机调用程序重配置自己节点的可重构设备。
所述的定制可重构设备上的控制模块SuperBlock担任n个节点中任意一个节点内部可重构设备和通用计算机的通信控制器的功能;担任n个节点中任意一个节点的可重构设备与邻居节点可重构设备之间的通信控制器的功能;对于在系统运行过程中,可重构设备所接收的任务分配进行管理,对任务进行处理,并记录任务所处的状态。
本发明与背景技术相比,具有的有益的效果是:
本发明是基于网络通信的可重构多核加速程序执行的方法,其主要功能是利用可重构设备加强通用处理器的计算能力,加速特定功能模块的执行。利用网络的通讯,寻找网络上空闲的计算资源,一方面能缓解计算资源不够的节点的压力,另一方面又能提高整个网络上所有节点的资源利用率。
(1)自适应性:系统会根据网络上节点的情况,对任务进行智能分配。繁忙节点等待资源的任务会向空闲节点分配。
(2)高效性:由于系统会根据网络上节点的情况进行任务的智能,所以能利用网络中空闲的资源,从而提高应用程序的性能和效率。经过实验的证明,系统能有效地提高性能。
附图说明
图1是本发明的一个实例的系统构成图。
图2是由系统中的一个节点,由一台通用计算机和一块或多块可重构设备组成,两个组成部分之间用PCI连接。
图3是流程图,表明按照本发明的任务分发的流程。
具体实施方式
方法中涉及到相关的符号解释:
C1:能在可重构设备上运行;
C2:本地节点通用处理器空闲;
C3:本地节点可重构设备空闲;
C4:存在邻居节点可重构设备空闲;
基于网络的自适应可重构处理单元阵列加速系统的具体实现流程如下。
第一步:原始程序的任务化:
1:系统将一个程序分割为可独立运行的任务的两个集合{{A},{B}},集合A表示不能够在可重构设备上运行的任务,集合B表示不能在可重构设备上运行的任务。
2:根据任务之间的依赖关系,生成任务间的依赖关系表。
第二步:搭建基于网络的自适应可重配置处理单元阵列:
如图1所示,所搭建的自适应的可重构处理单元阵列是基于100Mb或1000Mb传输速率的高速局域网络。
所搭建的自适应的可重构处理单元阵列由n个节点组成,n∈[1,2,3...),其中每一个节点由两部分组成,第一部分是一台通用计算机,第二部分是可重构设备。
如图2所示,一个节点的两个部分通用计算机和可重构设备的连接方式是通过外设组件互连标准PCI接口连接。
可重构设备NetFPGA具有4个以太网接口,一个节点可以和最多四个其他的节点通过高速局域网络直接连接,进行通信,直接连接的节点称为邻居节点,节点可以通过邻居节点和非邻居节点进行通信。
定制可重构设备上的控制模块SuperBlock,也就是编写逻辑功能模块,这个逻辑功能模块负责节点内部可重构设备和通用计算机的通信,节点的可重构设备与邻居节点可重构设备之间的通信,对于在系统运行过程中,可重构设备所接收的任务分配进行管理,对任务进行处理,并记录任务所处的状态。这个控制模块SuperBlock是固定在可重构设备上的,在可重构设备进行重配置的时候,这个控制模块在可重构设备上的部分不变。
初始化可重构设备上的功能模块,也就是预测要在可重构设备上执行的任务,将对应功能模块的二进制流文件烧写到可重构设备上,从而达到初始化的目的。
第三步:任务的分发:
对于基于网络的自适应可重构处理单元阵列中的任何一个节点来说,自己为本地节点,其余节点为远程节点。
任务的分发,就是将程序中的任务集合中的任务分发给本地节点的计算资源和远程节点的计算资源。每当一个任务被分配后,将任务从任务所属的集合中删去。对于基于网络的自适应可重构处理单元阵列中的任何一个节点来说,需要处理的任务有两种,第一种来自本地节点任务集合,第二种是由邻居节点转发的任务。图3展示了这两种任务进行任务分发的流程。
当本地节点任务集合中的任一任务进行任务的分发时:
1:进行分发的任务满足条件C1,这个任务进入等待队列2。
2:进行分发的任务不满足条件C1,这个任务进入等待队列1。
3:条件C2满足时,从等待队列1中取的一个任务执行。
4:条件C2不满足时,从等待队列1中取的一个任务重新进入等待队列1。
当由邻居节点转发的一任务进行任务的分发时:
1:进行分发的任务进入等待队列2。
2:条件C3满足时,从等待队列2中取的一个任务执行。
3:条件C3不满足,并且条件C4满足时,将从等待队列2中取的一个任务转发给邻居。
4:条件C3不满足,并且条件C4不满足时,从等待队列2中取的一个任务重新进入等待队列2。
第四步:可重构设备功能的改变:
1:在整个基于网络的自适应可重构处理单元阵列系统开始工作之前,根据要在可重构设备上运行的任务,编写与任务相对应的逻辑功能模块。由于每个逻辑功能所要载可重构设备上占用的硬件资源的数量不同,所以可以将多个逻辑功能模块组合到一个可重构设备的配置二进制比特流文件中。
2:在系统开始工作之后,随着任务的动态分配,当一个节点的可重构设备要运行的任务所要求的逻辑功能块在可重构设备上不具备,则可重构设备向自己节点的主机,也就是通用计算机发出重配置的请求;
3:在主机收到自己节点的可重构设备发送的重配置请求后,主机调用程序重配置自己节点的可重构设备。主机通过PCI接口将二进制配置文件下载到可重构设备上。
第五步:任务的执行:
在任务分配之后执行任务,并在任务执行结束后返回执行结果。
1:如果任务在通用计算机上执行,则任务执行结束后,将执行的结果返回监视进程,再由监视进程将结果返回给任务的调用进程。
2:如果任务在可重构设备上执行,则任务执行结束后,将任务的状态,包括执行的结果发送到可重构设备的控制模块SuperBlock。
3:当SuperBlock收到任务执行结果的时候,查看任务的记录表,如果任务是由本地的通用计算机调用的,则将执行的结果通过PCI接口发送给通用计算机的监视进程,再由监视进程将结果返回给任务的调用进程。如果任务是由远程节点调用的,则将执行的结果通过网络,发送给将这个任务转发到本地节点的邻居节点的可重构设备的控制模块SuperBlock。

基于网络的自适应可重构处理单元阵列系统加速的方法.pdf_第1页
第1页 / 共11页
基于网络的自适应可重构处理单元阵列系统加速的方法.pdf_第2页
第2页 / 共11页
基于网络的自适应可重构处理单元阵列系统加速的方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《基于网络的自适应可重构处理单元阵列系统加速的方法.pdf》由会员分享,可在线阅读,更多相关《基于网络的自适应可重构处理单元阵列系统加速的方法.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于网络的自适应可重构处理单元阵列系统加速的方法。是通过通用处理器和可重构设备组成的计算节点,组成一个自适应可重构处理单元网络。要执行的程序被划分成可以独立运行的任务的集合,任务集合中的每一个任务通过自适应可重构处理单元网络进行分发,找到合适的计算资源执行,并利用可重构设备的高效和灵活的特性,进行重构,使可重构设备的功能满足不同任务的需要。在自适应可重构处理单元网络的作用下,基于网。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1