-
公开(公告)号:US20090327291A1
公开(公告)日:2009-12-31
申请号:US12163402
申请日:2008-06-27
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原语配置为确保表示内存位置的卷影副本的地址不会在广泛的操作范围内发生变化,从而可以重新使用卷影副本。
-
公开(公告)号: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原语。
-
公开(公告)号:US20090327636A1
公开(公告)日:2009-12-31
申请号: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.
摘要翻译: 提供了一种软件事务存储器系统,其在对象头部的一部分中生成并存储压缩事务锁。 软件事务存储系统将优选的写日志存储器与对应于压缩事务锁中的多个位的预定义大小的存储器分配。 压缩事务锁在首选写入日志存储器中的相应写入日志中标识写入日志条目。 如果首选的写入日志内存已满,则会为写入日志条目分配额外的写入日志内存,而后续的事务锁存在未压缩的辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。 如果需要具有压缩事务锁定的对象标头进行另一次使用,压缩事务锁将被解压缩并存储在辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。
-
公开(公告)号: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原语。
-
公开(公告)号:US09047139B2
公开(公告)日:2015-06-02
申请号:US12163402
申请日:2008-06-27
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原语配置为确保表示内存位置的卷影副本的地址不会在广泛的操作范围内发生变化,从而可以重新使用卷影副本。
-
公开(公告)号: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.
摘要翻译: 提供了一种软件事务存储器系统,其在对象头部的一部分中生成并存储压缩事务锁。 软件事务存储系统将优选的写日志存储器与对应于压缩事务锁中的多个位的预定义大小的存储器分配。 压缩事务锁在首选写入日志存储器中的相应写入日志中标识写入日志条目。 如果首选的写入日志内存已满,则会为写入日志条目分配额外的写入日志内存,而后续的事务锁存在未压缩的辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。 如果需要具有压缩事务锁定的对象标头进行另一次使用,压缩事务锁将被解压缩并存储在辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。
-
公开(公告)号:US20100211931A1
公开(公告)日:2010-08-19
申请号:US12370742
申请日:2009-02-13
申请人: Yosseff Levanoni , David L. Detlefs , Weirong Zhu , Timothy L. Harris , Michael M. Magruder , Mathew B. Tolton
发明人: Yosseff Levanoni , David L. Detlefs , Weirong Zhu , Timothy L. Harris , Michael M. Magruder , Mathew B. Tolton
IPC分类号: G06F9/44
CPC分类号: G06F9/466 , G06F11/141
摘要: A software transactional memory system is provided with overflow handling. The system includes a global version counter with an epoch number and a version number. The system accesses the global version counter prior to and subsequent to memory accesses of transactions to validate read accesses of the transaction. The system includes mechanisms to detect global version number overflow and may allow some or all transactions to execute to completion subsequent to the global version number overflowing. The system also provides publication, privatization, and granular safety properties.
摘要翻译: 软件事务内存系统提供溢出处理。 该系统包括具有时代号和版本号的全局版本计数器。 系统在事务的内存访问之前和之后访问全局版本计数器,以验证事务的读取访问。 该系统包括检测全局版本号溢出的机制,并且可允许一些或所有事务在全球版本号码溢出之后执行完成。 该系统还提供出版物,私有化和粒状安全属性。
-
8.
公开(公告)号:US20090328019A1
公开(公告)日:2009-12-31
申请号:US12163902
申请日:2008-06-27
IPC分类号: G06F9/45
CPC分类号: G06F8/443 , G06F11/3624
摘要: A dynamic race detection system is provided that detects race conditions in code that executes concurrently in a computer system. The dynamic race detection system uses a modified software transactional memory (STM) system to detect race conditions. A compiler converts portions of the code that are not configured to operate with the STM system into pseudo STM code that operates with the STM system. The dynamic race detection system detects race conditions in response to either a pseudo STM transaction in the pseudo STM code failing to validate when executed or an actual STM transaction failing to validate when executed because of conflict with a concurrent pseudo STM transaction.
摘要翻译: 提供了一种动态竞争检测系统,其检测在计算机系统中并发执行的代码中的竞争条件。 动态竞争检测系统使用修改后的软件事务存储器(STM)系统来检测竞争条件。 编译器将未配置为与STM系统一起运行的代码部分转换为与STM系统一起运行的伪STM代码。 动态竞争检测系统响应于伪STM代码中的伪STM事务在执行时无法验证或由于与并发的伪STM事务冲突而被执行时实际的STM事务失败而检测到竞争条件。
-
公开(公告)号:US20110314244A1
公开(公告)日:2011-12-22
申请号:US12819499
申请日:2010-06-21
申请人: Sukhdeep S. Sodhi , Yosseff Levanoni , David L. Detlefs , Lingli Zhang , Weirong Zhu , Dana Groff , Michael M. Magruder , Charles David Callahan, II
发明人: Sukhdeep S. Sodhi , Yosseff Levanoni , David L. Detlefs , Lingli Zhang , Weirong Zhu , Dana Groff , Michael M. Magruder , Charles David Callahan, II
摘要: A software transactional memory (STM) system allows the composition of traditional lock based synchronization with transactions in STM code. The STM system acquires each traditional lock the first time that a corresponding traditional lock acquire is encountered inside a transaction and defers all traditional lock releases until a top level transaction in a transaction nest commits or aborts. The STM system maintains state information associated with traditional lock operations in transactions and uses the state information to eliminate deferred traditional lock operations that are redundant. The STM system integrates with systems that implement garbage collection.
摘要翻译: 软件事务存储器(STM)系统允许以STM代码的事务组合传统的基于锁的同步。 STM系统首次在交易中遇到相应的传统锁获取时,获取每个传统锁,并延迟所有传统的锁定版本,直到事务嵌套中的顶级事务提交或中止。 STM系统维护与事务中的传统锁定操作相关联的状态信息,并使用状态信息来消除冗余的延迟传统锁定操作。 STM系统与实施垃圾收集的系统集成。
-
10.
公开(公告)号:US08769514B2
公开(公告)日:2014-07-01
申请号:US12163902
申请日:2008-06-27
IPC分类号: G06F9/45
CPC分类号: G06F8/443 , G06F11/3624
摘要: A dynamic race detection system is provided that detects race conditions in code that executes concurrently in a computer system. The dynamic race detection system uses a modified software transactional memory (STM) system to detect race conditions. A compiler converts portions of the code that are not configured to operate with the STM system into pseudo STM code that operates with the STM system. The dynamic race detection system detects race conditions in response to either a pseudo STM transaction in the pseudo STM code failing to validate when executed or an actual STM transaction failing to validate when executed because of conflict with a concurrent pseudo STM transaction.
摘要翻译: 提供了一种动态竞争检测系统,其检测在计算机系统中并发执行的代码中的竞争条件。 动态竞争检测系统使用修改后的软件事务存储器(STM)系统来检测竞争条件。 编译器将未配置为与STM系统一起运行的代码部分转换为与STM系统一起运行的伪STM代码。 动态竞争检测系统响应于伪STM代码中的伪STM事务在执行时无法验证或由于与并发的伪STM事务冲突而被执行时实际的STM事务失败而检测到竞争条件。
-
-
-
-
-
-
-
-
-