发明名称 使用事务来并行化顺序框架
摘要 公开了用于将顺序循环转换成并行循环以与事务存储器系统一起使用的各种技术和方法。提供了一种事务存储器系统。将包含原始顺序循环的第一部分代码转换成包含使用事务来保留原始的输入到输出映射的并行循环的第二部分代码。例如,可以通过取原始顺序循环的每一迭代并生成遵循预定提交次序过程的单独事务来将原始顺序循环转换成并行循环。各单独事务中的至少某一些在不同的线程中执行。当在执行并行循环时检测到在特定事务中发生了未经处理的异常时,则提交该特定事务和前导事务所作出的状态修改并丢弃后续事务所作出的状态修改。
申请公布号 CN101681272B 申请公布日期 2014.07.16
申请号 CN200880018922.8 申请日期 2008.05.30
申请人 微软公司 发明人 J·J·达菲;J·格雷;Y·莱瓦诺尼
分类号 G06F9/46(2006.01)I 主分类号 G06F9/46(2006.01)I
代理机构 上海专利商标事务所有限公司 31100 代理人 张政权;钱静芳
主权项 一种将原始顺序循环转换成并行循环的方法,所述方法包括以下步骤:提供事务存储器系统(506);将包含原始顺序循环的第一部分代码转换成包含使用多个事务来保留原始的输入到输出映射的并行循环的第二部分代码(508);以及使用所述事务存储器系统执行所述第二部分代码,其中所述多个事务中的至少某一些在不同的线程上执行(518);所述方法还包括在检测到所述并行循环包含超过一个将修改同一数据元素的单独事务的情况下,使用提交仲裁器来检测并处理在所述并行循环执行时所发生的冲突,其中使用所述提交仲裁器来处理在所述并行循环执行时所发生的冲突进一步包括:使用所述提交仲裁器来为所述多个事务指定预定提交次序,将后续事务置于休眠/挂起模式以便阻塞所述后续事务在前导事务仍在执行时重新执行,以及一旦所述前导事务完成则唤醒被置于挂起模式的所述后续事务。
地址 美国华盛顿州