在异构可重构环境下区分软硬算粒的信息处理方法

文档序号:6443180阅读:325来源:国知局
专利名称:在异构可重构环境下区分软硬算粒的信息处理方法
技术领域
本发明涉及一种编程方法,尤其是涉及一种在异构可重构环境下区分软硬算粒的信息处理方法。
背景技术
编程模型是对并行程序的一种程序抽象、刻画和简化,它屏蔽了并行计算机复杂的硬件细节,给程序员提供了一幅计算机硬件、软件系统透明的简图,从而为并行程序设计的充分开发硬件的并行性提供便利。并行程序的编程模型、运行环境、调试环境等都要比串行程序复杂得多,提供良好的高性能计算开发环境,一直是学术界和工业界所追求的目标。在并行环境中,现有的编程模型包括共享内存模型、消息传递模型、数据并行模型、面向对象模型和函数和逻辑模型。对应的具体编程方式如下(I)共享内存模型Parallel命令、工作区共享、并行工作共享的组合构造、master命令和同步构造。(2)消息传递模型在消息传递模型中,一个并行程序由多个并行进程组成。每个并行中拥有自己的数据并对其进行计算操作。任务之间数据的交换是通过显式的消息传递语句来完成的,用户必须显示地通过发送和接收消息来实现处理器之间的数据交换。(3)数据并行模型数据并行模型是为SMD,SPMD之类的计算机开发的一种编程模型。在这种模型中,任务被静态或半静态地映射到进程,并且每个任务都对不同数据进行相似的操作。(4)面向对象模型面向对象模型的天然的并行性,以及它所具有的封装性、继承性、多态性等特点,可以降低并行程序设计的复杂性,提高并行程序的可读性、可维护性、可移植性。(5)函数和逻辑模型函数和逻辑程序设计模型的基本思路是将并行处理的硬件和Al软件结合起来研究。包括函数编程模型和逻辑式模型。然而,每种编程模型都对应有各自的缺点,以消息传递模型中的MPI为例,MPI是消息传递函数库的一个标准规范,它提供了一个非专利(公开)且独立于平台的消息传递库且与语言形式无关并提供与Fortran和C的捆绑,具有很好的可移植性。但是与大多数从Fortran或C扩展而来的扩展语言类似,在编程模型级上无论是可扩展性还是异构性都有所不足。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种提高了编程效率的在异构可重构环境下区分软硬算粒的信息处理方法。本发明的目的可以通过以下技术方案来实现
一种在异构可重构环境下区分软硬算粒的信息处理方法,其特征在于,包括以下步骤I)算粒的定义;2)算粒的计算机描述;3)在使用XML描述算粒时,区分所有算粒的软硬件特性进行软硬件算粒描述;4)算粒的组合和执行。所述的步骤I)中的算粒的定义包括计算,该计算为实现这个算粒的一系列计算方法;
存贮量,该存储量为参与计算的数据;通信,该通信为计算过程中所涉及的包括输入、输出在内的所有数据传输;计算、存贮、通信这三者之间存在可能的轮转关系;算粒相关的并行关系。所述的算粒相关的并行关系包括空间并行、时间并行、异构并行和重构结构并行。所述的算粒的计算机描述为通过C++语言来描述算粒。所述的算粒的组合包括算粒串行、算粒并行和算粒嵌套。与现有技术相比,本发明具有以下优点在系统描述阶段,如在使用高级语言描述的时候,即区分所有算粒的软硬件特性,进行软硬件算粒的描述,使得程序无需后期进行软硬件划分,而只需通过对算粒描述的分析或是编译器编译,直接进行软硬件综合过程。


