Scalable and lock-free first-in-first-out queue implementation
    1.
    发明授权
    Scalable and lock-free first-in-first-out queue implementation 有权
    可扩展和无锁的先进先出队列实现

    公开(公告)号:US07836228B1

    公开(公告)日:2010-11-16

    申请号:US10966465

    申请日:2004-10-15

    CPC classification number: G06F9/544 G06F9/526

    Abstract: A scalable first-in-first-out queue implementation adjusts to load on a host system. The scalable FIFO queue implementation is lock-free and linearizable, and scales to large numbers of threads. The FIFO queue implementation includes a central queue and an elimination structure for eliminating enqueue-dequeue operation pairs. The elimination mechanism tracks enqueue operations and/or dequeue operations and eliminates without synchronizing on the FIFO queue implementation.

    Abstract translation: 可扩展的先进先出队列实现调整为在主机系统上加载。 可扩展的FIFO队列实现是无锁的和线性化的,并且可以扩展到大量的线程。 FIFO队列实现包括用于消除排队出队操作对的中心队列和消除结构。 消除机制跟踪排队操作和/或出队操作,并消除了在FIFO队列实现上没有同步的情况。

    Efficient Non-Blocking K-Compare-Single-Swap Operation

    公开(公告)号:US20080109608A1

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

    申请号:US11864667

    申请日:2007-09-28

    Abstract: The design of nonblocking linked data structures using single-location synchronization primitives such as compare-and-swap (CAS) is a complex affair that often requires severe restrictions on the way pointers are used. One way to address this problem is to provide stronger synchronization operations, for example, ones that atomically modify one memory location while simultaneously verifying the contents of others. We provide a simple and highly efficient nonblocking implementation of such an operation: an atomic k-word-compare single-swap operation (KCSS). Our implementation is obstruction-free. As a result, it is highly efficient in the uncontended case and relies on contention management mechanisms in the contended cases. It allows linked data structure manipulation without the complexity and restrictions of other solutions. Additionally, as a building block of some implementations of our techniques, we have developed the first nonblocking software implementation of load-linked/store-conditional that does not severely restrict word size.

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

    公开(公告)号:US20080098181A1

    公开(公告)日:2008-04-24

    申请号:US11961097

    申请日:2007-12-20

    CPC classification number: G06F9/524 G06F9/526 Y10S707/99944 Y10S707/99947

    Abstract: 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.

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

    Efficient Non-Blocking K-Compare-Single-Swap Operation

    公开(公告)号:US20080077775A1

    公开(公告)日:2008-03-27

    申请号:US11864649

    申请日:2007-09-28

    Abstract: The design of nonblocking linked data structures using single-location synchronization primitives such as compare-and-swap (CAS) is a complex affair that often requires severe restrictions on the way pointers are used. One way to address this problem is to provide stronger synchronization operations, for example, ones that atomically modify one memory location while simultaneously verifying the contents of others. We provide a simple and highly efficient nonblocking implementation of such an operation: an atomic k-word-compare single-swap operation (KCSS). Our implementation is obstruction-free. As a result, it is highly efficient in the uncontended case and relies on contention management mechanisms in the contended cases. It allows linked data structure manipulation without the complexity and restrictions of other solutions. Additionally, as a building block of some implementations of our techniques, we have developed the first nonblocking software implementation of load-linked/store-conditional that does not severely restrict word size.

    Concurrency technique for shared objects
    5.
    发明申请
    Concurrency technique for shared objects 审中-公开
    共享对象的并发技术

    公开(公告)号:US20060161737A1

    公开(公告)日:2006-07-20

    申请号:US11384627

    申请日:2006-03-20

    Abstract: In some embodiments, a Hat Trick deque requires only a single DCAS for most pushes and pops. The left and right ends do not interfere with each other until there is one or fewer items in the queue, and then a DCAS adjudicates between competing pops. By choosing a granularity greater than a single node, the user can amortize the costs of adding additional storage over multiple push (and pop) operations that employ the added storage. A suitable removal strategy can provide similar amortization advantages. The technique of leaving spare nodes linked in the structure allows an indefinite number of pushes and pops at a given deque end to proceed without the need to invoke memory allocation or reclamation so long as the difference between the number of pushes and the number of pops remains within given bounds. Both garbage collection dependent and explicit reclamation implementations are described.

    Abstract translation: 在一些实施例中,帽子技巧deque仅需要单个DCAS用于大多数按压和弹出。 在队列中有一个或多个项目之前,左右两端不会相互干扰,然后DCAS在竞争弹出之间进行裁决。 通过选择大于单个节点的粒度,用户可以通过使用添加的存储的多个推送(和弹出)操作来分摊添加附加存储的成本。 合适的清除策略可以提供类似的摊销优势。 在结构中链接的备用节点的技术允许在给定的deque端的无限数量的推送和弹出进行,而不需要调用内存分配或回收,只要推送次数和流量数之间的差异保持不变 在给定范围内。 描述垃圾收集相关和显式回收实现。

    Methods and apparatus to implement parallel transactions
    8.
    发明申请
    Methods and apparatus to implement parallel transactions 有权
    实现并行交易的方法和设备

    公开(公告)号:US20070239943A1

    公开(公告)日:2007-10-11

    申请号:US11699802

    申请日:2007-01-30

    CPC classification number: G06F9/466

    Abstract: The present disclosure describes a unique way for each of multiple processes to operate in parallel and use the same shared data without causing corruption to the shared data. For example, during a commit phase, a corresponding transaction can attempt to increment a globally accessible version information variable and store a current value of the globally accessible version information variable for updating version information associated with modified data regardless of whether an associated attempt by the corresponding transaction to modify the globally accessible version information variable was successful. As an alternative mode, a corresponding transaction can merely read and store a current value of the globally accessible version information variable without attempting to update the globally accessible version information variable before such use. In yet another application, a parallel processing environment implements a combination of both aforementioned modes depending on a self-abort rate of the transaction.

    Abstract translation: 本公开描述了多个进程中的每一个并行操作并使用相同的共享数据而不会对共享数据造成损坏的唯一方式。 例如,在提交阶段期间,相应的事务可以尝试增加全局可访问的版本信息变量并存储全局可访问版本信息变量的当前值,用于更新与经修改的数据相关联的版本信息,而不管相关联的尝试是否相应 修改全局可访问版本信息变量的事务成功。 作为替代模式,相应的事务只能读取和存储全局可访问版本信息变量的当前值,而不尝试在此类使用之前更新全局可访问版本信息变量。 在另一个应用中,并行处理环境根据交易的自我中止率实现两种上述模式的组合。

    Coordinating Synchronization Mechanisms using Transactional Memory
    9.
    发明申请
    Coordinating Synchronization Mechanisms using Transactional Memory 有权
    协调使用事务性内存的同步机制

    公开(公告)号:US20070186069A1

    公开(公告)日:2007-08-09

    申请号:US11694323

    申请日:2007-03-30

    Applicant: Mark Moir

    Inventor: Mark Moir

    Abstract: Transactional memory (TM) may be used in conjunction with various synchronization mechanisms, such as that copy a current version of an object, update the copy, and then cause the copy to become current atomically by changing a “current version” indicator. Software operations to modify an object may first make a private copy of the object, modify the private copy, and atomically make the private copy the current version while verifying that no other software operation or transaction has concurrently updated the object. A transaction may be used to update the current copy of a collection of data “in place” and thereby avoiding the necessity to make a copy of the data being modified. If the transactional memory mechanism is unable to complete the transaction to modify the collection of data in place, a set of software operations may be used to modify the collection of data.

    Abstract translation: 事务存储器(TM)可以与各种同步机制结合使用,例如复制对象的当前版本,更新副本,然后通过改变“当前版本”指示器使得拷贝变成当前的原始状态。 修改对象的软件操作可以首先制作对象的私有副本,修改私有副本,并且原子地使私有副本成为当前版本,同时验证没有其他软件操作或事务同时更新对象。 可以使用事务来更新当前的数据集“当前”的副本,从而避免使得要修改数据的副本的必要性。 如果事务性内存机制无法完成事务以修改数据的收集,则可以使用一组软件操作来修改数据的收集。

    Web browser system
    10.
    发明授权
    Web browser system 有权
    Web浏览器系统

    公开(公告)号:US07251682B2

    公开(公告)日:2007-07-31

    申请号:US10264156

    申请日:2002-10-03

    Applicant: Mark Moir

    Inventor: Mark Moir

    CPC classification number: G06F17/30899

    Abstract: A broadcast data receiver (BDR) is provided with a web browser system. A service provided by the web browser system si selectable by a user of the BDR and, when selected, is controllable by the user via a remote control handset, thereby allowing an Internet web site page for display on a display screen connected to or forming part of the BDR to be determined and one or more user options can be selected if required. One or more icons are generated on at least a portion of the display screen and each of the icons represents a button on the remote control handset. Each icon is mapped to a specific control function or option of the web browser, thereby allowing user selection of a web browser control function or option by selection of the appropriate button on the remote control handset.

    Abstract translation: 广播数据接收器(BDR)具有网络浏览器系统。 网络浏览器系统提供的服务可以由BDR的用户选择,并且当被选择时,可由用户经由遥控手持机控制,由此允许因特网网站页面显示在连接到或形成部分的显示屏幕上 的BDR,如果需要,可以选择一个或多个用户选项。 在显示屏幕的至少一部分上生成一个或多个图标,并且每个图标表示遥控手持机上的按钮。 每个图标被映射到web浏览器的特定控制功能或选项,从而允许用户通过选择遥控手持机上的适当按钮来选择网络浏览器控制功能或选项。

Patent Agency Ranking