用于直接更新软件事务存储器的方法和系统

    公开(公告)号:CN101495976B

    公开(公告)日:2011-11-09

    申请号:CN200680026687.X

    申请日:2006-07-28

    申请人: 微软公司

    发明人: T·L·哈里斯

    IPC分类号: G06F13/00

    摘要: 一种事务存储器编程接口允许线程在事务内直接并安全地访问一个或多个共享存储器位置,同时维护控制结构来管理一个或多个其它并发线程对这些相同位置的存储器访问。该线程访问的每一存储器位置与一登记记录相关联,并且每一线程维护其存储器访问的事务日志。在一事务内,读操作直接在存储器位置上执行,而写操作直接在存储器位置而非某一中间缓冲区上尝试。该线程可检测存储器位置的登记记录与线程的事务日志之间的不一致性,以确定事务内的存储器访问是否不可靠以及是否应重试事务。

    基于辅助线程实现事务存储系统的方法和装置

    公开(公告)号:CN101788922A

    公开(公告)日:2010-07-28

    申请号:CN200910005955.5

    申请日:2009-01-22

    发明人: 王华勇

    IPC分类号: G06F9/46

    摘要: 一种在支持同时多线程的处理器中执行事务的方法,包括:建立用于执行事务的主软件线程和用于执行屏障功能的辅助软件线程,利用多个硬件线程执行主软件线程和辅助软件线程;执行主软件线程;如果主软件线程遇到需要读取/写入数据的事务加载/存储操作,则判断是否需要执行屏障功能;如果需要执行屏障功能,则执行以下步骤:停止主软件线程;激活辅助软件线程以执行屏障功能;在辅助软件线程执行屏障功能完成之后,退出辅助软件线程;以及继续执行主软件线程。由此,本发明利用多个硬件线程实现屏障功能,从而避免了重新编译过程中带来的麻烦,并且保证了在数据访问过程中对冲突的检测。

    处理嵌套事务的错误地破坏的父事务

    公开(公告)号:CN101689138A

    公开(公告)日:2010-03-31

    申请号:CN200880022416.6

    申请日:2008-06-16

    申请人: 微软公司

    IPC分类号: G06F12/00

    摘要: 公开了用于在事务存储器系统中检测嵌套子事务的错误地破坏的父事务的各种技术和方法。在回退嵌套事务时,在给定嵌套事务由于回退而每一次释放写锁定时跟踪释放计数。例如,可以使用写异常中止补偿映射来跟踪每一嵌套事务的释放计数。嵌套事务释放写锁定的次数被记录在它们相应的写异常中止补偿映射中。可以在父事务的确认期间使用释放计数来确定失败的乐观读取事实上是否有效。如果嵌套子事务的聚集的释放计数是造成版本号差的原因,则乐观读取是有效的。

    在事务存储器系统中高效地定位事务代码块

    公开(公告)号:CN101681293A

    公开(公告)日:2010-03-24

    申请号:CN200880018481.1

    申请日:2008-05-30

    申请人: 微软公司

    IPC分类号: G06F12/00

    CPC分类号: G06F9/467 G06F8/314

    摘要: 公开了用于在事务存储器系统中创建和/或定位事务代码块的各种技术和方法。诸如软件开发者等用户可以用标识符来装饰特定函数以便指示该特定函数是事务安全的。接着创建软件应用程序中的被标记为事务安全的每一个函数的普通版本和事务版本。创建未被标记为事务安全的每一个函数的普通版本。对于被标记为事务安全的每一个函数的普通版本,该普通版本中的存根指针指向事务版本。然后取决于执行上下文来调用该函数的适当的版本。

    直接更新软件事务存储器
    68.
    发明公开

    公开(公告)号:CN101495976A

    公开(公告)日:2009-07-29

    申请号:CN200680026687.X

    申请日:2006-07-28

    申请人: 微软公司

    发明人: T·L·哈里斯

    IPC分类号: G06F13/00

    摘要: 一种事务存储器编程接口允许线程在事务内直接并安全地访问一个或多个共享存储器位置,同时维护控制结构来管理一个或多个其它并发线程对这些相同位置的存储器访问。该线程访问的每一存储器位置与一登记记录相关联,并且每一线程维护其存储器访问的事务日志。在一事务内,读操作直接在存储器位置上执行,而写操作直接在存储器位置而非某一中间缓冲区上尝试。该线程可检测存储器位置的登记记录与线程的事务日志之间的不一致性,以确定事务内的存储器访问是否不可靠以及是否应重试事务。

    高效且一致的软件事务存储器

    公开(公告)号:CN101286123A

    公开(公告)日:2008-10-15

    申请号:CN200710306288.5

    申请日:2007-12-28

    申请人: 英特尔公司

    IPC分类号: G06F9/46

    摘要: 在此描述了一种用于软件事务存储器(STM)系统中的高效且一致的验证/冲突检测的方法和装置。在加载操作之后插入版本检查屏障,以比较加载操作前后的加载值的版本。另外,全局时间戳(GTS)被用来跟踪最新提交的事务。每个事务都与在事务开始时被初始化为GTS值的局部时间戳(LTS)相关联。随着事务提交,将GTS更新为新值并将所修改的单元的版本设置为该新值。未决事务将在读屏障中确定的版本与它们的LTS进行比较。如果该版本大于它们的LTS,这指示出另一事务已在未决事务开始且初始化LTS之后被提交,则该未决事务验证其读集以保持高效且一致的事务执行。