[发明专利]使用事务来并行化顺序框架有效

专利信息
申请号: 200880018922.8 申请日: 2008-05-30
公开(公告)号: CN101681272A 公开(公告)日: 2010-03-24
发明(设计)人: J·J·达菲;J·格雷;Y·莱瓦诺尼 申请(专利权)人: 微软公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 上海专利商标事务所有限公司 代理人: 张政权;钱静芳
地址: 美国华*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 使用 事务 并行 顺序 框架
【说明书】:

背景

软件事务存储器(STM)是类似于数据库事务的、用于在并发计算中 控制对共享存储器的访问的并发控制机制。事务存储器的上下文中的事务 是执行对共享存储器的一系列读取和写入的一段代码。STM用作传统锁定 机制的替换。程序员在代码块周围放置声明性注释(例如,原子的)以指 示这些代码块所需要的安全特性,并且系统自动保证该块相对于其它受保 护的代码区域原子地执行。软件事务存储器编程模型防止了基于锁的优先 级倒置和死锁问题。

虽然典型的STM系统具有许多优点,但它们仍然需要程序员仔细地避 免非预期的存储器访问排序。例如,在典型的STM环境中提交事务(即, 提交处理)的次序是不受约束的。各事务彼此竞争提交,这意味着事务1 是在事务2之前还是之后提交通常是程序的动态调度的产物(并且通常也 由程序专用逻辑来调度)。此外,如果两个事务冲突,诸如通过试图向同 一段存储器写入等,则它们的提交次序可基于多个可能的争用管理策略中 的一个来任意决定。在这两种情况下,不保证任何特定提交次序;因此确 保程序员的程序按任一次序都正确地运作的负担就落在程序员身上。这使 得并行编程非常困难。

其中执行次序可能很重要并且其中并行性很有吸引力的一个场景是在 并行地执行一循环的多次迭代时。以典型的“for...each”循环为例,如下 所示:

ForEach(string s in List<string>)

{

    S;

}

在该循环的每一迭代期间,都将执行该循环主体中的语句S。这一循 环被编写来顺序地执行,其中该循环的第一次迭代在第二次迭代开始之前 结束,以此类推。如果在没有处理可能的副作用或次序依赖性的额外预防 措施的情况下并行地执行这一顺序循环,则可能发生意外结果。

概述

公开了用于对事务存储器系统中的事务应用排序的各种技术和方法。 事务存储器系统具备允许为多个事务指定预定提交次序的特征。在运行时 使用该预定提交次序来帮助确定提交事务存储器系统中的事务的次序。在 一个实现中,预定提交次序可以或者是总体排序或者是部分排序。在总体 排序的情况下,迫使事务以线性次序来提交。在部分排序的情况下,允许 在多个可接受场景中的一个中提交事务。在一个实现中,提交仲裁器跟踪 表示应被允许接下来提交的事务的下一个提交(next-to-commit)值,并且 当特定事务准备好提交时,该事务在其提交序号匹配提交仲裁器的下一个 提交值的情况下被允许提交。

当在第一事务和第二事务之间发生冲突时调用争用管理过程。在争用 管理过程中使用预定提交次序来帮助确定第一事务还是第二事务应当赢得 冲突并被允许继续。

公开了用于将顺序循环转换成并行循环以与事务存储器系统一起使用 的技术。提供了一种基于事务存储器的系统。将包含原始顺序循环的第一 部分代码转换成包含使用事务来保留原始的输入到输出映射的并行循环的 第二部分代码。例如,可以通过取原始顺序循环的每一迭代并生成遵循预 定提交次序过程的单独事务,并随后将这些事务分配到不同的线程以使它 们并行执行,来将原始顺序循环转换成并行循环。万一在执行并行循环时 从特定事务中检测到未经处理的异常,则提交该特定事务和任何前导事务 所作出的状态修改并丢弃任何后续事务所作出的状态修改。否则,所有事 务提交。

在一个实现中,可以将开放和/或封闭顺序循环转换成并行循环。例如, 分析包含原始顺序循环的一部分代码以确定该原始顺序循环的固定迭代次 数。将原始顺序循环转换成可生成数量等于固定迭代次数的事务的并行循 环。作为另一示例,可以将开放顺序循环转换成生成包含推测流水线的每 一迭代的相应工作项的单独事务的并行循环。将这些事务分配到不同的线 程以允许并行循环的至少一部分并行执行。并行循环随后在使用预定提交 排序的好处的事务存储器系统的保护之下执行。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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