【技术实现步骤摘要】
本专利技术涉及并行计算机程序的数据通信研究领域,特别涉及一种由序列通项表达式驱动的并行计算传输列表实时压缩方法。
技术介绍
以往解决并行计算的传输列表压缩问题的时候,有三种方案。这些方案不包括用传统的文件压缩算法压缩传输列表,原因是那些压缩算法的实时性达不到要求。第一种方案适用于某些特定的并行计算流程,这些流程已经有专用的软件封装数据通信过程了,例如Hypre、PESTc、ScaLAPACK等。封装的功能一般包括了传输列表的压缩,因此应用程序自身代码不用管传输列表。由于并行计算流程的特殊性,这些专用软件往往能为传输列表找到很简短的表示方式。这是因为在较窄应用范围内,传输列表往往是很有规律的,明确了规律之后就容易找到其最佳的表示方式。还有更幸运的情况,传输列表甚至不需要包含在数据通信消息中,这是因为在某些非常特殊的并行计算流程里,专用软件的程序可以在数据拥有者节点安排一段代码扮演“代理”的角色。这类“代理”可以在拥有者处通过计算生成一份一模一样的传输列表,替请求者递交给数据拥有者。第二种方案适用于某些简化的并行计算流程。这些流程非常简单,简单到可以配套“通用”软件框架来封装数据通信。典型的例子是Map-Reduce。这里“通用”打引号是因为那只是计算部分的通用,通信部分的流程则要按照简化的固定的模式来走。通信部分的简化使传输列表很结构化,有固定形式、甚至能预先确定,因此软件框架不需要知道数据的具体专 ...
【技术保护点】
由序列通项表达式驱动的并行计算传输列表实时压缩方法,其特征在于,包括下述步骤:S1、传输列表的逻辑分解并将传输列表按对象归属地划分,由于逻辑命题“对象在某地”在数学中可以用“对象的位置在某地范围内”这种不等式所表示,所以所述划分是通过求解由多维的不等式组得到的,而不等式组的求解可以先根据不等式之间的依赖关系拆分为相互独立的小不等式组,以降低求解的复杂度,这就是所述的逻辑分解;S2、非线性部分优化,利用非线性部分不等式的表格化来继续缩小范围,用组内涉及的变量的范围来验证非线性部分不等式;S3、“代理”代码定制,对于只包含线性表达式的组,只要该组表达式中的“常量”是在数据拥有者节点上可知的,那么该组就可以用“代理”代码;S4、消息结构化编码解码,所述消息是指为把传输列表发送给数据拥有者而所用的消息;S5、列表驱动的数据打包拆包,所述列表是指传输列表,所述数据打包是按照列表所指定的顺序,把发往某节点的数据集中放入一个消息中,以便用该消息把数据成批地发送给那个节点;数据拆包就是该消息的接收者把数据从消息中取出来;上述步骤S1‑S5都和传输列表中的对象的逻辑位置有关,这些对象都存储在并行计算中逻 ...
【技术特征摘要】
1.由序列通项表达式驱动的并行计算传输列表实时压缩方法,其特征在于,
包括下述步骤:
S1、传输列表的逻辑分解并将传输列表按对象归属地划分,由于逻辑命题
“对象在某地”在数学中可以用“对象的位置在某地范围内”这种不等式所表
示,所以所述划分是通过求解由多维的不等式组得到的,而不等式组的求解可
以先根据不等式之间的依赖关系拆分为相互独立的小不等式组,以降低求解的
复杂度,这就是所述的逻辑分解;
S2、非线性部分优化,利用非线性部分不等式的表格化来继续缩小范围,
用组内涉及的变量的范围来验证非线性部分不等式;
S3、“代理”代码定制,对于只包含线性表达式的组,只要该组表达式中的
“常量”是在数据拥有者节点上可知的,那么该组就可以用“代理”代码;
S4、消息结构化编码解码,所述消息是指为把传输列表发送给数据拥有者
而所用的消息;
S5、列表驱动的数据打包拆包,所述列表是指传输列表,所述数据打包是
按照列表所指定的顺序,把发往某节点的数据集中放入一个消息中,以便用该
消息把数据成批地发送给那个节点;数据拆包就是该消息的接收者把数据从消
息中取出来;
上述步骤S1-S5都和传输列表中的对象的逻辑位置有关,这些对象都存储
在并行计算中逻辑概念上的共享数组时里,都被传输列表按照某种逻辑顺序来
排列,假设传输列表的顺序是k维的,所请求的对象的数组是m维的,那么这
段传输列表的序列的通项表达式就是关于k个变量的m维表达式,并且这k个
变量变化的范围都由传输请求指定。
2.根据权利要求1所述由序列通项表达式驱动的并行计算传输列表实时压
缩方法,其特征在于,步骤S1中,逻辑分解首先是按照上述k个变量在这m维
表达式中的分布,把这m维分成若干组,使得不同组的表达式包含不同的变量,
然后把每一组的有线性表达式的维找出来;按对象归属地划分是按照数组在不
同节点上的分区,把传输列表分成若干个子表,每个子表中的对象都是一个节
点的,不同子表的对象是不同节点的。
3.根据权利要求2所述由序列通项表达式驱动的并行计算传输列表实时压
缩方法,其特征在于,当指定某个节点时,这m维的表达式,为了让其值落在
该节点的区域内,每一维都能对应两个不等式,一个是该维表达式的值不小于
\t该节点区域在这一维的下界,另一个是该维表达式的值不大于该节点区域在这
一维的上界;所述逻辑分解,首先将这2m个不等式分成相互独立的若干组,每
一组不等式的解都不会影响其它组的解;其次将容易求解的线性不等式找出来;
求解这些不等式,可以把那k个变量在这个节点上指定有效对象的范围算出来,
这个范围可以比变量的全局范围小很多;求解不等式的过程用的是几何方法,
只处理线性表达式得到的不等式:每一个这样的线性不等式都对应一个超平面;
所述超平面在多维空间中的性质和平面在三维空间中的性质类似,平面是超平
面的特例,每一个这样的超平面都有可能把数据请求所用的变量的全局范围切
掉一部分,所述全局范围即为一个超立方;这些超平面都切完之后,就剩下一
个相对较小的有界凸集了。
4.根据权利要求1所述的由序列通项表达式驱动的并行计算传输列表实时
压缩方法,其特征在于,步骤S2中,用组内涉及的变量的范围来验证非线性部
分不等式的方法是:遍历所涉及的变量的取值范围,逐点检查非线性不等式是
否成立;当成立的点数所占比例低于事先确定的一个阈值时,就把非线性表达
式转变为表格,其中只包含非线性不等式成立的那些点,且表格的维数由非线
性不等式所涉及的变量数决定。
5.根据权利要求1所述的由序列通项...
【专利技术属性】
技术研发人员:吴峻峰,许跃生,张勇瑞,林英展,王健珊,关文超,何鸿恺,李达超,叶纬材,张永东,江颖,
申请(专利权)人:中山大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。