-
公开(公告)号:WO2009039120A3
公开(公告)日:2009-05-28
申请号:PCT/US2008076565
申请日:2008-09-16
Applicant: MICROSOFT CORP
Inventor: MAGRUDER MICHAEL M , DETLEFS DAVID , DUFFY JOHN JOSEPH , GRAEFE GOETZ , GROVER VINOD K
CPC classification number: G06F17/30356 , G06F17/30362
Abstract: 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.
Abstract translation: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和技术。 例如,支持悲观的读取。 为并行嵌套事务创建悲观重复检测数据结构。 在并行嵌套事务中,每个悲观读取的数据结构都会被输入。 在提交并行嵌套事务时,新的悲观读锁传递给一个直接的父类,并且一个条目被做成了一个单独的悲观的重复检测数据结构的直接父母同步的兄弟交易。 悲观的重复检测数据结构也可用于从悲观读取到写入锁的升级。 并行嵌套事务支持重试操作。 写入中止补偿映射可以与并行嵌套事务一起使用,以检测和处理错误注销的父事务。
-
公开(公告)号:WO2009039119A3
公开(公告)日:2009-05-14
申请号:PCT/US2008076564
申请日:2008-09-16
Applicant: MICROSOFT CORP
Inventor: MAGRUDER MICHAEL M , DETLEFS DAVID , DUFFY JOHN JOSEPH , GRAEFE GOETZ , GROVER VINOD K
CPC classification number: G06F17/30362 , G06F17/30368
Abstract: 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.
Abstract translation: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和技术。 支持回滚重复写入锁定。 在并行嵌套事务的回滚处理期间,遇到表示写入锁定的写入日志条目。 如果写入锁定是重复的,则使用全局锁定来同步对全局版本化写入锁定映射的访问。 乐观的读取验证支持。 在验证过程中,如果版本化的写入锁定指示兄弟冲突,请参考信息以确定并行嵌套事务是否应注定。 写锁获取被支持。 在尝试获取并行嵌套事务的写锁时,会分析事务性内存字以确定是否可以获取写锁。 如果事务存储器字指示版本化写入锁,则从全局版本化写入锁定图中检索写入日志条目指针。
-
公开(公告)号:WO2009039118A3
公开(公告)日:2009-05-28
申请号:PCT/US2008076563
申请日:2008-09-16
Applicant: MICROSOFT CORP
Inventor: MAGRUDER MICHAEL M , DETLEFS DAVID , DUFFY JOHN JOSEPH , GRAEFE GOETZ , GROVER VINOD K
CPC classification number: G06F9/467 , G06F17/30356 , G06F17/30359 , G06F17/30362
Abstract: 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.
Abstract translation: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和技术。 为单个父事务创建多个封闭的嵌套事务,并且封闭的嵌套事务将作为并行嵌套事务并发执行。 使用各种技术来确保并行嵌套事务对父事务之外的其他事务的影响,直到父事务提交为止。 例如,版本化的写锁与并行嵌套事务一起使用。 当事务性内存单词从写入锁定更改为版本化写入锁定时,将在全局版本化写入锁定映射中创建一个条目,以存储指向版本化写入锁定替换的写入日志条目的指针。 当在事务处理期间遇到版本化的写锁时,请参考全局版本的写入锁定映射,以将版本化的写锁定转换为写入日志条目的指针。
-
公开(公告)号:WO2009002754A3
公开(公告)日:2009-02-19
申请号:PCT/US2008067145
申请日:2008-06-16
Applicant: MICROSOFT CORP
Inventor: MAGRUDER MICHAEL M , DETLEFS DAVID , DUFFY JOHN JOSEPH , GRAEFE GOETZ , GROVER VINOD K
IPC: G06F12/00
CPC classification number: G06F17/30356 , G06F9/467 , G06F17/30362
Abstract: [029] 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.
Abstract translation: 公开了各种技术和技术,用于检测事务存储器系统中嵌套子代的错误地注定的父事务。 当回滚嵌套事务时,每次释放写锁定是由于给定嵌套事务的回滚而被释放的。 例如,写入中止补偿映射可用于跟踪每个嵌套事务的发布计数。 嵌套事务释放写入锁定的次数记录在它们各自的写中止补偿映射中。 发布计数可以在验证父事务时使用,以确定失败的乐观读取是否真的有效。 如果嵌套子代交易的汇总发行计数正好说明了版本号的差异,则乐观读取有效。
-
-
-