【技术实现步骤摘要】
一种基于FPGA的分布式计算的实现方法及系统
本专利技术涉及分布式计算领域,具体是一种基于FPGA的分布式计算的实现方法及系统。
技术介绍
分布式计算(Distributedcomputing)是一种把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,在上传运算结果后,将结果统一合并得出数据结论的科学。一些计算量庞大的项目,如生物医药方面的基因分析,蛋白结构分析等,由一台电脑计算是不可能完成的,一般方法是采用超级计算机或者通过互联网互联的成千上万的闲置计算机,采用分布式计算方法将计算任务分割到各个较小的计算单元内,然后再将计算结果统一合并得到最终的结果。FPGA(FieldProgrammableGateArray),即现场可编程门阵列,是指一切通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路,被称之为可编程的“万能芯片”;FPGA不仅具有运行速率高、软件可编程等优点,而且因其具有并行计算的特点,一次可执行多条运行指令,从而比传统的CPU、DSP等串行计算处理器效率更高。随着日益增加的庞大计算量需求和FPGA芯片技术的大力 ...
【技术保护点】
1.一种基于FPGA的分布式计算的实现系统,包括多个终端(102)、一个传输网络(103)、一个FPGA计算池(104)和一个服务器(106),其特征在于,终端(102)上安装有浏览器或客户端程序,完成功能包括:通过浏览器或客户端接受终端(102)提出的计算任务请求、通过传输网络(103)向服务器(106)提交计算任务请求、通过传输网络(103)获得服务器(106)返回的计算任务结果、将计算结果通过浏览器或客户端返回给用户;传输网络(103)在终端(102)与服务器(106)之间建立网络连接,将传输终端(102)发出的计算任务请求传递给服务器(106),以及将服务器(106 ...
【技术特征摘要】
1.一种基于FPGA的分布式计算的实现系统,包括多个终端(102)、一个传输网络(103)、一个FPGA计算池(104)和一个服务器(106),其特征在于,终端(102)上安装有浏览器或客户端程序,完成功能包括:通过浏览器或客户端接受终端(102)提出的计算任务请求、通过传输网络(103)向服务器(106)提交计算任务请求、通过传输网络(103)获得服务器(106)返回的计算任务结果、将计算结果通过浏览器或客户端返回给用户;传输网络(103)在终端(102)与服务器(106)之间建立网络连接,将传输终端(102)发出的计算任务请求传递给服务器(106),以及将服务器(106)返回的计算任务结果传递给终端(102);服务器(106)通过网络连接FPGA计算池(104);FPGA计算池(104)由多个FPGA计算机柜(105)组成,每个机柜之间通过光纤进行连接。2.根据权利要求1所述的基于FPGA的分布式计算的实现系统,其特征在于,每个FPGA计算机柜(105)包括若干完全相同的FPGA计算板卡,每块板卡的作用是执行服务器(106)传递过来的一个计算子任务;每块计算板卡均固定在背板(201)的总线插槽上,背板的主要作用是为所在计算机柜内所有计算板卡提供数据交换功能,使得在本地机柜内的任意两块计算板卡能够直接进行数据交换。3.根据权利要求1所述的基于FPGA的分布式计算的实现系统,其特征在于,每个FPGA计算板卡(202)由一块交换芯片(301)、一块通用处理器和若干完全相同的FPGA芯片(302)组成;处理器和每块FPGA芯片的输入输出管脚都与交换芯片(301)连接,从而同一板卡上任意两块FPGA芯片之间的数据交换均通过交换芯片(301)完成。4.根据权利要求1所述的基于FPGA的分布式计算的实现系统,其特征在于,服务器(106)包括交互模块(501)、任务管理模块(503)、资源监控模块(502)、资源管理模块(504)和显示模块(505),交互模块(501)与任务管理模块(503)、资源管理模块(504)和资源管理模块(504)连接,其中资源管理模块(504)用于与FPGA计算池(104)连接;所述任务管理模块(503)、资源管理模块(504)和资源管理模块(504)均连接显示模块(505)。5.一种基于FPGA的分布式计算的实现方法,其特征在于,具体步骤如下:步骤S801:资源监控模块(502)全局搜索FPGA计算资源:服务器(106)中的资源监控模块(502)对FPGA分布式计算资源系统(104)中的FPGA计算资源进行全局搜索;步骤S802:资源监控模块(502)进行FPGA计算资源信息注册:资源监控模块(502)对搜索结果进行注册,注册信息包括静态资源描述信息和动态资源描述信息,详细记录FPGA分布式计算资源系统(104)中所采用的FPGA芯片、FPGA最高运行时钟频率、FPGA最大片外存储能力和FPGA接口最大通信能力,以及FPGA计算机柜(105)、FPGA计算板卡(202)或FPGA芯片的工作状态、运行状态信息;步骤S803:交互模块(501)发布静态资源描述信息:服务器(106)通过交互模块(501)发布FPGA计算资源的静态资源描述信息,这些信息将作为用户(101)在制定计算任务部署方案时的参考信息,用以评估FPGA分布式计算资源系统(104)中可用FPGA计算资源的计算能力能否满足计算任务需求;步骤S804:用户进行任务可行性评估:判断资源系统能否满足任务需求:服务器(106)通过交互模块(201)发布FPGA分布式计算资源系统(104)的静态资源描述信息;用户(101)可通过终端(102)以浏览器方式向服务器(106)的交互模块(501)发起访问,访问的内容包括FPGA计算资源的全部静态资源描述信息;步骤S805:用户进行任务模块划分:用户(101)将任务划分成具有一定连接关系的多个独立的功能模块,其目的是确保每一个功能模块的处理需求、存储需求和通信需求均小于FPGA分布式计算资源系统(104)中FPGA的最大处理能力、最大片外存储能力和接口最大通信带宽;步骤S806:用户通过终端向服务器提交任务:用户(101)通过终端(102)向服务器(106)提交任务,同时提交各个任务功能模块的资源需求描述信息,该信息以文件形式记录各个功能模块的硬件资源需求信息;终端(102)通过传输网络(103)将任务提交至服务器(106)内的交互模块(501);步骤S807:服务器制定详细的任务部署计划;步骤S808:服务器判断任务部署计划是否制定成功:资源管理模块(504)判断任务部署计划是否制定成功,若成功,继续执行步骤S809;否则,交互模块(501)向终端(102)返回任务部署失败结果,并结束任务;步骤S809:服务器执行任务部署:服务器执行任务部...
【专利技术属性】
技术研发人员:谢文武,吴宇,朱鹏,彭鑫,申巧巧,向良军,
申请(专利权)人:湖南理工学院,湖南基石通信技术有限公司,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。