OPTIMIZING PRIMITIVES IN SOFTWARE TRANSACTIONAL MEMORY
    1.
    发明申请
    OPTIMIZING PRIMITIVES IN SOFTWARE TRANSACTIONAL MEMORY 有权
    软件交易记忆中的优化原则

    公开(公告)号:US20090328018A1

    公开(公告)日:2009-12-31

    申请号:US12163284

    申请日:2008-06-27

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A compiler is provided that determines when the use of software transactional memory (STM) primitives may be optimized with respect to a set of collectively dominating STM primitives. The compiler analysis coordinates the use of variables containing possible shadow copy pointers to allow the analysis to be performed for both direct write and buffered write STM systems. The coordination of the variables containing the possible shadow copy pointers ensures that the results of STM primitives are properly reused. The compiler analysis identifies memory accesses where STM primitives may be eliminated, combined, or substituted for lower overhead STM primitives.

    摘要翻译: 提供了一种编译器,其确定何时可以相对于一组统一主导的STM原语来优化软件事务存储器(STM)原语的使用。 编译器分析协调使用包含可能的卷影复制指针的变量,以便对直写和缓冲写STM系统执行分析。 包含可能的卷影复制指针的变量的协调确保了STM原语的结果被适当重复使用。 编译器分析识别存储器访问,其中STM原语可以被消除,组合或代替较低开销的STM原语。

    COMPRESSED TRANSACTIONAL LOCKS IN OBJECT HEADERS
    2.
    发明申请
    COMPRESSED TRANSACTIONAL LOCKS IN OBJECT HEADERS 有权
    对象头部压缩的交互锁

    公开(公告)号:US20090327636A1

    公开(公告)日:2009-12-31

    申请号:US12163788

    申请日:2008-06-27

    IPC分类号: G06F12/14 G06F17/30

    CPC分类号: G06F9/466

    摘要: A software transactional memory system is provided that generates and stores compressed transactional locks in a portion of object headers. The software transactional memory system allocates preferred write log memory with a predefined size of memory that corresponds to a number of bits in the compressed transactional locks. The compressed transactional locks identify write log entries in corresponding write logs in the preferred write log memory. If the preferred write log memory becomes full, additional write log memory is allocated for write log entries and subsequent transactional locks are stored uncompressed in an auxiliary memory. A pointer that may be used to locate the uncompressed transactional lock is stored in the header. If an object header with a compressed transactional lock is needed for another use, the compressed transactional lock is uncompressed and stored in the auxiliary memory. A pointer that may be used to locate the uncompressed transactional lock is stored in the header.

    摘要翻译: 提供了一种软件事务存储器系统,其在对象头部的一部分中生成并存储压缩事务锁。 软件事务存储系统将优选的写日志存储器与对应于压缩事务锁中的多个位的预定义大小的存储器分配。 压缩事务锁在首选写入日志存储器中的相应写入日志中标识写入日志条目。 如果首选的写入日志内存已满,则会为写入日志条目分配额外的写入日志内存,而后续的事务锁存在未压缩的辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。 如果需要具有压缩事务锁定的对象标头进行另一次使用,压缩事务锁将被解压缩并存储在辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。

    Optimizing primitives in software transactional memory
    3.
    发明授权
    Optimizing primitives in software transactional memory 有权
    优化软件事务内存中的原语

    公开(公告)号:US08839213B2

    公开(公告)日:2014-09-16

    申请号:US12163284

    申请日:2008-06-27

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A compiler is provided that determines when the use of software transactional memory (STM) primitives may be optimized with respect to a set of collectively dominating STM primitives. The compiler analysis coordinates the use of variables containing possible shadow copy pointers to allow the analysis to be performed for both direct write and buffered write STM systems. The coordination of the variables containing the possible shadow copy pointers ensures that the results of STM primitives are properly reused. The compiler analysis identifies memory accesses where STM primitives may be eliminated, combined, or substituted for lower overhead STM primitives.

    摘要翻译: 提供了一种编译器,其确定何时可以相对于一组统一主导的STM原语来优化软件事务存储器(STM)原语的使用。 编译器分析协调使用包含可能的卷影复制指针的变量,以便对直写和缓冲写STM系统执行分析。 包含可能的卷影复制指针的变量的协调确保了STM原语的结果被适当重复使用。 编译器分析识别存储器访问,其中STM原语可以被消除,组合或代替较低开销的STM原语。

    PRIMITIVES FOR SOFTWARE TRANSACTIONAL MEMORY
    4.
    发明申请
    PRIMITIVES FOR SOFTWARE TRANSACTIONAL MEMORY 有权
    软件交易记忆的原则

    公开(公告)号:US20090327291A1

    公开(公告)日:2009-12-31

    申请号:US12163402

    申请日:2008-06-27

    IPC分类号: G06F12/00 G06F17/30

    CPC分类号: G06F9/528

    摘要: Software transactional memory (STM) primitives are provided that allow the results of prior open calls to be used by subsequent open calls either as-is or through another STM primitive that consumes the results of the previous invocation. The STM primitives are configured to ensure that the address of a shadow copy representing a memory location will not changed across a wide range of operations and thereby enable re-use of the shadow copy.

    摘要翻译: 提供了软件事务存储器(STM)原语,其允许先前的打开调用的结果被按照原样或通过消耗先前调用的结果的另一个STM原语的后续打开调用来使用。 STM原语配置为确保表示内存位置的卷影副本的地址不会在广泛的操作范围内发生变化,从而可以重新使用卷影副本。

    Primitives for software transactional memory
    5.
    发明授权
    Primitives for software transactional memory 有权
    软件事务内存的基本原理

    公开(公告)号:US09047139B2

    公开(公告)日:2015-06-02

    申请号:US12163402

    申请日:2008-06-27

    IPC分类号: G06F17/30 G06F9/52

    CPC分类号: G06F9/528

    摘要: Software transactional memory (STM) primitives are provided that allow the results of prior open calls to be used by subsequent open calls either as-is or through another STM primitive that consumes the results of the previous invocation. The STM primitives are configured to ensure that the address of a shadow copy representing a memory location will not changed across a wide range of operations and thereby enable re-use of the shadow copy.

    摘要翻译: 提供了软件事务存储器(STM)原语,其允许先前的打开调用的结果被按照原样或通过消耗先前调用的结果的另一个STM原语的后续打开调用来使用。 STM原语配置为确保表示内存位置的卷影副本的地址不会在广泛的操作范围内发生变化,从而可以重新使用卷影副本。

    Compressed transactional locks in object headers
    6.
    发明授权
    Compressed transactional locks in object headers 有权
    对象标题中的压缩事务​​锁

    公开(公告)号:US08341133B2

    公开(公告)日:2012-12-25

    申请号:US12163788

    申请日:2008-06-27

    CPC分类号: G06F9/466

    摘要: A software transactional memory system is provided that generates and stores compressed transactional locks in a portion of object headers. The software transactional memory system allocates preferred write log memory with a predefined size of memory that corresponds to a number of bits in the compressed transactional locks. The compressed transactional locks identify write log entries in corresponding write logs in the preferred write log memory. If the preferred write log memory becomes full, additional write log memory is allocated for write log entries and subsequent transactional locks are stored uncompressed in an auxiliary memory. A pointer that may be used to locate the uncompressed transactional lock is stored in the header. If an object header with a compressed transactional lock is needed for another use, the compressed transactional lock is uncompressed and stored in the auxiliary memory. A pointer that may be used to locate the uncompressed transactional lock is stored in the header.

    摘要翻译: 提供了一种软件事务存储器系统,其在对象头部的一部分中生成并存储压缩事务锁。 软件事务存储系统将优选的写日志存储器与对应于压缩事务锁中的多个位的预定义大小的存储器分配。 压缩事务锁在首选写入日志存储器中的相应写入日志中标识写入日志条目。 如果首选的写入日志内存已满,则会为写入日志条目分配额外的写入日志内存,而后续的事务锁存在未压缩的辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。 如果需要具有压缩事务锁定的对象标头进行另一次使用,压缩事务锁将被解压缩并存储在辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。

    EFFICIENT GARBAGE COLLECTION AND EXCEPTION HANDLING IN A HARDWARE ACCELERATED TRANSACTIONAL MEMORY SYSTEM
    7.
    发明申请
    EFFICIENT GARBAGE COLLECTION AND EXCEPTION HANDLING IN A HARDWARE ACCELERATED TRANSACTIONAL MEMORY SYSTEM 有权
    硬件加速传输存储系统中的高效收集和异常处理

    公开(公告)号:US20110145304A1

    公开(公告)日:2011-06-16

    申请号:US12638929

    申请日:2009-12-15

    IPC分类号: G06F17/00 G06F12/00 G06F12/02

    摘要: Handling garbage collection and exceptions in hardware assisted transactions. Embodiments are practiced in a computing environment including a hardware assisted transaction system. Embodiments includes acts for writing to a card table outside of a transaction; handling garbage collection compaction occurring when a hardware transaction is active by using a common global variable and instructing one or more agents to write to the common global variable any time an operation is performed which may change an object's virtual address; acts for managing a thread-local allocation context; acts for handling exceptions while in a hardware assisted transaction. A method includes beginning a hardware assisted transaction, raising an exception while in the hardware assisted transaction, including creating an exception object, determining that the transaction should be rolled back, and as a result of determining that the transaction should be rolled back, marshaling the exception object out of the hardware assisted transaction.

    摘要翻译: 在硬件辅助交易中处理垃圾收集和异常。 实施例在包括硬件辅助交易系统的计算环境中实现。 实施例包括用于在事务之外写入卡表的动作; 通过使用公共全局变量来处理在硬件事务处于活动状态时发生的垃圾收集压缩,并且在每次执行可能改变对象的虚拟地址的操作时,指示一个或多个代理写入公共全局变量; 用于管理线程本地分配上下文的动作; 在硬件辅助交易中处理异常的行为。 一种方法包括开始硬件辅助事务,在硬件辅助事务中引发异常,包括创建异常对象,确定事务应该回滚,并且由于确定事务应该回滚,因此, 异常对象出来的硬件辅助事务。

    Efficient garbage collection and exception handling in a hardware accelerated transactional memory system
    8.
    发明授权
    Efficient garbage collection and exception handling in a hardware accelerated transactional memory system 有权
    在硬件加速事务内存系统中高效的垃圾回收和异常处理

    公开(公告)号:US08402218B2

    公开(公告)日:2013-03-19

    申请号:US12638929

    申请日:2009-12-15

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    摘要: Handling garbage collection and exceptions in hardware assisted transactions. Embodiments are practiced in a computing environment including a hardware assisted transaction system. Embodiments includes acts for writing to a card table outside of a transaction; handling garbage collection compaction occurring when a hardware transaction is active by using a common global variable and instructing one or more agents to write to the common global variable any time an operation is performed which may change an object's virtual address; acts for managing a thread-local allocation context; acts for handling exceptions while in a hardware assisted transaction. A method includes beginning a hardware assisted transaction, raising an exception while in the hardware assisted transaction, including creating an exception object, determining that the transaction should be rolled back, and as a result of determining that the transaction should be rolled back, marshaling the exception object out of the hardware assisted transaction.

    摘要翻译: 在硬件辅助交易中处理垃圾收集和异常。 实施例在包括硬件辅助交易系统的计算环境中实现。 实施例包括用于在事务之外写入卡表的动作; 通过使用公共全局变量来处理在硬件事务处于活动状态时发生的垃圾收集压缩,并且在每次执行可能改变对象的虚拟地址的操作时,指示一个或多个代理写入公共全局变量; 用于管理线程本地分配上下文的动作; 在硬件辅助交易中处理异常的行为。 一种方法包括开始硬件辅助事务,在硬件辅助事务中引发异常,包括创建异常对象,确定事务应该回滚,并且由于确定事务应该回滚,因此, 异常对象出来的硬件辅助事务。

    Transactional memory using buffered writes and enforced serialization order
    9.
    发明申请
    Transactional memory using buffered writes and enforced serialization order 有权
    事务内存使用缓冲写入和强制序列化顺序

    公开(公告)号:US20080256073A1

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

    申请号:US11786174

    申请日:2007-04-11

    IPC分类号: G06F17/30

    CPC分类号: G06F9/528

    摘要: Various technologies and techniques are disclosed that support buffered writes and enforced serialization order in a software transactional memory system. A buffered write process is provided that performs writes to shadow copies of objects and writes content back to the objects after validating a respective transaction during commit. When a write lock is first obtained for a particular transaction, a shadow copy is made of a particular object. Writes are performed to and reads from the shadow copy. After validating the particular transaction during commit, content is written from the shadow copy to the particular object. A transaction ordering process is provided that ensures that an order in which the transactions are committed matches an abstract serialization order of the transactions. Transactions are not allowed to commit until their ticket number matches a global number that tracks the next transaction that should commit.

    摘要翻译: 公开了各种技术和技术,其支持软件事务存储器系统中的缓冲写入和强制序列化顺序。 提供缓冲的写入过程,其在对象的卷影副本执行写入,并且在提交期间验证相应的事务之后将内容写回到对象。 当一个特定的事务首次获得一个写锁定时,一个影子副本是由一个特定的对象组成的。 写入被执行并从卷影副本中读取。 在提交期间验证特定事务后,将内容从卷影副本写入特定对象。 提供了事务排序过程,其确保事务被提交的顺序与事务的抽象序列化顺序相匹配。 事务不允许提交,直到他们的机票号码跟踪跟踪下一个应该提交的事务的全局号码。

    Parallel nested transactions in transactional memory
    10.
    发明授权
    Parallel nested transactions in transactional memory 有权
    事务内存中的并行嵌套事务

    公开(公告)号:US07962456B2

    公开(公告)日:2011-06-14

    申请号:US11901483

    申请日:2007-09-18

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30356 G06F17/30362

    摘要: Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. For example, pessimistic reads are supported. A pessimistic duplication detection data structure is created for a parallel nested transaction. An entry is made into the data structure for each pessimistic read in the parallel nested transaction. When committing the parallel nested transaction, new pessimistic read locks are passed to an immediate parent, and an entry is made into a separate pessimistic duplication detection data structure of the immediate parent with synchronization between sibling transactions. The pessimistic duplication detection data structures can also be used for upgrades from pessimistic reads to write locks. Retry operations are supported with parallel nested transactions. Write abort compensation maps can be used with parallel nested transactions to detect and handle falsely doomed parent transactions.

    摘要翻译: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和技术。 例如,支持悲观的读取。 为并行嵌套事务创建悲观重复检测数据结构。 在并行嵌套事务中,每个悲观读取的数据结构都会被输入。 在提交并行嵌套事务时,新的悲观读锁传递给一个直接的父类,并且一个条目被做成一个独立的悲观重复检测数据结构的直接父母同步的兄弟交易。 悲观的重复检测数据结构也可用于从悲观读取到写入锁的升级。 并行嵌套事务支持重试操作。 写入中止补偿映射可以与并行嵌套事务一起使用,以检测和处理错误注销的父事务。