会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 2. 发明申请
    • Lock-free double-ended queue based on a dynamic ring
    • 基于动态环的无锁双端队列
    • US20070157214A1
    • 2007-07-05
    • US11325209
    • 2006-01-03
    • Paul MartinGuy SteeleChristine Flood
    • Paul MartinGuy SteeleChristine Flood
    • G06F9/46
    • G06F9/52G06F7/785G06F9/544
    • One embodiment of the present invention provides a system that facilitates performing operations on a lock-free double-ended queue (deque). This deque is implemented as a doubly-linked list of nodes formed into a ring, so that node pointers in one direction form an inner ring, and node pointers in the other direction form an outer ring. The deque has an inner hat, which points to a node next to the last occupied node along the inner ring, and an outer hat, which points to a node next to the last occupied node along the outer ring. The system uses a double compare-and-swap (DCAS) operation while performing pop and push operations onto either end of the deque, as well as growing and shrinking operations to change the number of nodes that are in the ring used by the deque.
    • 本发明的一个实施例提供一种有助于在无锁双端队列(deque)上执行操作的系统。 该deque被实现为形成环的节点的双向链表,使得在一个方向上的节点指针形成内环,并且在另一方向上的节点指针形成外环。 德克有一个内帽,它指向沿着内圈的最后一个占用节点旁边的一个节点,以及一个外帽,它指向沿着外圈的最后占用节点旁边的一个节点。 系统使用双重比较和交换(DCAS)操作,同时在deque的任一端执行弹出和推送操作,以及增长和缩小操作以更改由deque使用的环中的节点数。
    • 5. 发明申请
    • Concurrency technique for shared objects
    • 共享对象的并发技术
    • US20060161737A1
    • 2006-07-20
    • US11384627
    • 2006-03-20
    • Paul MartinDavid DetlefsAlexander GarthwaiteGuy SteeleMark Moir
    • Paul MartinDavid DetlefsAlexander GarthwaiteGuy SteeleMark Moir
    • G06F13/28
    • G06F7/785G06F9/30032G06F9/526G06F9/544G06F2205/064G06F2209/521
    • 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.
    • 在一些实施例中,帽子技巧deque仅需要单个DCAS用于大多数按压和弹出。 在队列中有一个或多个项目之前,左右两端不会相互干扰,然后DCAS在竞争弹出之间进行裁决。 通过选择大于单个节点的粒度,用户可以通过使用添加的存储的多个推送(和弹出)操作来分摊添加附加存储的成本。 合适的清除策略可以提供类似的摊销优势。 在结构中链接的备用节点的技术允许在给定的deque端的无限数量的推送和弹出进行,而不需要调用内存分配或回收,只要推送次数和流量数之间的差异保持不变 在给定范围内。 描述垃圾收集相关和显式回收实现。
    • 7. 发明申请
    • Circuit for selectively providing maximum or minimum of a pair of floating point operands
    • US20060242215A1
    • 2006-10-26
    • US11394080
    • 2006-03-31
    • Guy Steele
    • Guy Steele
    • G06F7/00
    • G06F7/4876G06F5/012G06F5/015G06F7/44G06F7/483G06F7/4873G06F7/49905G06F7/544G06F9/30021G06F9/30094G06F9/3861G06F9/3885
    • A floating point max/min circuit for determining the maximum or minimum of two floating point operands includes a first analysis circuit configured to determine a format of a first floating point operand of the two floating point operands based upon floating point status information encoded within the first floating point operand, a second analysis circuit configured to determine a format of a second floating point operand of the two floating point operands based upon floating point status information encoded within the second floating point operand, a decision circuit, coupled to the first analysis circuit and to the second analysis circuit and responding to a function control signal that indicates the threshold condition is one of a maximum of the two floating point operands and a minimum of the two floating point operands, for generating at least one assembly control signal based on the format of a first floating point operand, the format of a second floating point operand, and the function control signal, and a result assembler circuit, coupled to the decision circuit, for producing a result indicating which of the first floating point operand and the second floating point operand meet the threshold condition, based on the at least one assembly control signal. The format of the floating point operands may be from a group comprising: not-a-number (NaN), positive infinity, negative infinity, normalized, denormalized, positive overflow, negative overflow, positive underflow, negative underflow, inexact, exact, division by zero, invalid operation, positive zero, and negative zero. The result produced may be a third floating point operand having encoded floating point status information, and at least part of the encoded floating point status information in the result may come from either the first floating point operand or the second floating point operand.
    • 8. 发明申请
    • Code preparation technique employing lock-free pointer operations
    • 采用无锁指针操作的代码准备技术
    • US20060218561A1
    • 2006-09-28
    • US11343678
    • 2006-01-30
    • Mark MoirDavid DetlefsSimon DohertyMaurice HerlihyVictor LuchangcoPaul MartinGuy Steele
    • Mark MoirDavid DetlefsSimon DohertyMaurice HerlihyVictor LuchangcoPaul MartinGuy Steele
    • G06F9/46
    • 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.
    • 已经发现了一种方法,用于将垃圾回收依赖算法,共享对象实现和/或并发软件机制转换为不假定存在独立或执行环境(垃圾收集器)的形式。 使用本文描述的技术设计或变换的算法,共享对象实现和/或机制使用无锁指针操作来提供存储的显式回收。 转换可以应用于无锁算法和共享对象实现,并保持这种算法和实现的锁定自由度。 因此,依赖于垃圾回收执行环境的现有和将来的无锁算法和共享对象实现可以在不提供垃圾回收的环境中被利用。 此外,使用如本文所述的无锁定指针操作的使用显式回收存储的算法和共享对象实现可以用于实现垃圾收集器本身。
    • 9. 发明申请
    • Total order comparator unit for comparing values of two floating point operands
    • US20060179104A1
    • 2006-08-10
    • US11394083
    • 2006-03-31
    • Guy Steele
    • Guy Steele
    • G06F7/50
    • G06F7/026G06F7/483
    • A floating point total order comparator circuit for comparing a first floating point operand and a second floating point operand includes a first analysis circuit for determining a format of the first floating point operand based upon floating point status information encoded within the first floating point operand, a second analysis circuit for determining a format of the second floating point operand based upon floating point status information encoded within the second floating point operand, and a result generator circuit coupled to the analysis circuits for producing a result indicating a total order comparative relationship between the first floating point operand and the second floating point operand based on the format of the first floating point operand and the format of the second floating point operand. The result can condition the outcome of a floating point instruction. The floating point total order comparator circuit may recognize several predetermined operand formats, such as not-a-number (NaN), infinity, normalized, denormalized, invalid operation, overflow, underflow, division by zero, positive zero, negative zero, exact, and inexact.