会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Code preparation technique employing lock-free pointer operations
    • 采用无锁指针操作的代码准备技术
    • US07805467B2
    • 2010-09-28
    • US11343678
    • 2006-01-30
    • Mark S. MoirDavid L. DetlefsSimon DohertyMaurice P. HerlihyVictor M. LuchangcoPaul A. MartinGuy L. Steele, Jr.
    • Mark S. MoirDavid L. DetlefsSimon DohertyMaurice P. HerlihyVictor M. LuchangcoPaul A. MartinGuy L. Steele, Jr.
    • G06F12/00
    • G06F12/0261G06F9/46G06F9/526
    • A methodology has been discovered for transforming garbage collection-dependent algorithms, shared object implementations and/or concurrent software mechanisms into a form that does not presume the existence of an independent, or execution environment provided, garbage collector. Algorithms, shared object implementations and/or mechanisms designed or transformed using techniques described herein provide explicit reclamation of storage using lock-free pointer operations. Transformations can be applied to lock-free algorithms and shared object implementations and preserve lock-freedom of such algorithms and implementations. As a result, existing and future lock-free algorithms and shared object implementations that depend on a garbage-collected execution environment can be exploited in environments that do not provide garbage collection. Furthermore, algorithms and shared object implementations that employ explicit reclamation of storage using lock-free pointer operations such as described herein may be employed in the implementation of a garbage collector itself.
    • 已经发现了一种方法,用于将垃圾回收依赖算法,共享对象实现和/或并发软件机制转换为不假定存在独立或执行环境(垃圾收集器)的形式。 使用本文描述的技术设计或变换的算法,共享对象实现和/或机制使用无锁指针操作来提供存储的显式回收。 转换可以应用于无锁算法和共享对象实现,并保持这种算法和实现的锁定自由度。 因此,依赖于垃圾回收执行环境的现有和将来的无锁算法和共享对象实现可以在不提供垃圾回收的环境中被利用。 此外,使用如本文所述的无锁定指针操作的使用显式回收存储的算法和共享对象实现可以用于实现垃圾收集器本身。
    • 4. 发明授权
    • Lock free reference counting
    • 锁定自由引用计数
    • US06993770B1
    • 2006-01-31
    • US09837671
    • 2001-04-18
    • David L. DetlefsPaul A. MartinMark S. MoirGuy L. Steele, Jr.
    • David L. DetlefsPaul A. MartinMark S. MoirGuy L. Steele, Jr.
    • G06F9/54
    • G06F9/526G06F12/0261Y10S707/99944Y10S707/99947
    • We present a methodology for transforming concurrent data structure implementations that depend on garbage collection to equivalent implementations that do not. Assuming the existence of garbage collection makes it easier to design implementations of concurrent data structures, particularly because it eliminates the well-known ABA problem. However, this assumption limits their applicability. Our results demonstrate that, for a significant class of data structures, designers can first tackle the easier problem of an implementation that does depend on garbage collection, and then apply our methodology to achieve a garbage-collection-independent implementation. Our methodology is based on the well-known reference counting technique, and employs the double compare-and-swap operation.
    • 我们提出一种方法,用于将依赖于垃圾回收的并行数据结构实现转换为不具有相同的实现。 假设垃圾收集的存在使得设计并发数据结构的实现变得更加容易,特别是因为它消除了众所周知的ABA问题。 然而,这个假设限制了它们的适用性。 我们的研究结果表明,对于重要的数据结构类,设计人员可以首先解决实现依赖于垃圾回收的更容易的问题,然后应用我们的方法来实现与垃圾回收无关的实现。 我们的方法是基于众所周知的参考计数技术,并采用双重比较和交换操作。
    • 7. 发明授权
    • Maintaining a double-ended queue as a linked-list with sentinel nodes and delete flags with concurrent non-blocking insert and remove operations using a double compare-and-swap primitive
    • 将双端队列作为链接​​列表维护,并使用哨兵节点和删除标志,并发使用并发的非阻塞插入和删除操作,使用双重比较和交换原语
    • US07000234B1
    • 2006-02-14
    • US09547290
    • 2000-04-11
    • Nir N. ShavitPaul A. MartinGuy L. Steele, Jr.
    • Nir N. ShavitPaul A. MartinGuy L. Steele, Jr.
    • G06F9/54
    • G06F7/785G06F5/10G06F2205/064
    • A linked-list-based concurrent shared object implementation has been developed that provides non-blocking and linearizable access to the concurrent shared object. In an application of the underlying techniques to a deque, the linked-list-based algorithm allows non-blocking completion of access operations without restricting concurrency in accessing the deque's two ends. The new implementation is based at least in part on a new technique for splitting a pop operation into two steps, marking that a node is about to be deleted, and then deleting it. Once marked, the node logically deleted, and the actual deletion from the list can be deferred. In one realization, actual deletion is performed as part of a next push or pop operation performed at the corresponding end of the deque. An important aspect of the overall technique is synchronization of delete operations when processors detect that there are only marked nodes in the list and attempt to delete one or more of these nodes concurrently from both ends of the deque.
    • 已经开发了基于链接列表的并发共享对象实现,其提供对并发共享对象的非阻塞和线性化访问。 在基于deque的基础技术的应用中,基于链表的算法允许非阻塞地完成访问操作,而不会限制访问deque两端的并发性。 新的实现至少部分地基于用于将弹出操作分成两个步骤的新技术,标记节点即将被删除,然后删除它。 一旦标记,节点将被逻辑删除,并且可以推迟从列表中实际删除。 在一个实现中,实际删除被执行为在deque的对应端执行的下一个推或者弹出操作的一部分。 总体技术的一个重要方面是当处理器检测到列表中只有标记节点并且尝试从德克两端同时删除这些节点中的一个或多个时,删除操作的同步。
    • 8. 发明授权
    • Sequentially performed compound compare-and-swap
    • 顺序执行的复合比较和交换
    • US07890722B1
    • 2011-02-15
    • US11099720
    • 2005-04-06
    • Guy L. Steele, Jr.Ole AgesenNir N. Shavit
    • Guy L. Steele, Jr.Ole AgesenNir N. Shavit
    • G06F12/14
    • G06F9/524G06F9/30021G06F9/3004G06F9/30087
    • A sequentially performed implementation of a compound compare-and-swap (nCAS) operation has been developed. In one implementation, a double compare-and-swap (DCAS) operation does not result in a fault, interrupt, or trap in the situation where memory address A2 is invalid and the contents of memory address A1 are unequal to C1. In some realizations, memory locations addressed by a sequentially performed nCAS or DCAS instruction are reserved (e.g., locked) in a predefined order in accordance with a fixed total order of memory locations. In this way, deadlock between concurrently executed instances of sequentially performed nCAS instructions can be avoided. Other realizations defer responsibility for deadlock avoidance to the programmer.
    • 已经开发了顺序执行的复合比较和交换(nCAS)操作。 在一个实现中,在存储器地址A2无效并且存储器地址A1的内容不等于C1的情况下,双重比较和交换(DCAS)操作不会导致故障,中断或陷阱。 在一些实现中,依次执行的nCAS或DCAS指令寻址的存储器单元根据存储单元的固定总顺序以预定义的顺序被保留(例如锁定)。 以这种方式,可以避免顺序执行的nCAS指令的同时执行的实例之间的死锁。 其他实现方式将程序员的死锁责任推迟。
    • 9. 发明授权
    • Floating point system that represents status flag information within a floating point operand
    • 表示浮点运算符中的状态标志信息的浮点系统
    • US07395297B2
    • 2008-07-01
    • US10035747
    • 2001-12-28
    • Guy L. Steele, Jr.
    • Guy L. Steele, Jr.
    • G06F7/00
    • G06F7/483G06F5/012G06F5/015G06F7/4873G06F7/4876G06F7/49905G06F7/49942G06F9/30014G06F9/30094G06F9/3861G06F9/3885
    • A floating point unit generates results in which status information generated for an operation is encoded within the resulting operand, instead of requiring a separate floating point status register for the status information. In one embodiment, a floating point operand data structure includes a first portion having floating point operand data and a second portion having embedded status information associated with at least one status condition of the operand data. The status condition may be determined from only the embedded status information. The status condition may also be associated with at least one floating point operation that generated the operand data structure. The outcome of a conditional floating point instruction may be based on the embedded status information without regard to contents of the floating point status register. The second portion of the data structure may also have at least one bit indicative of the status condition, such as an invalid operation status, an overflow status, an underflow status, a division by zero status, an infinity status, and an inexact status.
    • 浮点单元产生结果,其中为操作生成的状态信息在结果操作数内被编码,而不是为状态信息需要单独的浮点状态寄存器。 在一个实施例中,浮点运算数据结构包括具有浮点运算数据的第一部分和具有与操作数数据的至少一个状态条件相关联的嵌入状态信息的第二部分。 状态条件可以仅从嵌入状态信息确定。 状态条件也可以与产生操作数数据结构的至少一个浮点运算相关联。 条件浮点指令的结果可以基于嵌入状态信息而不考虑浮点状态寄存器的内容。 数据结构的第二部分还可以具有指示状态条件的至少一个比特,例如无效操作状态,溢出状态,下溢状态,由零状态划分,无穷大状态和不精确状态。
    • 10. 发明授权
    • System and method for performing gloating point operations involving extended exponents
    • 执行包括扩展指数的小球点操作的系统和方法
    • US06993549B2
    • 2006-01-31
    • US10035581
    • 2001-12-28
    • Guy L. Steele, Jr.
    • Guy L. Steele, Jr.
    • G06F5/01G06F7/52
    • G06F7/4876G06F7/4873G06F7/49905G06F9/30014G06F9/30094G06F9/3822G06F9/3861G06F9/3885
    • An extended exponent floating point unit performs an extended exponent floating point operation on a plurality of operands to produce a product of the plurality of operands. The extended exponent floating point unit groups the plurality of operands into at least one group, determines a plurality of scale factors for the plurality of operands, respectively, and provides a running sum of the plurality of scale factors. The extended exponent floating point unit further scales the plurality of operands to obtain a plurality of scaled operands, multiplies the plurality of scaled operands to obtain a group product, and scales the group product to obtain a scaled group product. The scaled group product is adjusted based on the running sum. The plurality of operands are grouped such that when all the plurality of scaled operands in the at least one group are multiplied an overflow or underflow will not occur.
    • 扩展指数浮点单元对多个操作数执行扩展指数浮点运算,以产生多个操作数的乘积。 扩展指数浮点单元将多个操作数分组为至少一个组,分别确定多个操作数的多个比例因子,并提供多个比例因子的运行和。 扩展指数浮点单元进一步缩放多个操作数以获得多个缩放的操作数,将多个缩放的操作数相乘以获得组积,并对组乘积进行缩放以获得缩放的组积。 根据运行总和调整缩放组合产品。 多个操作数被分组,使得当至少一个组中的所有多个缩放的操作数相乘时,不会发生溢出或下溢。