[发明专利]多个线程并行访问共享数据结构的方法及装置有效

专利信息
申请号: 200810161517.3 申请日: 2008-09-24
公开(公告)号: CN101685408A 公开(公告)日: 2010-03-31
发明(设计)人: 甘志;戴晓君;邱模炯;齐尧 申请(专利权)人: 国际商业机器公司
主分类号: G06F9/50 分类号: G06F9/50
代理公司: 北京市中咨律师事务所 代理人: 于 静;刘 薇
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 线程 并行 访问 共享 数据结构 方法 装置
【说明书】:

技术领域

发明涉及用于多核体系结构的并行程序,具体地,涉及并行程序中 的多个线程并行访问共享数据结构的方法及装置。

背景技术

当前,微处理器技术正在从单核时代进入多核时代,多核处理器正在 成为主流并且快速发展。在多核处理器中,每一个CPU核都可支持多个线 程。随着对多核处理器的计算能力的需求的增长,能够有效利用硬件并行 性的并行编程是最合适的方式。在并行计算中,通过对多核处理器中的多 个CPU核(处理单元)进行编程以协同解决一个问题,能够提高计算速度。 为了充分利用多核处理器,通常使用并行程序,即应用程序中包含并行处 理。在并行程序中,任务处理被分成多个部分(线程),这些线程可并行 地执行,并通过访问某些共享数据结构和使用合适的同步方法来彼此通信, 以协同并正确地工作。

当并行程序在多核处理器上运行时,该并行程序中的多个线程可访问 共享数据结构,以对共享数据结构进行操作,例如,删除元素或增加元素。 当多个线程访问共享数据结构时,需要使用同步机制以确保每次只有一个 线程能够对共享数据结构进行操作,这可通过为线程授予共享数据结构的 锁来实现。当一个线程获得共享数据结构的锁时,其它线程都不能获得该 锁。获得锁的线程可对共享数据结构进行操作,并在结束操作后释放该锁, 然后由另一个线程获得该锁以进行操作。

在并行程序中,基于数组的数据结构被广泛应用,其中,数组是最常 用的。

下面通过一个例子说明现有的多个线程访问共享数据结构的方案。图 1示出了三个线程并行访问基于数组的列表的过程。如图1(a)所示,列 表的位置0-3的元素分别是“A”、“B”、“C”和“D”,线程1的操 作是“add(0,‘Y’)”,即在位置0处添加元素“Y”,线程2的操作是“add(1, ‘X’)”,即在位置1处添加元素“X”,线程3的操作是“remove(1)”, 即删除位置1处的元素。首先,线程1获得该列表的锁,在列表的位置0 处添加元素“Y”,相应地,原本在位置0-3处的元素“A”、“B”、“C” 和“D”被移动到位置1-4处,如图1(b)所示。然后,线程1释放锁, 由线程2获得该锁,线程2在列表的位置1处添加元素“X”,相应地, 原本在位置1-4处的元素“A”、“B”、“C”和“D”被移动到位置2-5 处,如图1(c)所示。然后,线程2释放锁,由线程3获得锁,线程3删 除位置1处的元素“X”,原本在位置2-5处的元素“A”、“B”、“C” 和“D”被移动到位置1-4处,如图1(d)所示。通过以上过程可以看出, 每次线程对列表进行操作时,列表中的元素都将移动。在实际的应用程序 中,当多个线程频繁地修改数据结构时,会出现很多的如上所述的元素移 动,这些元素移动的开销会降低整个多核处理器的性能。

为了改善多核处理器的性能,提出了对多核处理器所使用的数据库采 用聚合写(Aggregate Write)的方案。聚合写在数据库、文件系统和并行 输入输出系统的设计中很普遍,它可改善并行应用程序在不同场景下的吞 吐量和延迟。在并行输入输出系统和文件系统中,在程序中的某个线程访 问存储器时,为了改善吞吐量和减少延迟,将要写入存储器的内容首先被 缓存在缓存器中,然后,该线程继续其工作而无需等待上述内容被写入实 际的存储器中。

发明内容

本发明正是鉴于上述的技术问题而提出的,其目的在于提供一种并行 应用程序中的多个线程并行访问共享数据结构的方法及装置,其能够在修 改共享数据结构时减少元素移动的次数,提高多线程访问的性能。

根据本发明的一个方面,提供一种并行应用程序中的多个线程并行访 问共享数据结构的方法,包括:对所述多个线程中的一个线程授予所述共 享数据结构的锁;对所述共享数据结构执行获得所述锁的线程的操作;缓 存所述多个线程中未获得所述锁的线程的操作;以及在随后的所述多个线 程中的另一个线程获得所述共享数据结构的锁的期间,对所述共享数据结 构执行所缓存的操作。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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