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

    公开(公告)号:US20110138145A1

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

    申请号:US13027938

    申请日:2011-02-15

    IPC分类号: G06F12/00

    摘要: 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.

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

    Combined pessimistic and optimistic concurrency control
    2.
    发明授权
    Combined pessimistic and optimistic concurrency control 有权
    综合悲观和乐观并发控制

    公开(公告)号:US07676638B2

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

    申请号:US12197043

    申请日:2008-08-22

    IPC分类号: G06F12/00

    摘要: Various technologies and techniques are disclosed that improve implementation of concurrency control modes in a transactional memory system. A transactional memory word is provided for each piece of data. The transactional memory word includes a version number, a reader indicator, and an exclusive writer indicator. The transactional memory word is analyzed to determine if the particular concurrency control mode is proper. Using the transactional memory word to help with concurrency control allows multiple combinations of operations to be performed against the same memory location simultaneously and/or from different transactions. For example, a pessimistic read operation and an optimistic read operation can be performed against the same memory location.

    摘要翻译: 公开了改进事务存储器系统中并发控制模式的实现的各种技术和技术。 为每条数据提供事务记忆字。 事务存储器字包括版本号,读取器指示符和专用写入器指示符。 分析事务性存储器字以确定特定的并发控制模式是否合适。 使用事务存储器字来帮助并发控制允许对同一存储位置同时和/或从不同的事务执行多个操作组合。 例如,可以针对相同的存储器位置执行悲观的读取操作和乐观的读取操作。

    Efficient retry for transactional memory
    3.
    发明申请
    Efficient retry for transactional memory 有权
    高效重试事务记忆

    公开(公告)号:US20090007070A1

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

    申请号:US11823211

    申请日:2007-06-27

    IPC分类号: G06F9/44

    摘要: 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.

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

    COMBINED PESSIMISTIC AND OPTIMISTIC CONCURRENCY CONTROL
    4.
    发明申请
    COMBINED PESSIMISTIC AND OPTIMISTIC CONCURRENCY CONTROL 有权
    组合式和最优协调控制

    公开(公告)号:US20080319997A1

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

    申请号:US12197043

    申请日:2008-08-22

    IPC分类号: G06F17/30

    摘要: Various technologies and techniques are disclosed that improve implementation of concurrency control modes in a transactional memory system. A transactional memory word is provided for each piece of data. The transactional memory word includes a version number, a reader indicator, and an exclusive writer indicator. The transactional memory word is analyzed to determine if the particular concurrency control mode is proper. Using the transactional memory word to help with concurrency control allows multiple combinations of operations to be performed against the same memory location simultaneously and/or from different transactions. For example, a pessimistic read operation and an optimistic read operation can be performed against the same memory location.

    摘要翻译: 公开了改进事务存储器系统中并发控制模式的实现的各种技术和技术。 为每条数据提供事务记忆字。 事务存储器字包括版本号,读取器指示符和专用写入器指示符。 分析事务性存储器字以确定特定的并发控制模式是否合适。 使用事务存储器字来帮助并发控制允许对同一存储位置同时和/或从不同的事务执行多个操作组合。 例如,可以针对相同的存储器位置执行悲观的读取操作和乐观的读取操作。

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

    公开(公告)号:US20080120300A1

    公开(公告)日:2008-05-22

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

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

    Finalizable object usage in software transactions
    7.
    发明授权
    Finalizable object usage in software transactions 有权
    软件交易中的可终止对象使用

    公开(公告)号:US07650371B2

    公开(公告)日:2010-01-19

    申请号:US11639021

    申请日:2006-12-14

    IPC分类号: G06F7/00

    摘要: Various technologies and techniques are disclosed for providing a software transactional memory system that supports allocation and use of finalizable objects inside transactions. By supporting such finalizable object usage inside a software transactional memory system, correct behavior is maintained when a garbage collector must determine when a particular one or more of the objects are eligible for finalization. A to-be-finalized set is provided for a transaction. An object is placed into the to-be-finalized set for the transaction whenever a finalizable object is allocated within the transaction. A finalize indicator is set for each object in the to-be-finalized set at an appropriate time to indicate that the objects are eligible for finalization. For example, if the transaction is ready to commit and the transaction is an open transaction, then the to-be-finalized set is traversed and a finalize indicator is set for each object to indicate they are eligible for finalization.

    摘要翻译: 公开了各种技术和技术,用于提供支持交易内部可完成对象的分配和使用的软件事务性存储器系统。 通过在软件事务内存系统中支持这种可终止的对象使用,当垃圾收集器必须确定何时特定的一个或多个对象有资格进行最终确定时,将维持正确的行为。 为交易提供一个即将完成的集合。 每当在事务中分配一个可终结的对象时,一个对象被放置到事务处理的集合中。 在适当的时间为待确定的集合中的每个对象设置一个最终化指标,以指示对象有资格进行最终确定。 例如,如果事务准备好提交并且事务是开放事务,则将遍历待定的集合,并为每个对象设置一个终结指示符,以指示它们有资格进行最终确定。

    Transactional memory using buffered writes and enforced serialization order
    8.
    发明申请
    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.

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

    Finalizable object usage in software transactions
    9.
    发明申请
    Finalizable object usage in software transactions 有权
    软件交易中的可终止对象使用

    公开(公告)号:US20080147757A1

    公开(公告)日:2008-06-19

    申请号:US11639021

    申请日:2006-12-14

    IPC分类号: G06F17/30 G06F12/00

    摘要: Various technologies and techniques are disclosed for providing a software transactional memory system that supports allocation and use of finalizable objects inside transactions. By supporting such finalizable object usage inside a software transactional memory system, correct behavior is maintained when a garbage collector must determine when a particular one or more of the objects are eligible for finalization. A to-be-finalized set is provided for a transaction. An object is placed into the to-be-finalized set for the transaction whenever a finalizable object is allocated within the transaction. A finalize indicator is set for each object in the to-be-finalized set at an appropriate time to indicate that the objects are eligible for finalization. For example, if the transaction is ready to commit and the transaction is an open transaction, then the to-be-finalized set is traversed and a finalize indicator is set for each object to indicate they are eligible for finalization.

    摘要翻译: 公开了各种技术和技术,用于提供支持交易内部可完成对象的分配和使用的软件事务性存储器系统。 通过在软件事务内存系统中支持这种可终止的对象使用,当垃圾收集器必须确定何时特定的一个或多个对象有资格进行最终确定时,将维持正确的行为。 为交易提供一个即将完成的集合。 每当在事务中分配一个可终结的对象时,一个对象被放置到事务处理的集合中。 在适当的时间为待确定的集合中的每个对象设置一个最终化指标,以指示对象有资格进行最终确定。 例如,如果事务准备好提交并且事务是开放事务,则将遍历待定的集合,并为每个对象设置一个终结指示符,以指示它们有资格进行最终确定。

    Support for stack read and write operations
    10.
    发明申请
    Support for stack read and write operations 有权
    支持堆栈读写操作

    公开(公告)号:US20080127150A1

    公开(公告)日:2008-05-29

    申请号:US11499012

    申请日:2006-08-04

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443 G06F9/466

    摘要: Various technologies and techniques facilitate stack read and write operations in a software transactional memory system. If the compiler determines that an address for a variable in a code segment is a stack location, the stack location is live on entry, and the address of the variable has not been taken and passed to another thread, the code is changed to ensure failure atomicity. One example includes modifying the code so a shadow copy is saved for local variables that are live on entry. If the same prior criteria are true except the stack location is not live on entry, the code is optimized by ensuring code for logging and software transactional memory operations are not included. If the compiler does not know the address is the stack location or that the address is not passed to another thread, the code is changed to ensure failure and concurrency atomicity.

    摘要翻译: 各种技术和技术有助于在软件事务存储系统中的堆栈读写操作。 如果编译器确定代码段中的变量的地址是堆栈位置,则堆栈位置是实时的,并且变量的地址未被采用并传递给另一个线程,代码被更改以确保失败 原子性。 一个例子包括修改代码,以便为存在于条目的局部变量保存卷影副本。 如果相同的先前条件是真实的,除了堆栈位置不存在进入,则通过确保不包括日志记录代码和软件事务内存操作来优化代码。 如果编译器不知道地址是堆栈位置还是地址未传递给另一个线程,则代码将被更改以确保失败和并发原子性。