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

    公开(公告)号:US07908255B2

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

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

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

    Garbage collector support for transactional memory
    2.
    发明授权
    Garbage collector support for transactional memory 有权
    垃圾收集器支持事务性内存

    公开(公告)号:US07747565B2

    公开(公告)日:2010-06-29

    申请号:US11389452

    申请日:2006-03-23

    IPC分类号: G06F17/30

    摘要: A software transactional memory system is described which utilizes decomposed software transactional memory instructions as well as runtime optimizations to achieve efficient performance. The decomposed instructions allow a compiler with knowledge of the instruction semantics to perform optimizations which would be unavailable on traditional software transactional memory systems. Additionally, high-level software transactional memory optimizations are performed such as code movement around procedure calls, addition of operations to provide strong atomicity, removal of unnecessary read-to-update upgrades, and removal of operations for newly-allocated objects. During execution, multi-use header words for objects are extended to provide for per-object housekeeping, as well as fast snapshots which illustrate changes to objects. Additionally, entries to software transactional memory logs are filtered using an associative table during execution, preventing needless writes to the logs. Finally a garbage collector with knowledge of the software transactional memory system compacts software transactional memory logs during garbage collection.

    摘要翻译: 描述了一种软件事务存储系统,其利用分解的软件事务存储器指令以及运行时优化来实现有效的性能。 分解的指令允许具有指令语义的知识的编译器执行在传统的软件事务存储器系统上不可用的优化。 此外,执行高级软件事务内存优化,例如围绕过程调用的代码移动,添加提供强原子性的操作,去除不必要的读取到更新升级以及删除新分配的对象的操作。 在执行期间,对象的多用标题字进行扩展,以提供每个对象的内务管理,以及快速快照,用于说明对象的更改。 此外,软件事务内存日志的条目在执行期间使用关联表进行过滤,从而防止对日志的不必要的写入。 最后,具有软件事务内存系统知识的垃圾收集器在垃圾收集期间压缩了软件事务内存日志。

    Lightweight transactional memory for data parallel programming
    3.
    发明授权
    Lightweight transactional memory for data parallel programming 有权
    用于数据并行编程的轻量级事务存储器

    公开(公告)号:US08806495B2

    公开(公告)日:2014-08-12

    申请号:US11824311

    申请日:2007-06-29

    IPC分类号: G06F9/46

    摘要: Described is a technology by which alternative use for transactional memory is provided, namely implementing atomic work items that are run asynchronously from their creation in a thread. Described are mechanisms by which threads control the work items that they have created. Atomic work items are scheduled on worker threads managed by the language's runtime system. Atomic work items can use retry to express condition synchronization, providing a general mechanism for controlling when and in what order they are executed. Work items may be grouped, with coordination managed among the grouped work items. Also described by way of example is a highly-parallel implementation of a Chaff satisfiability solver, comprising an example of an important group of applications, including theorem provers and constraint optimization systems.

    摘要翻译: 描述了一种通过其提供事务性存储器的替代使用的技术,即实现从线程中的创建异步运行的原子工作项。 描述了线程控制他们创建的工作项的机制。 原子工作项目被安排在由语言运行时系统管理的工作线程上。 原子工作项可以使用重试来表达条件同步,提供一种通用机制来控制它们执行的时间和顺序。 工作项目可以分组,在分组的工作项目之间进行协调管理。 还通过示例的方式描述了Chaff可满足性求解器的高度并行实现,其包括重要的应用组的示例,包括定理验证器和约束优化系统。

    Compiler support for optimizing decomposed software transactional memory operations
    4.
    发明授权
    Compiler support for optimizing decomposed software transactional memory operations 有权
    编译器支持优化分解的软件事务内存操作

    公开(公告)号:US08799882B2

    公开(公告)日:2014-08-05

    申请号:US11389451

    申请日:2006-03-23

    IPC分类号: G06F9/45

    CPC分类号: G06F9/466 G06F8/443

    摘要: A software transactional memory system is described which utilizes decomposed software transactional memory instructions as well as runtime optimizations to achieve efficient performance. The decomposed instructions allow a compiler with knowledge of the instruction semantics to perform optimizations which would be unavailable on traditional software transactional memory systems. Additionally, high-level software transactional memory optimizations are performed such as code movement around procedure calls, addition of operations to provide strong atomicity, removal of unnecessary read-to-update upgrades, and removal of operations for newly-allocated objects. During execution, multi-use header words for objects are extended to provide for per-object housekeeping, as well as fast snapshots which illustrate changes to objects. Additionally, entries to software transactional memory logs are filtered using an associative table during execution, preventing needless writes to the logs. Finally a garbage collector with knowledge of the software transactional memory system compacts software transactional memory logs during garbage collection.

    摘要翻译: 描述了一种软件事务存储系统,其利用分解的软件事务存储器指令以及运行时优化来实现有效的性能。 分解的指令允许具有指令语义的知识的编译器执行在传统的软件事务存储器系统上不可用的优化。 此外,执行高级软件事务内存优化,例如围绕过程调用的代码移动,添加提供强原子性的操作,去除不必要的读取到更新升级以及删除新分配的对象的操作。 在执行期间,对象的多用标题字进行扩展,以提供每个对象的内务管理,以及快速快照,用于说明对象的更改。 此外,软件事务内存日志的条目在执行期间使用关联表进行过滤,从而防止对日志的不必要的写入。 最后,具有软件事务内存系统知识的垃圾收集器在垃圾收集期间压缩了软件事务内存日志。

    Filtering of transactional memory operations using associative tables
    5.
    发明授权
    Filtering of transactional memory operations using associative tables 有权
    使用关联表过滤事务内存操作

    公开(公告)号:US07590806B2

    公开(公告)日:2009-09-15

    申请号:US11390540

    申请日:2006-03-23

    IPC分类号: G06F13/00 G06F13/28

    摘要: A software transactional memory system is described which utilizes decomposed software transactional memory instructions as well as runtime optimizations to achieve efficient performance. The decomposed instructions allow a compiler with knowledge of the instruction semantics to perform optimizations which would be unavailable on traditional software transactional memory systems. Additionally, high-level software transactional memory optimizations are performed such as code movement around procedure calls, addition of operations to provide strong atomicity, removal of unnecessary read-to-update upgrades, and removal of operations for newly-allocated objects. During execution, multi-use header words for objects are extended to provide for per-object housekeeping, as well as fast snapshots which illustrate changes to objects. Additionally, entries to software transactional memory logs are filtered using an associative table during execution, preventing needless writes to the logs. Finally a garbage collector with knowledge of the software transactional memory system compacts software transactional memory logs during garbage collection.

    摘要翻译: 描述了一种软件事务存储系统,其利用分解的软件事务存储器指令以及运行时优化来实现有效的性能。 分解的指令允许具有指令语义的知识的编译器执行在传统的软件事务存储器系统上不可用的优化。 此外,执行高级软件事务内存优化,例如围绕过程调用的代码移动,添加提供强原子性的操作,去除不必要的读取到更新升级以及删除新分配的对象的操作。 在执行期间,对象的多用标题字进行扩展,以提供每个对象的内务管理,以及快速快照,用于说明对象的更改。 此外,软件事务内存日志的条目在执行期间使用关联表进行过滤,从而防止对日志的不必要的写入。 最后,具有软件事务内存系统知识的垃圾收集器在垃圾收集期间压缩了软件事务内存日志。

    Lightweight transactional memory for data parallel programming
    6.
    发明申请
    Lightweight transactional memory for data parallel programming 有权
    用于数据并行编程的轻量级事务存储器

    公开(公告)号:US20080120455A1

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

    申请号:US11824311

    申请日:2007-06-29

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

    摘要: Described is a technology by which alternative use for transactional memory is provided, namely implementing atomic work items that are run asynchronously from their creation in a thread. Described are mechanisms by which threads control the work items that they have created. Atomic work items are scheduled on worker threads managed by the language's runtime system. Atomic work items can use retry to express condition synchronization, providing a general mechanism for controlling when and in what order they are executed. Work items may be grouped, with coordination managed among the grouped work items. Also described by way of example is a highly-parallel implementation of a Chaff satisfiability solver, comprising an example of an important group of applications, including theorem provers and constraint optimization systems.

    摘要翻译: 描述了一种通过其提供事务性存储器的替代使用的技术,即实现从线程中的创建异步运行的原子工作项。 描述了线程控制他们创建的工作项的机制。 原子工作项目被安排在由语言运行时系统管理的工作线程上。 原子工作项可以使用重试来表达条件同步,提供一种通用机制来控制它们执行的时间和顺序。 工作项目可以分组,在分组的工作项目之间进行协调管理。 还通过示例的方式描述了Chaff可满足性求解器的高度并行实现,其包括重要的应用组的示例,包括定理验证器和约束优化系统。

    Implementing strong atomicity in software transactional memory
    7.
    发明授权
    Implementing strong atomicity in software transactional memory 有权
    在软件事务记忆中实现强烈的原子性

    公开(公告)号:US08099726B2

    公开(公告)日:2012-01-17

    申请号:US11389334

    申请日:2006-03-23

    IPC分类号: G06F9/45

    摘要: A software transactional memory system is described which utilizes decomposed software transactional memory instructions as well as runtime optimizations to achieve efficient performance. The decomposed instructions allow a compiler with knowledge of the instruction semantics to perform optimizations which would be unavailable on traditional software transactional memory systems. Additionally, high-level software transactional memory optimizations are performed such as code movement around procedure calls, addition of operations to provide strong atomicity, removal of unnecessary read-to-update upgrades, and removal of operations for newly-allocated objects. During execution, multi-use header words for objects are extended to provide for per-object housekeeping, as well as fast snapshots which illustrate changes to objects. Additionally, entries to software transactional memory logs are filtered using an associative table during execution, preventing needless writes to the logs. Finally a garbage collector with knowledge of the software transactional memory system compacts software transactional memory logs during garbage collection.

    摘要翻译: 描述了一种软件事务存储系统,其利用分解的软件事务存储器指令以及运行时优化来实现有效的性能。 分解的指令允许具有指令语义的知识的编译器执行在传统的软件事务存储器系统上不可用的优化。 此外,执行高级软件事务内存优化,例如围绕过程调用的代码移动,添加提供强原子性的操作,去除不必要的读取到更新升级以及删除新分配的对象的操作。 在执行期间,对象的多用标题字进行扩展,以提供每个对象的内务管理,以及快速快照,用于说明对象的更改。 此外,软件事务内存日志的条目在执行期间使用关联表进行过滤,从而防止对日志的不必要的写入。 最后,具有软件事务内存系统知识的垃圾收集器在垃圾收集期间压缩了软件事务内存日志。

    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.

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

    Efficient placement of software transactional memory operations around procedure calls
    10.
    发明授权
    Efficient placement of software transactional memory operations around procedure calls 有权
    围绕过程调用高效地布置软件事务内存操作

    公开(公告)号:US08266609B2

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

    申请号:US11390549

    申请日:2006-03-23

    IPC分类号: G06F9/45

    摘要: A software transactional memory system is described which utilizes decomposed software transactional memory instructions as well as runtime optimizations to achieve efficient performance. The decomposed instructions allow a compiler with knowledge of the instruction semantics to perform optimizations unavailable on traditional software transactional memory systems. Additionally, high-level software transactional memory optimizations are performed such as code movement around procedure calls, addition of operations to provide strong atomicity, removal of unnecessary read-to-update upgrades, and removal of operations for newly-allocated objects. During execution, multi-use header words for objects are extended to provide for per-object housekeeping, as well as fast snapshots which illustrate changes to objects. Additionally, entries to software transactional memory logs are filtered using an associative table during execution, preventing needless writes to the logs. Finally a garbage collector with knowledge of the software transactional memory system compacts software transactional memory logs during garbage collection.

    摘要翻译: 描述了一种软件事务存储系统,其利用分解的软件事务存储器指令以及运行时优化来实现有效的性能。 分解的指令允许具有指令语义的知识的编译器执行在传统软件事务存储器系统上不可用的优化。 此外,执行高级软件事务内存优化,例如围绕过程调用的代码移动,添加提供强原子性的操作,去除不必要的读取到更新升级以及删除新分配的对象的操作。 在执行期间,对象的多用标题字进行扩展,以提供每个对象的内务管理,以及快速快照,用于说明对象的更改。 此外,软件事务内存日志的条目在执行期间使用关联表进行过滤,从而防止对日志的不必要的写入。 最后,具有软件事务内存系统知识的垃圾收集器在垃圾收集期间压缩了软件事务内存日志。