Parallel nested transactions
    1.
    发明授权
    Parallel nested transactions 有权
    并行嵌套事务

    公开(公告)号:US08473950B2

    公开(公告)日:2013-06-25

    申请号:US12490287

    申请日:2009-06-23

    IPC分类号: G06F9/46 G06F17/00

    CPC分类号: G06F9/466

    摘要: A system for managing transactions, including a first reference cell associated with a starting value for a first variable, a first thread having an outer atomic transaction including a first instruction to write a first value to the first variable, a second thread, executing in parallel with the first thread, having an inner atomic transaction including a second instruction to write a second value to the first variable, where the inner atomic transaction is nested within the outer atomic transaction, a first value node created by the outer atomic transaction and storing the first value in response to execution of the first instruction, and a second value node created by the inner atomic transaction, storing the second value in response to execution of the second instruction, and having a previous node pointer referencing the first value node.

    摘要翻译: 一种用于管理事务的系统,包括与第一变量的起始值相关联的第一参考单元,具有包含向第一变量写入第一值的第一指令的外部原子事务的第一线程,并行执行的第二线程 具有第一线程,具有包含向第一变量写入第二值的第二指令的内部原子事务,其中内部原子事务嵌套在外部原子事务内,由外部原子事务创建的第一个值节点并存储 响应于第一指令的执行的第一值和由内部原子事务创建的第二值节点,响应于第二指令的执行存储第二值,并且具有引用第一值节点的先前节点指针。

    PARALLEL NESTED TRANSACTIONS
    2.
    发明申请
    PARALLEL NESTED TRANSACTIONS 有权
    并行交易

    公开(公告)号:US20100325630A1

    公开(公告)日:2010-12-23

    申请号:US12490287

    申请日:2009-06-23

    IPC分类号: G06F9/46

    CPC分类号: G06F9/466

    摘要: A system for managing transactions, including a first reference cell associated with a starting value for a first variable, a first thread having an outer atomic transaction including a first instruction to write a first value to the first variable, a second thread, executing in parallel with the first thread, having an inner atomic transaction including a second instruction to write a second value to the first variable, where the inner atomic transaction is nested within the outer atomic transaction, a first value node created by the outer atomic transaction and storing the first value in response to execution of the first instruction, and a second value node created by the inner atomic transaction, storing the second value in response to execution of the second instruction, and having a previous node pointer referencing the first value node.

    摘要翻译: 一种用于管理事务的系统,包括与第一变量的起始值相关联的第一参考单元,具有包含向第一变量写入第一值的第一指令的外部原子事务的第一线程,并行执行的第二线程 具有第一线程,具有包含向第一变量写入第二值的第二指令的内部原子事务,其中内部原子事务嵌套在外部原子事务内,由外部原子事务创建的第一个值节点并存储 响应于第一指令的执行的第一值和由内部原子事务创建的第二值节点,响应于第二指令的执行存储第二值,并且具有引用第一值节点的先前节点指针。

    Method and apparatus for dimensional analysis encoded in metatypes and generics
    3.
    发明授权
    Method and apparatus for dimensional analysis encoded in metatypes and generics 有权
    以元模式和仿制药编码的尺寸分析方法和装置

    公开(公告)号:US07530051B1

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

    申请号:US11034636

    申请日:2005-01-13

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/10 G06F8/24 G06F8/437

    摘要: In general, in one aspect, the invention relates to a method for integrating dimensional analysis in a program comprising defining a specific dimension class within the program, wherein the specific dimension class is an instance of the dimension meta-class, defining an instantiation of a unit class within the program, wherein the instantiation of the unit class comprises the specific dimension class as a type parameter associated with the instantiation of the unit class, defining a method within the program using the instantiation of the unit class and the specific dimension class, and compiling the program to generate an executable code corresponding to the program, wherein the program is written in an object-oriented language.

    摘要翻译: 一般来说,一方面,本发明涉及一种用于在程序中整合维度分析的方法,包括在程序内定义特定维度类别,其中特定维度类是维度元类的实例,定义一个 单元类的实例化,其中单元类的实例化将特定维类作为与单元类的实例相关联的类型参数,使用单元类和特定尺寸类的实例来定义程序中的方法, 以及编译所述程序以生成与所述程序相对应的可执行代码,其中所述程序以面向对象语言编写。

    Fast dispatch predicate for overloaded functions with generic type hierarchies that lack contravariance
    4.
    发明授权
    Fast dispatch predicate for overloaded functions with generic type hierarchies that lack contravariance 有权
    用于重载函数的快速调度谓词,具有缺乏对角线的泛型类型层次结构

    公开(公告)号:US08843887B2

    公开(公告)日:2014-09-23

    申请号:US13601730

    申请日:2012-08-31

    IPC分类号: G06F9/44

    CPC分类号: G06F9/449

    摘要: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system obtains a function call associated with an overloaded function and a generic type hierarchy that lacks contravariance. Next, the system determines an applicability of an implementation of the overloaded function to the function call. Finally, the system selects the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.

    摘要翻译: 所公开的实施例提供了便于开发和执行软件程序的系统。 在软件程序的运行期间,系统获得与重载功能相关联的功能调用和缺乏对角线的通用类型层次结构。 接下来,系统确定重载函数的实现对函数调用的适用性。 最后,系统根据确定的适用性和重载功能的部分实现顺序选择函数调用的实现。

    Software Transactional Memory for Dynamically Sizable Shared Data Structures
    5.
    发明申请
    Software Transactional Memory for Dynamically Sizable Shared Data Structures 有权
    用于动态相似的共享数据结构的软件事务内存

    公开(公告)号:US20110138134A1

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

    申请号:US13030992

    申请日:2011-02-18

    IPC分类号: G06F12/00

    摘要: We propose a new form of software transactional memory (STM) designed to support dynamic-sized data structures, and we describe a novel non-blocking implementation. The non-blocking property we consider is obstruction-freedom. Obstruction-freedom is weaker than lock-freedom; as a result, it admits substantially simpler and more efficient implementations. An interesting feature of our obstruction-free STM implementation is its ability to use of modular contention managers to ensure progress in practice.

    摘要翻译: 我们提出了一种旨在支持动态大小的数据结构的新形式的软件事务内存(STM),我们描述了一种新的非阻塞实现。 我们认为的非阻塞性是阻碍自由。 障碍自由弱于锁定自由; 因此,它承认基本上更简单和更有效的实现。 我们无障碍STM实施的一个有趣的特征是其使用模块化竞争管理人员确保实践进度的能力。

    SCALABLE READER-WRITER LOCK
    6.
    发明申请
    SCALABLE READER-WRITER LOCK 有权
    可扩展读写器锁定

    公开(公告)号:US20100241774A1

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

    申请号:US12406890

    申请日:2009-03-18

    IPC分类号: G06F13/14 G06F12/14

    CPC分类号: G06F9/52

    摘要: A reader-writer lock is provided that scales to accommodate multiple readers without contention. The lock comprises a hierarchical C-SNZI (Conditioned Scalable Non-Zero Indicator) structure that scales with the number readers seeking simultaneous acquisition of the lock. All readers that have joined the C-SNZI structure share concurrent acquisition, and additional readers may continue to join until the structure is disabled. The lock may be disabled by a writer, at which time subsequent readers will wait (e.g., in a wait queue) until the lock is again available. The C-SNZI structure may be implemented in a lockword or in reader entries within a wait queue. If implemented in reader entries of a wait queue, the lockword may be omitted, and new readers arriving at the queue may be able join an existing reader entry even if the reader entry is not at the tail of the queue.

    摘要翻译: 提供了读写器锁,可以扩展以适应多个读卡器而无需争用。 该锁包括分级C-SNZI(条件可扩展非零指示符)结构,其数字读取器寻求同时获取锁定。 加入C-SNZI结构的所有读者都会共享并购,另外读者也可以继续加入,直到结构被禁用。 锁可以被写入器禁用,随后的读取器将等待(例如,在等待队列中),直到锁再次可用。 C-SNZI结构可以以锁字或者在等待队列内的读取器条目中实现。 如果在等待队列的读取器条目中实现,则可以省略锁字,并且即使读取器条目不在队列的尾部,到达队列的新读取器也可以加入现有的读取器条目。

    Scalable reader-writer lock
    8.
    发明授权
    Scalable reader-writer lock 有权
    可扩展读写器锁

    公开(公告)号:US08504540B2

    公开(公告)日:2013-08-06

    申请号:US12406890

    申请日:2009-03-18

    IPC分类号: G06F17/30

    CPC分类号: G06F9/52

    摘要: A reader-writer lock is provided that scales to accommodate multiple readers without contention. The lock comprises a hierarchical C-SNZI (Conditioned Scalable Non-Zero Indicator) structure that scales with the number readers seeking simultaneous acquisition of the lock. All readers that have joined the C-SNZI structure share concurrent acquisition, and additional readers may continue to join until the structure is disabled. The lock may be disabled by a writer, at which time subsequent readers will wait (e.g., in a wait queue) until the lock is again available. The C-SNZI structure may be implemented in a lockword or in reader entries within a wait queue. If implemented in reader entries of a wait queue, the lockword may be omitted, and new readers arriving at the queue may be able join an existing reader entry even if the reader entry is not at the tail of the queue.

    摘要翻译: 提供了读写器锁,可以扩展以适应多个读卡器而无需争用。 该锁包括分级C-SNZI(条件可扩展非零指示符)结构,其数字读取器寻求同时获取锁定。 加入C-SNZI结构的所有读者都会共享并购,另外读者也可以继续加入,直到结构被禁用。 锁可以被写入器禁用,随后的读取器将等待(例如,在等待队列中),直到锁再次可用。 C-SNZI结构可以以锁字或者在等待队列内的读取器条目中实现。 如果在等待队列的读取器条目中实现,则可以省略锁字,并且即使读取器条目不在队列的尾部,到达队列的新读取器也可以加入现有的读取器条目。

    Obstruction-free synchronization for shared data structures
    9.
    发明授权
    Obstruction-free synchronization for shared data structures 有权
    共享数据结构无障碍同步

    公开(公告)号:US08244990B2

    公开(公告)日:2012-08-14

    申请号:US10620748

    申请日:2003-07-16

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

    摘要: We introduce obstruction-freedom—a new non-blocking condition for shared data structures that weakens the progress requirements of traditional nonblocking conditions, and as a result admits solutions that are significantly simpler and more efficient in the typical case of low contention. We demonstrate the merits of obstruction-freedom by showing how to implement an obstruction-free double-ended queue that has better properties than any previous nonblocking deque implementation of which we are aware. The beauty of obstruction-freedom is that we can modify and experiment with the contention management mechanisms without needing to modify (and therefore reverify) the underlying non-blocking algorithm. In contrast, work on different mechanisms for guaranteeing progress in the context of lock-free and wait-free algorithms has been hampered by the fact that modifications to the “helping” mechanisms has generally required the proofs for the entire algorithm to be done again.

    摘要翻译: 我们引入阻碍自由 - 一种新的非阻塞条件,用于共享数据结构,从而削弱传统非阻塞条件的进度要求,从而承认在低竞争的典型情况下,解决方案显着简化和更有效率。 我们通过展示如何实现无阻塞的双端口队列,证明阻塞自由的优点,该队列具有比以前任何我们所知道的任何以前的非阻塞deque实现更好的性能。 阻碍自由的优点在于,我们可以修改和尝试竞争管理机制,而无需修改(并因此重新验证)底层的非阻塞算法。 相比之下,在“无障碍和无等待”算法的上下文中保证进度的不同机制的工作受到以下事实的阻碍:对“帮助”机制的修改通常需要再次完成整个算法的证明。

    Software transactional memory for dynamically sizable shared data structures
    10.
    发明授权
    Software transactional memory for dynamically sizable shared data structures 有权
    用于动态大小的共享数据结构的软件事务内存

    公开(公告)号:US08176264B2

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

    申请号:US13030992

    申请日:2011-02-18

    IPC分类号: G06F12/00

    摘要: We propose a new form of software transactional memory (STM) designed to support dynamic-sized data structures, and we describe a novel non-blocking implementation. The non-blocking property we consider is obstruction-freedom. Obstruction-freedom is weaker than lock-freedom; as a result, it admits substantially simpler and more efficient implementations. An interesting feature of our obstruction-free STM implementation is its ability to use of modular contention managers to ensure progress in practice.

    摘要翻译: 我们提出了一种旨在支持动态大小的数据结构的新形式的软件事务内存(STM),并且我们描述了一种新的非阻塞实现。 我们认为的非阻塞性是阻碍自由。 障碍自由弱于锁定自由; 因此,它承认基本上更简单和更有效的实现。 我们无障碍STM实施的一个有趣的特征是其使用模块化竞争管理人员确保实践进度的能力。