System and method for implementing nonblocking zero-indirection transactional memory
    1.
    发明授权
    System and method for implementing nonblocking zero-indirection transactional memory 有权
    用于实现非阻塞零间接事务内存的系统和方法

    公开(公告)号:US08140497B2

    公开(公告)日:2012-03-20

    申请号:US11967381

    申请日:2007-12-31

    IPC分类号: G06F17/00

    CPC分类号: G06F9/467

    摘要: Systems and methods for implementing and using nonblocking zero-indirection software transactional memory (NZSTM) are disclosed. NZSTM systems implement object-based software transactional memory that eliminates all levels of indirection except in the uncommon case of a conflict with an unresponsive thread. Shared data is co-located with a header in an NZObject, and is addressable at a fixed offset from the header. Conflicting transactions are requested to abort themselves without being forced to abort. NZObjects are modified in place when there are no conflicts, and when a conflicting transaction acknowledges the abort request. In the uncommon case, NZObjects are inflated to introduce a locator and some levels of indirection, and are restored to their un-inflated form following resolution of the conflict. In some embodiments, transactions are executed using best effort hardware transactional memory if it is available and effective, and software transactional memory if not, yielding a hybrid transactional memory system, NZTM.

    摘要翻译: 公开了用于实现和使用非阻塞零间接软件事务存储器(NZSTM)的系统和方法。 NZSTM系统实现了基于对象的软件事务内存,消除了所有级别的间接,除非是与无响应线程冲突的罕见情况。 共享数据与NZObject中的头部位于一起,并且可以与头部固定的偏移量进行寻址。 要求冲突交易中止自己而不被迫中止。 当没有冲突时,NZObjects被修改就位,当冲突的事务确认中止请求时。 在不常见的情况下,NZObjects被膨胀以引入定位器和一定程度的间接性,并且在解决冲突之后恢复到它们没有膨胀的形式。 在一些实施例中,如果可用且有效,则使用尽力而为的硬件事务存储器来执行事务,如果不是,则使用软件事务存储器,产生混合事务存储器系统NZTM。

    System and method for implementing hybrid single-compare-single-store operations
    2.
    发明授权
    System and method for implementing hybrid single-compare-single-store operations 有权
    实现混合单比较单店操作的系统和方法

    公开(公告)号:US07793052B2

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

    申请号:US11967358

    申请日:2007-12-31

    IPC分类号: G06F12/00

    摘要: A hybrid Single-Compare-Single-Store (SCSS) operation may exploit best-effort hardware transactional memory (HTM) for good performance in the case that it succeeds, and may transparently resort to software-mediated transactions if the hardware transactional mechanisms fail. The SCSS operation may compare a value in a control location to a specified expected value, and if they match, may store a new value in a separate data location. The control value may include a global lock, a transaction status indicator, and/or a portion of an ownership record, in different embodiments. If another transaction in progress owns the data location, the SCSS operation may abort the other transaction or may help it complete by copying the other transactions' write set into its own right set before acquiring ownership. A hybrid SCSS operation, which is usually nonblocking, may be applied to building software transactional memories (STMs) and/or hybrid transactional memories (HyTMs), in some embodiments.

    摘要翻译: 混合单一比较单存储(SCSS)操作可以在成功的情况下利用尽力而为的硬件事务存储器(HTM)以获得良好的性能,并且如果硬件事务机制失败,则可以透明地诉诸软件介入的事务。 SCSS操作可以将控制位置中的值与指定的预期值进行比较,如果匹配,则可将新值存储在单独的数据位置。 在不同的实施例中,控制值可以包括全局锁定,事务状态指示符和/或所有权记录的一部分。 如果正在进行的另一个交易拥有数据位置,SCSS操作可能会中止其他交易,或者可以在获得所有权之前将其他交易的写入集合复制到自己的权利集中来帮助完成该交易。 在一些实施例中,通常不阻塞的混合SCSS操作可以应用于构建软件事务存储器(STM)和/或混合事务存储器(HyTM)。