图I为现有的软硬件划分的流程图;图2为本发明的软硬件划分的流程图;图3为本发明的算粒的仿UML表示示意图;图4为本发明的算粒串行组合示意图;图5为本发明的算粒并行组合示意图;图6为本发明的算粒嵌套组合示意图;图7为本发明的软件算粒描述组成元素示意图;图8为本发明的硬件算粒描述组成元素示意图。
具体实施例方式下面结合附图和具体实施例对本发明进行详细说明。实施例如图I所示,通常来说,在异构可重构环境下,在进行软硬件协同设计的时候,是先进行系统的统一描述,或者将系统使用高级软件语言统一描述,或者使用硬件描述语言统一描述,然后再此基础上对应用程序进行软硬件的手动或者自动划分。如图2所示,本发明提出在系统描述阶段,如在使用高级语言描述的时候,即让程序员区分所有算粒的软硬件特性,进行软硬件算粒的描述,使得程序无需后期进行软硬件划分,而只需通过对算粒描述的分析或是编译器编译,直接进行软硬件综合过程。
本发明编程方法,包括给出算粒的定义,算粒的计算机描述、算粒的xml描述、算粒的组合和执行等等,来更好地进行算粒级别的编程任务。另外,针对异构重构环境,给出区分软硬算粒的编程方法。面向算粒的编程方法是指,以高性能并行计算为目的,结合面向对象思想编程思想,加入并行因素、重构异构因素而设计出来的一种新的编程方法,使用面向算粒的方法指导并行程序设计的过程。所谓面向算粒是指以算粒为核心,结合高性能并行思想,分析、设计并行应用程序的机制。在一个算粒中,计算是指实现这个算粒的一系列计算方法(类似函数),存贮量是参与计算的数据,通信是指计算过程中所涉及的包括输入、输出在内的所有数据传输。更重要的是,计算、存贮、通信这三者之间存在可能的轮转关系,以及算粒相关的并行因素。总而言之,一个算粒体,包含计算、存贮、通信、三者间的轮转关系和三者的并行性质等。算粒的
仿UML图形表示如图3所示。从上图可以看出,算粒包含空间并行、时间并行、异构并行(优化匹配)、重构结构并行(通信)这四重并行性。本发明将算粒通过扩展C++语言,用计算机语言描述如下
Grain GrainName {
$PMC:
$PMC_P:
$PMC—Μ:
SPMC_C:
$PMC_R:
$PARA:
$PARA_S:
$PARA_T:
$PARA_H:
$PARA_R:
}另外,本发明使用XML脚本语言对算粒进行描述,以便之后描述组合算粒的执行,为了统一规范,约定该描述语言为Grain Description Language (⑶L)。一个⑶L文档的主
要结构是类似这样的
〈definitions〉
<pmc><pmc_p>... <pmc_p>
<pmc_m>.. .<pmc_m>
<pmc_c>.. .<pmc_c>
<pmc_r>.. .<pmc_r>
</pmc>
<para>
<para_s>.. .<para_s>
<para_t>.. .<para_t>· <para_h>.. .<para_h>
<para_r>. · .<para_r>
</para>
〈/definitions〉算粒的组合若干基本算粒的串、并以及嵌套,形成一个复合的算粒,完成某个复杂的计算功能,称为算粒的组合,组合而成的算粒称为复合算粒。如图4所示,算粒的串行;如图5所示,算粒的并行;如图6所示,算粒的嵌套。另外,基本算粒经串行、并行和嵌套组合而成的大算粒。针对异构可重构环境,提出区分软硬件算粒的编程方法,在该方法中,一切以算粒为核心,同时基于软硬件划分的前提,把算粒分为软件算粒和硬件算粒。软硬算粒的描述组成元素如图7和8所示。
权利要求
1.一种在异构可重构环境下区分软硬算粒的信息处理方法,其特征在于,包括以下步骤 1)算粒的定义; 2)算粒的计算机描述; 3)在使用XML描述算粒时,区分所有算粒的软硬件特性进行软硬件算粒描述; 4)算粒的组合和执行。
2.根据权利要求I所述的一种在异构可重构环境下区分软硬算粒的信息处理方法,其特征在于,所述的步骤I)中的算粒的定义包括 计算,该计算为实现这个算粒的一系列计算方法; 存贮量,该存储量为参与计算的数据; 通信,该通信为计算过程中所涉及的包括输入、输出在内的所有数据传输; 计算、存贮、通信这三者之间存在可能的轮转关系; 算粒相关的并行关系。
3.根据权利要求2所述的一种在异构可重构环境下区分软硬算粒的信息处理方法,其特征在于,所述的算粒相关的并行关系包括空间并行、时间并行、异构并行和重构结构并行。
4.根据权利要求I所述的一种在异构可重构环境下区分软硬算粒的信息处理方法,其特征在于,所述的算粒的计算机描述为通过C++语言来描述算粒。
5.根据权利要求I所述的一种在异构可重构环境下区分软硬算粒的信息处理方法,其特征在于,所述的算粒的组合包括算粒串行、算粒并行和算粒嵌套。
全文摘要
本发明涉及一种在异构可重构环境下区分软硬算粒的信息处理方法,包括以下步骤1)算粒的定义;2)算粒的计算机描述;3)在使用XML描述算粒时,区分所有算粒的软硬件特性进行软硬件算粒描述;4)算粒的组合和执行。与现有技术相比,本发明具有提高编程效率等优点。
文档编号G06F9/45GK102902569SQ20111044069
公开日2013年1月30日 申请日期2011年12月23日 优先权日2011年12月23日
发明者曾国荪, 王伟, 郝水霞 申请人:同济大学, 上海红神信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1