-
-
公开(公告)号:CN102289387A
公开(公告)日:2011-12-21
申请号:CN201110178980.0
申请日:2011-06-20
Applicant: 微软公司
IPC: G06F9/46
Abstract: 本发明涉及软件事务存储器中的动作框架。软件事务存储器系统实现轻量的基于键的动作框架。该框架包括由STM库展示的一组统一的应用编程接口(API),该组统一的应用编程接口允许客户端实现可由STM代码中的事务或事务嵌套使用特定键来注册、查询和更新的动作。每个动作包括键、状态信息以及可被挂钩到事务执行的验证、提交、中止、和/或重新执行阶段的一组一个或多个回调。动作用定制的控制逻辑扩展STM系统的内建并发控制,支持事务嵌套语义,以及允许与垃圾收集系统的集成。
-
公开(公告)号:CN102282548B
公开(公告)日:2015-06-17
申请号:CN200980154875.4
申请日:2009-12-04
Applicant: 微软公司
CPC classification number: G06F9/466
Abstract: 事务性的存储器处理系统可以将编译器级别的事务性的存储器概念集成到更高级别的传统的事务处理系统中。编译器级别的原子块可以被指定为原子块事务,并包括原子性和隔离性的特征。此原子块事务内的动作包括从储存库中征募资源管理器。储存库现在可以包括预先编程的存储器资源管理器,以管理事务性的存储器。如在传统的事务中,可以使用提交协议来判断动作是否有效,并可以在事务的外部公开。然而,与传统的事务不同,如果全部动作没有被验证,事务不需要死亡。相反,存储器冲突会导致原子块事务的回滚和重新执行,这是可以重复的,只要需要,直到存储器资源管理器表决提交。
-
-
公开(公告)号:CN102541612B
公开(公告)日:2014-07-09
申请号:CN201110382436.8
申请日:2011-11-16
Applicant: 微软公司
IPC: G06F9/45
CPC classification number: G06F8/45
Abstract: 本发明涉及数据平行代码中的映射变换。高层编程语言提供了映射变换(12),该映射变换采用数据平行算法(14)并且将一组一个或多个输入可索引类型(32)作为参量(26)。映射变换将数据平行算法应用于该组输入可索引类型,以生成输出可索引类型,并且返回该输出可索引类型(34)。映射变换可用于将一个或多个数据平行算法(14)与另一数据平行算法(24)融合。
-
公开(公告)号:CN101681272A
公开(公告)日:2010-03-24
申请号:CN200880018922.8
申请日:2008-05-30
Applicant: 微软公司
IPC: G06F9/46
Abstract: 公开了用于将顺序循环转换成并行循环以与事务存储器系统一起使用的各种技术和方法。提供了一种事务存储器系统。将包含原始顺序循环的第一部分代码转换成包含使用事务来保留原始的输入到输出映射的并行循环的第二部分代码。例如,可以通过取原始顺序循环的每一迭代并生成遵循预定提交次序过程的单独事务来将原始顺序循环转换成并行循环。各单独事务中的至少某一些在不同的线程中执行。当在执行并行循环时检测到在特定事务中发生了未经处理的异常时,则提交该特定事务和前导事务所作出的状态修改并丢弃后续事务所作出的状态修改。
-
公开(公告)号:CN103620554A
公开(公告)日:2014-03-05
申请号:CN201280029279.5
申请日:2012-06-05
Applicant: 微软公司
CPC classification number: G06F8/51 , G06F9/44536
Abstract: 本发明涉及用于将缓冲区别名化的方法、系统和计算机程序产品。本发明的实施例通过如下方式来支持缓冲区别名化:引入源程序的缓冲区访问与目标可执行物理缓冲区之间的间接等级;以及在运行时将逻辑缓冲区访问绑定到实际物理缓冲区访问。可以将多种支持缓冲区的运行时别名化的技术用在原本不允许目标可执行代码的单独定义的缓冲区之间的这样的运行时别名化的系统中。源程序中的逻辑缓冲区访问到目标可执行代码中定义的实际物理缓冲区之间的绑定被延迟直到运行时。
-
公开(公告)号:CN102187321B
公开(公告)日:2013-01-16
申请号:CN200980142416.4
申请日:2009-10-16
Applicant: 微软公司
CPC classification number: G06F9/466
Abstract: 一种处理系统包括事务存储器、第一和第二资源管理器和用于并行程序的事务管理器,该并行程序具有包括具有副作用动作的原子事务的线程。该第一资源管理器被配置成加入该原子事务并且管理与该副作用动作相关的资源。该第二资源管理器被配置成加入该原子事务并且管理该事务存储器。该事务管理器耦合到第一和第二资源管理器并且管理器被配置成从第一和第二资源管理接收关于是否提交该事务的投票。该副作用动作被延迟直至该事务提交之后或与针对该副作用动作的补偿动作一起应用。
-
公开(公告)号:CN101681292B
公开(公告)日:2012-10-10
申请号:CN200880018391.2
申请日:2008-05-30
Applicant: 微软公司
IPC: G06F12/00
Abstract: 公开了用于将顺序循环转换成并行循环以与事务存储器系统一起使用的各种技术和方法。可以将开放和/或封闭顺序循环转换成并行循环。例如,分析包含原始顺序循环的一部分代码以确定该原始顺序循环的固定迭代次数。将原始顺序循环转换成可生成数量等于该固定迭代次数的事务的并行循环。作为另一示例,可以将开放顺序循环转换成生成包含推测流水线的每一迭代的相应工作项的单独事务的并行循环。并行循环随后使用事务存储器系统来执行,其中各单独事务中的至少某一些在不同的线程上执行。
-
-
-
-
-
-
-
-