[发明专利]一种多处理器系统及其同步引擎有效

专利信息
申请号: 201010267931.X 申请日: 2010-08-30
公开(公告)号: CN101950282A 公开(公告)日: 2011-01-19
发明(设计)人: 陈飞;曹政;王凯;安学军;孙凝晖 申请(专利权)人: 中国科学院计算技术研究所
主分类号: G06F15/167 分类号: G06F15/167;G06F9/50
代理公司: 北京律诚同业知识产权代理有限公司 11006 代理人: 祁建国;梁挥
地址: 100080 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 处理器 系统 及其 同步 引擎
【说明书】:

技术领域

发明涉及并行程序数据处理技术领域,特别是涉及一种多处理器系统及其同步引擎。

背景技术

在并行程序中,多个进程/线程(以下统称进程)并行协同工作,完成处理任务。多个进程在其运行周期中,需要使用同步原语来实现多个进程之间的同步。同步原语是保证并行程序正确性的关键原语。并行程序中常用的具有同步含义的原语有Lock和Barrier。图1是并行程序中使用Barrier同步原语实现读写次序的例子示意图,如图1所示,同步原语Barrier可以保证进程P2在读取变量A的值时,读到的值一定是进程P1写入的值。Lock原语在科学计算中一般是用来保证多个进程之间对某种资源的互斥访问。它的实现一般依赖于处理器提供的特殊指令来实现,比如典型的LL/SC指令。

除了Barrier和Lock这种只包含同步含义的原语以外,在并行程序中还有其他一些常用的,隐含同步的原语,如Reduce或者All-Reduce原语。Reduce原语可以简单地表示为Reduce(Root,Ai,Op,Com),其中Root表示这次Reduce运算的根进程;Ai表示进程i参与Reduce的源数据;Op表示Reduce的运算模式,常见的有“加”、“减”、“最大”、“最小”等;Com表示参与这个Reduce的进程的集合。Reduce(Root,Ai,Op,Com)的含义如下:在集合Com内的每个进程i的数据Ai,均使用Op模式进行运算,并把运算结果返回至Root。在这个Reduce运算中,隐含了Com集合中所有进程和Root进程的同步关系,即Root进程必须在所有Com集合内的进程到达某个时间点之后,才能获得最终的运算结果,并且在实现同步的同时,也实现了数据在进程间的移动。All-Reduce与Reduce的区别仅仅在于最后的计算结果是广播到Com内所有进程,而不仅仅是Root。在下文中除了特别说明,All-Reduce和Reduce都统称Reduce。

现有技术中使用软件实现上述同步原语具有较好的灵活性,但是执行效率较低,主要体现在启动开销大,执行速度慢,进程间通信次数多。比如软件实现的Barrier可以用类似于计数器的方法,使用一个共享内存的计数器A,A被Root进程初始化为0,然后每个参与Barrier的进程都执行A=A+1的操作,然后不断在循环中读取A的值,当A的值等于参与Barrier的进程总数的时候,即表明所有进程都达到了同步。这种软件实现的方法有两个问题,一个是在执行A=A+1的时候,由于A是共享的,可能被多个进程同时操作,因此每个进程都要保证自己的操作是原子操作,因此需要用或者是锁技术,或者是锁内存总线的方法来保证原子操作,而这些操作都是很费时,并且影响处理器性能的操作;另外一个问题在于各个进程在循环中读取A的值,由于A是分配在某个处理器的内存上的,在多处理器的环境下,如果多处理器间有Cache一致性保证,会导致大量的Cache一致性控制信息在处理器间交换;如果没有Cache一致性保证,循环读取A值的时候会引起大量的远程Load操作,无论哪种情况都会导致多处理器的通信带宽被大量占用,从而影响系统性能。

一种软件实现的Reduce算法与上述Barrier类似,除了计算是否所有进程都达到同步点以外,还要对各个进程的数据进行计算,计算的结果存放在共享内存的变量Value中。假设进程0的数据为Value0,进程1的数据为Value1…进程N的数据为ValueN。Root进程根据Reduce的操作类型初始化Value,比如Reduce的操作类型是“最大”,则把Value初始化为计算机能够表示的最小值,然后每个进程n进行如下操作:

if(Value n大于Value)

Value=Value n;

同样的,每个进程需要保证上述操作的原子性,这样当所有进程都通过Barrier所述的计数器A判断完成计算后,Value的最终值就是所有进程的数据中最大的的那个值,每个进程就可以读取Value的值了,也就是完成了操作类型为“最大”的Reduce。

与Barrier类似的,软件实现多个处理器间的Reduce,Lock操作也有类型问题。虽然软件使用一些改进算法可以减少上述的缺点,但是仍然不能从根本上解决问题,仍然存在执行次数慢,消耗处理器执行资源等问题。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010267931.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top