Efficient retry for transactional memory
    21.
    发明授权
    Efficient retry for transactional memory 有权
    高效重试事务记忆

    公开(公告)号:US07890707B2

    公开(公告)日:2011-02-15

    申请号:US11823211

    申请日:2007-06-27

    IPC分类号: G06F12/00

    摘要: Various technologies and techniques are disclosed for implementing retrying transactions in a transactional memory system. The system allows a transaction to execute a retry operation. The system registers for waits on every read in a read set of the retrying transaction. The retrying transaction waits for notification that something in the read set has changed. A transaction knows if notification is required in one of two ways. If the transactional memory word contained a waiters bit during write lock acquisition, then during release the transactional memory word is looked up in an object waiters map, and waiting transactions are signaled. If a writing transaction finds a global count of waiting transactions to be greater than zero after releasing write locks, a transaction waiters map is used to determine which waiting transactions need to be signaled. In each case, the write lock is released using a normal store operation.

    摘要翻译: 公开了用于在事务性存储器系统中实现重试事务的各种技术和技术。 系统允许事务执行重试操作。 系统注册等待重读事务的读取集中的每次读取。 重试事务等待通知,读取集中的某些内容已更改。 交易知道是否需要以两种方式之一通知。 如果事务存储器字在写入锁定获取期间包含一个服务器位,则在释放期间,在对象服务器映射中查找事务存储器字,并且发送等待事务。 如果写入事务在释放写入锁之后发现等待事务的全局计数大于零,则使用事务服务器映射来确定哪些等待事务需要发出信号。 在每种情况下,使用正常的存储操作来释放写入锁定。

    Exception ordering in contention management to support speculative sequential semantics
    22.
    发明授权
    Exception ordering in contention management to support speculative sequential semantics 有权
    竞争管理中的异常排序支持推测性顺序语义

    公开(公告)号:US07860847B2

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

    申请号:US11820556

    申请日:2007-06-20

    IPC分类号: G06F17/30

    CPC分类号: G06F9/3842

    摘要: Various technologies and techniques are disclosed for handling exceptions in sequential statements that are executed in parallel. A transactional memory system is provided with a contention manager. The contention manager is responsible for managing exceptions that occur within statements that were designed to be executed in an original sequential order, and that were transformed into ordered transactions for speculative execution in parallel. The contention manager ensures that any exceptions that are thrown from one or more speculatively executed blocks while the statements are being executed speculatively in parallel are handled in the original sequential order.

    摘要翻译: 公开了用于处理并行执行的顺序语句中的异常的各种技术和技术。 交易内存系统与竞争管理器一起提供。 竞争管理器负责管理在原始顺序中被设计为执行的语句中发生的异常,并且被并行转换为有序事务以进行投机执行。 争用管理器确保在以并行方式推测性地执行语句时从一个或多个推测执行的块抛出的任何异常以原始顺序的顺序进行处理。

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

    公开(公告)号:US07840530B2

    公开(公告)日:2010-11-23

    申请号:US11901494

    申请日:2007-09-18

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30362 G06F17/30368

    摘要: Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Releasing a duplicate write lock for rollback is supported. During rollback processing of a parallel nested transaction, a write log entry is encountered that represents a write lock. If the write lock is a duplicate, a global lock is used to synchronize access to a global versioned write lock map. Optimistic read validation is supported. During validation, if a versioned write lock indicates a sibling conflict, consult information to determine if a parallel nested transaction should be doomed. Write lock acquisition is supported. Upon attempting to acquire a write lock for a parallel nested transaction, a transactional memory word is analyzed to determine if the write lock can be obtained. If the transactional memory word indicates a versioned write lock, retrieve a write log entry pointer from a global versioned write lock map.

    摘要翻译: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和技术。 支持释放重复的写入锁回滚。 在并行嵌套事务的回滚处理期间,遇到表示写入锁定的写入日志条目。 如果写入锁是重复的,则使用全局锁来同步对全局版本的写锁定映射的访问。 支持乐观阅读验证。 在验证期间,如果版本控制的写锁定表示兄弟冲突,请咨询信息以确定并行嵌套事务是否应注定。 支持写入锁定。 在尝试获取并行嵌套事务的写入锁定时,分析事务存储器字以确定是否可以获得写入锁定。 如果事务内存字指示版本化的写锁定,则从全局版本的写锁定映射中检索写入日志条目指针。

    Software transactional protection of managed pointers
    24.
    发明授权
    Software transactional protection of managed pointers 有权
    管理指针的软件事务保护

    公开(公告)号:US08601456B2

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

    申请号:US11499191

    申请日:2006-08-04

    IPC分类号: G06F9/45

    摘要: Various technologies and techniques are disclosed that provide software transactional protection of managed pointers. A software transactional memory system interacts with and/or includes a compiler. At compile time, the compiler determines that there are one or more reference arguments in one or more code segments being compiled whose source cannot be recovered. The compiler executes a procedure to select one or more appropriate techniques or combinations thereof for communicating the sources of the referenced variables to the called code segments to ensure the referenced variables can be recovered when needed. Some examples of these techniques include a fattened by-ref technique, a static fattening technique, a dynamic ByRefInfo type technique, and others. One or more combinations of these techniques can be used as appropriate.

    摘要翻译: 公开了提供管理指针的软件事务保护的各种技术和技术。 软件事务内存系统与编译器交互和/或包含编译器。 在编译时,编译器确定在一个或多个代码段中有一个或多个引用参数被编译,其源无法恢复。 编译器执行一个过程以选择一个或多个适当的技术或其组合,用于将被引用变量的源传送到被调用代码段,以确保在需要时可以恢复所引用的变量。 这些技术的一些例子包括肥胖的补充技术,静态育肥技术,动态ByRefInfo类型技术等。 可以适当地使用这些技术的一种或多种组合。

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

    公开(公告)号:US08271464B2

    公开(公告)日:2012-09-18

    申请号:US12913596

    申请日:2010-10-27

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30362 G06F17/30368

    摘要: Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Releasing a duplicate write lock for rollback is supported. During rollback processing of a parallel nested transaction, a write log entry is encountered that represents a write lock. If the write lock is a duplicate, a global lock is used to synchronize access to a global versioned write lock map. Optimistic read validation is supported. During validation, if a versioned write lock indicates a sibling conflict, consult information to determine if a parallel nested transaction should be doomed. Write lock acquisition is supported. Upon attempting to acquire a write lock for a parallel nested transaction, a transactional memory word is analyzed to determine if the write lock can be obtained. If the transactional memory word indicates a versioned write lock, retrieve a write log entry pointer from a global versioned write lock map.

    摘要翻译: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和技术。 支持释放重复的写入锁回滚。 在并行嵌套事务的回滚处理期间,遇到表示写入锁定的写入日志条目。 如果写入锁是重复的,则使用全局锁来同步对全局版本的写锁定映射的访问。 支持乐观阅读验证。 在验证期间,如果版本控制的写锁定表示兄弟冲突,请咨询信息以确定并行嵌套事务是否应注定。 支持写入锁定。 在尝试获取并行嵌套事务的写入锁定时,分析事务存储器字以确定是否可以获得写入锁定。 如果事务内存字指示版本化的写锁定,则从全局版本的写锁定映射中检索写入日志条目指针。

    PARALLEL NESTED TRANSACTIONS IN TRANSACTIONAL MEMORY
    26.
    发明申请
    PARALLEL NESTED TRANSACTIONS IN TRANSACTIONAL MEMORY 有权
    并行存储器中的并行交易

    公开(公告)号:US20110040738A1

    公开(公告)日:2011-02-17

    申请号:US12913596

    申请日:2010-10-27

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30362 G06F17/30368

    摘要: Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Releasing a duplicate write lock for rollback is supported. During rollback processing of a parallel nested transaction, a write log entry is encountered that represents a write lock. If the write lock is a duplicate, a global lock is used to synchronize access to a global versioned write lock map. Optimistic read validation is supported. During validation, if a versioned write lock indicates a sibling conflict, consult information to determine if a parallel nested transaction should be doomed. Write lock acquisition is supported. Upon attempting to acquire a write lock for a parallel nested transaction, a transactional memory word is analyzed to determine if the write lock can be obtained. If the transactional memory word indicates a versioned write lock, retrieve a write log entry pointer from a global versioned write lock map.

    摘要翻译: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和技术。 支持释放重复的写入锁回滚。 在并行嵌套事务的回滚处理期间,遇到表示写入锁定的写入日志条目。 如果写入锁是重复的,则使用全局锁来同步对全局版本的写锁定映射的访问。 支持乐观阅读验证。 在验证期间,如果版本控制的写锁定表示兄弟冲突,请咨询信息以确定并行嵌套事务是否应注定。 支持写入锁定。 在尝试获取并行嵌套事务的写入锁定时,分析事务存储器字以确定是否可以获得写入锁定。 如果事务内存字指示版本化的写锁定,则从全局版本的写锁定映射中检索写入日志条目指针。

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

    公开(公告)号:US07890472B2

    公开(公告)日:2011-02-15

    申请号:US11901647

    申请日:2007-09-18

    IPC分类号: G06F17/30

    摘要: Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Multiple closed nested transactions are created for a single parent transaction, and the closed nested transactions are executed concurrently as parallel nested transactions. Various techniques are used to ensure effects of the parallel nested transactions are hidden from other transactions outside the parent transaction until the parent transaction commits. For example, versioned write locks are used with parallel nested transactions. When a transactional memory word changes from a write lock to a versioned write lock, an entry is made in a global versioned write lock map to store a pointer to a write log entry that the versioned write lock replaced. When the versioned write lock is encountered during transaction processing, the global versioned write lock map is consulted to translate the versioned write lock to the pointer to the write log entry.

    摘要翻译: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和技术。 为单个父事务创建多个封闭的嵌套事务,并且封闭的嵌套事务将作为并行嵌套事务并发执行。 使用各种技术来确保并行嵌套事务对父事务之外的其他事务的影响,直到父事务提交为止。 例如,版本化的写锁与并行嵌套事务一起使用。 当事务性内存单词从写入锁定更改为版本化写入锁定时,将在全局版本化写入锁定映射中创建一个条目,以存储指向版本化写入锁定替换的写入日志条目的指针。 当在事务处理期间遇到版本化的写锁时,请参考全局版本的写入锁定映射,以将版本化的写锁定转换为写入日志条目的指针。

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

    公开(公告)号:US20090006407A1

    公开(公告)日:2009-01-01

    申请号: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.

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

    Using type stability to facilitate contention management
    29.
    发明申请
    Using type stability to facilitate contention management 有权
    使用类型稳定性来促进竞争管理

    公开(公告)号:US20090006405A1

    公开(公告)日:2009-01-01

    申请号:US11824353

    申请日:2007-06-29

    IPC分类号: G06F17/30 G06F7/10

    CPC分类号: G06F9/467

    摘要: Various technologies and techniques are disclosed for providing type stability techniques to enhance contention management. A reference counting mechanism is provided that enables transactions to safely examine states of other transactions. Contention management is facilitated using the reference counting mechanism. When a conflict is detected between two transactions, owning transaction information is obtained. A reference count of the owning transaction is incremented. The system ensures that the correct transaction was incremented. If the owning transaction is still a conflicting transaction, then a contention management decision is made to determine proper resolution. When the decision is made, the reference count on the owning transaction is decremented by the conflicting transaction. When each transaction completes, the reference counts it holds to itself is decremented. Data structures cannot be deallocated until their reference count is zero. Dedicated type-stable allocation pools can be reduced using an unstable attribute.

    摘要翻译: 公开了用于提供类型稳定性技术以增强争用管理的各种技术和技术。 提供了引用计数机制,使得事务能够安全地检查其他事务的状态。 使用参考计数机制促进竞争管理。 当在两个事务之间检测到冲突时,获得拥有交易信息。 拥有交易的参考计数增加。 系统确保正确的事务增加。 如果拥有交易仍然是冲突交易,则进行争用管理决定以确定适当的分辨率。 当作出决定时,拥有交易的引用计数由冲突交易减少。 当每个事务完成时,它对自身的引用计数递减。 数据结构在引用计数为零之前不能被释放。 可以使用不稳定属性来减少专用类型稳定的分配池。

    Handling falsely doomed parents of nested transactions
    30.
    发明申请
    Handling falsely doomed parents of nested transactions 有权
    处理错误地注定了嵌套交易的父母

    公开(公告)号:US20090006404A1

    公开(公告)日:2009-01-01

    申请号:US11823162

    申请日:2007-06-27

    IPC分类号: G06F17/30

    摘要: Various technologies and techniques are disclosed for detecting falsely doomed parent transactions of nested children in transactional memory systems. When rolling back nested transactions, a release count is tracked each time that a write lock is released due to rollback for a given nested transaction. For example, a write abort compensation map can be used to track the release count for each nested transaction. The number of times the nested transactions releases a write lock is recorded in their respective write abort compensation map. The release counts can be used during a validation of a parent transaction to determine if a failed optimistic read is really valid. If an aggregated release count for the nested children transactions accounts for the difference in version numbers exactly, then the optimistic read is valid.

    摘要翻译: 公开了各种技术和技术,用于检测事务记忆系统中嵌套子女的错误注定的父事务。 当回滚嵌套事务时,每次释放写锁定是由于给定嵌套事务的回滚而被释放的。 例如,写入中止补偿映射可用于跟踪每个嵌套事务的发布计数。 嵌套事务释放写入锁定的次数记录在它们各自的写中止补偿映射中。 发布计数可以在验证父事务时使用,以确定失败的乐观读取是否真的有效。 如果嵌套子代交易的汇总发行计数正好说明了版本号的差异,则乐观读取有效。