DETECTING RACE CONDITIONS WITH A SOFTWARE TRANSACTIONAL MEMORY SYSTEM
    51.
    发明申请
    DETECTING RACE CONDITIONS WITH A SOFTWARE TRANSACTIONAL MEMORY SYSTEM 有权
    用软件交易记忆系统检测环境条件

    公开(公告)号: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事务失败而检测到竞争条件。

    OPTIMIZING PRIMITIVES IN SOFTWARE TRANSACTIONAL MEMORY
    52.
    发明申请
    OPTIMIZING PRIMITIVES IN SOFTWARE TRANSACTIONAL MEMORY 有权
    软件交易记忆中的优化原则

    公开(公告)号: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原语。

    COMPRESSED TRANSACTIONAL LOCKS IN OBJECT HEADERS
    53.
    发明申请
    COMPRESSED TRANSACTIONAL LOCKS IN OBJECT HEADERS 有权
    对象头部压缩的交互锁

    公开(公告)号:US20090327636A1

    公开(公告)日:2009-12-31

    申请号:US12163788

    申请日:2008-06-27

    IPC分类号: G06F12/14 G06F17/30

    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.

    摘要翻译: 提供了一种软件事务存储器系统,其在对象头部的一部分中生成并存储压缩事务锁。 软件事务存储系统将优选的写日志存储器与对应于压缩事务锁中的多个位的预定义大小的存储器分配。 压缩事务锁在首选写入日志存储器中的相应写入日志中标识写入日志条目。 如果首选的写入日志内存已满,则会为写入日志条目分配额外的写入日志内存,而后续的事务锁存在未压缩的辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。 如果需要具有压缩事务锁定的对象标头进行另一次使用,压缩事务锁将被解压缩并存储在辅助存储器中。 可用于定位未压缩事务锁的指针存储在标题中。

    Parallelizing sequential frameworks using transactions
    54.
    发明申请
    Parallelizing sequential frameworks using transactions 有权
    使用事务并行化顺序框架

    公开(公告)号:US20080120299A1

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

    申请号:US11810121

    申请日:2007-06-04

    IPC分类号: G06F17/30

    CPC分类号: G06F8/452 G06F9/467

    摘要: Various technologies and techniques are disclosed for transforming a sequential loop into a parallel loop for use with a transactional memory system. A transactional memory system is provided. A first section of code containing an original sequential loop is transformed into a second section of code containing a parallel loop that uses transactions to preserve an original input to output mapping. For example, the original sequential loop can be transformed into a parallel loop by taking each iteration of the original sequential loop and generating a separate transaction that follows a pre-determined commit order process. At least some of the separate transactions are executed in different threads. When an unhandled exception is detected that occurs in a particular transaction while the parallel loop is executing, state modifications made by the particular transaction and predecessor transactions are committed, and state modifications made by successor transactions are discarded.

    摘要翻译: 公开了各种技术和技术,用于将顺序循环变换成用于事务存储器系统的并行循环。 提供事务性存储系统。 包含原始顺序循环的第一部分代码被转换为包含并行循环的代码的第二部分,其使用事务来保留原始输入以输出映射。 例如,原始顺序循环可以通过采取原始顺序循环的每次迭代并生成遵循预定的提交订单处理的单独事务来转换成并行循环。 至少一些单独的事务在不同的线程中执行。 当在并行循环执行时检测到在特定事务中发生的未处理异常时,由特定事务和前导事务进行的状态修改被提交,并且由后继事务进行的状态修改被丢弃。

    Scalable transformation and tree based query language node - set selection
    55.
    发明申请
    Scalable transformation and tree based query language node - set selection 有权
    可扩展变换和基于树的查询语言节点集选择

    公开(公告)号:US20070005624A1

    公开(公告)日:2007-01-04

    申请号:US11171803

    申请日:2005-06-30

    IPC分类号: G06F7/00

    摘要: A method and apparatus for transforming large messages using a scalable process. This scalable process decomposes the message into nodes and node values. Navigation between related tree node tree is carried out based upon the decomposed message. Following decomposition a first node to be transformed is retrieved. Following retrieval of the first node a second node to be transformed is requested. The process obtains the node from the node files. This process repeats until the message is transformed.

    摘要翻译: 一种用于使用可缩放过程来转换大消息的方法和装置。 该可扩展过程将消息分解为节点和节点值。 基于分解消息执行相关树节点树之间的导航。 在分解之后,检索要转换的第一个节点。 在检索到第一个节点之后,请求要转换的第二个节点。 该过程从节点文件中获取节点。 该过程重复,直到消息被转换为止。

    Optimizing primitives in software transactional memory
    56.
    发明授权
    Optimizing primitives in software transactional memory 有权
    优化软件事务内存中的原语

    公开(公告)号: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原语。

    Parallelizing sequential frameworks using transactions
    57.
    发明授权
    Parallelizing sequential frameworks using transactions 有权
    使用事务并行化顺序框架

    公开(公告)号:US08402447B2

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

    申请号:US13189639

    申请日:2011-07-25

    IPC分类号: G06F9/45

    CPC分类号: G06F9/466 G06F8/456 G06F9/52

    摘要: Various technologies and techniques are disclosed for transforming a sequential loop into a parallel loop for use with a transactional memory system. Open ended and/or closed ended sequential loops can be transformed to parallel loops. For example, a section of code containing an original sequential loop is analyzed to determine a fixed number of iterations for the original sequential loop. The original sequential loop is transformed into a parallel loop that can generate transactions in an amount up to the fixed number of iterations. As another example, an open ended sequential loop can be transformed into a parallel loop that generates a separate transaction containing a respective work item for each iteration of a speculation pipeline. The parallel loop is then executed using the transactional memory system, with at least some of the separate transactions being executed on different threads.

    摘要翻译: 公开了各种技术和技术,用于将顺序循环变换成用于事务存储器系统的并行循环。 开放式和/或封闭式顺序循环可以转换为并行循环。 例如,分析包含原始顺序循环的代码段以确定原始顺序循环的固定次数的迭代。 原始的顺序循环被转换成并行循环,其可以产生高达固定次数的事务。 作为另一示例,开放式顺序循环可以被转换成并行循环,其生成包含用于投机管道的每次迭代的相应工作项的单独事务。 然后使用事务存储器系统执行并行循环,其中至少一些单独的事务在不同的线程上执行。

    Parallelizing sequential frameworks using transactions
    59.
    发明授权
    Parallelizing sequential frameworks using transactions 有权
    使用事务并行化顺序框架

    公开(公告)号:US08024714B2

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

    申请号:US11810111

    申请日:2007-06-04

    IPC分类号: G06F9/45

    CPC分类号: G06F9/466 G06F8/456 G06F9/52

    摘要: Various technologies and techniques are disclosed for transforming a sequential loop into a parallel loop for use with a transactional memory system. Open ended and/or closed ended sequential loops can be transformed to parallel loops. For example, a section of code containing an original sequential loop is analyzed to determine a fixed number of iterations for the original sequential loop. The original sequential loop is transformed into a parallel loop that can generate transactions in an amount up to the fixed number of iterations. As another example, an open ended sequential loop can be transformed into a parallel loop that generates a separate transaction containing a respective work item for each iteration of a speculation pipeline. The parallel loop is then executed using the transactional memory system, with at least some of the separate transactions being executed on different threads.

    摘要翻译: 公开了各种技术和技术,用于将顺序循环变换成用于事务存储器系统的并行循环。 开放式和/或封闭式顺序循环可以转换为并行循环。 例如,分析包含原始顺序循环的代码段以确定原始顺序循环的固定次数的迭代。 原始的顺序循环被转换成并行循环,其可以产生高达固定次数的事务。 作为另一示例,开放式顺序循环可以被转换成并行循环,其生成包含用于投机管道的每次迭代的相应工作项的单独事务。 然后使用事务存储器系统执行并行循环,其中至少一些单独的事务在不同的线程上执行。

    Parallelizing sequential frameworks using transactions
    60.
    发明授权
    Parallelizing sequential frameworks using transactions 有权
    使用事务并行化顺序框架

    公开(公告)号:US08010550B2

    公开(公告)日:2011-08-30

    申请号:US11810121

    申请日:2007-06-04

    IPC分类号: G06F17/30

    CPC分类号: G06F8/452 G06F9/467

    摘要: Various technologies and techniques are disclosed for transforming a sequential loop into a parallel loop for use with a transactional memory system. A transactional memory system is provided. A first section of code containing an original sequential loop is transformed into a second section of code containing a parallel loop that uses transactions to preserve an original input to output mapping. For example, the original sequential loop can be transformed into a parallel loop by taking each iteration of the original sequential loop and generating a separate transaction that follows a pre-determined commit order process. At least some of the separate transactions are executed in different threads. When an unhandled exception is detected that occurs in a particular transaction while the parallel loop is executing, state modifications made by the particular transaction and predecessor transactions are committed, and state modifications made by successor transactions are discarded.

    摘要翻译: 公开了各种技术和技术,用于将顺序循环变换成用于事务存储器系统的并行循环。 提供事务性存储系统。 包含原始顺序循环的第一部分代码被转换为包含并行循环的代码的第二部分,其使用事务来保留原始输入以输出映射。 例如,原始顺序循环可以通过采取原始顺序循环的每次迭代并生成遵循预定的提交订单处理的单独事务来转换成并行循环。 至少一些单独的事务在不同的线程中执行。 当在并行循环执行时检测到在特定事务中发生的未处理异常时,由特定事务和前导事务进行的状态修改被提交,并且由后继事务进行的状态修改被丢弃。