会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 4. 发明申请
    • Efficient Non-Blocking K-Compare-Single-Swap Operation
    • 高效的非阻塞K比较单互换操作
    • US20080077748A1
    • 2008-03-27
    • US11864624
    • 2007-09-28
    • Nir ShavitMark MoirVictor Luchangco
    • Nir ShavitMark MoirVictor Luchangco
    • G06F12/00
    • G06F12/0844G06F9/30G06F9/3004G06F9/38G06F9/466G06F9/52G06F12/00G06F12/08G06F12/0815G06F12/084G06F12/0842G06F12/0846Y10S707/99942
    • 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.
    • 使用单一位置同步原语(例如比较和交换(CAS))的非阻塞链接数据结构的设计是一种复杂的事情,通常需要对指针使用方式的严格限制。 解决这个问题的一个方法是提供更强大的同步操作,例如,在同时验证其他内容的同时原子地修改一个存储器位置的同步操作。 我们提供了这样一个操作的简单而高效的非阻塞实现:原子k字比较单交换操作(KCSS)。 我们的实施是无障碍的。 因此,在无争议的情况下效率高,依靠竞争管理机制。 它允许链接的数据结构操作,而不需要其他解决方案的复杂性和限制。 此外,作为我们技术的一些实现的构建块,我们开发了第一个不会严重限制字大小的无负载连接/存储条件的非阻塞软件实现。
    • 5. 发明授权
    • Lock-free implementation of dynamic-sized shared data structure
    • 动态大小共享数据结构的无锁实现
    • US07254597B2
    • 2007-08-07
    • US10340154
    • 2003-01-10
    • Mark S. MoirVictor LuchangcoMaurice Herlihy
    • Mark S. MoirVictor LuchangcoMaurice Herlihy
    • G06F12/12
    • G06F9/52Y10S707/955Y10S707/99953Y10S707/99957
    • Solutions to a value recycling problem that we define herein facilitate implementations of computer programs that may execute as multithreaded computations in multiprocessor computers, as well as implementations of related shared data structures. Some exploitations of the techniques described herein allow non-blocking, shared data structures to be implemented using standard dynamic allocation mechanisms (such as malloc and free). A variety of solutions to the proposed value recycling problem may be implemented. A class of general solutions to value recycling is described in the context of an illustration we call the Repeat Offender Problem (ROP), including illustrative Application Program Interfaces (APIs) defined in terms of the ROP terminology. Furthermore, specific solutions, implementations and algorithm, including a Pass-The-Buck (PTB) implementation are also described. Solutions to the value recycling problem can be applied in a variety of ways to implement dynamic-sized data structures.
    • 我们在这里定义的价值回收问题的解决方案便于在多处理器计算机中作为多线程计算执行的计算机程序的实现,以及相关共享数据结构的实现。 本文描述的技术的一些利用允许使用标准动态分配机制(诸如malloc和free)来实现非阻塞的共享数据结构。 可以实施提出的价值回收问题的各种解决方案。 在我们称为重复违规问题(ROP)的例证的上下文中描述了一类价值回收的一般解决方案,包括根据ROP术语定义的说明性应用程序接口(API)。 此外,还描述了包括通过降压(PTB)实现的具体解决方案,实现和算法。 价值回收问题的解决方案可以以各种方式应用于实现动态大小的数据结构。
    • 7. 发明授权
    • Single-word lock-free reference counting
    • 单字无锁引用计数
    • US07299242B2
    • 2007-11-20
    • US10340150
    • 2003-01-10
    • Mark S. MoirVictor LuchangcoMaurice Herlihy
    • Mark S. MoirVictor LuchangcoMaurice Herlihy
    • G06F9/46G06F9/44G06F12/00
    • G06F9/52Y10S707/99944Y10S707/99947Y10S707/99953
    • Solutions to a value recycling problem that we define herein facilitate implementations of computer programs that may execute as multithreaded computations in multiprocessor computers, as well as implementations of related shared data structures. Some exploitations of the techniques described herein allow non-blocking, shared data structures to be implemented using standard dynamic allocation mechanisms (such as malloc and free). A class of general solutions to value recycling is described in the context of an illustration we call the Repeat Offender Problem (ROP), including illustrative Application Program Interfaces (APIs) defined in terms of the ROP terminology. Furthermore, specific solutions, implementations and algorithm, including a Pass-The-Buck (PTB) implementation are also described. Solutions to the proposed value recycling problem have a variety of uses. For example, a single-word lock-free reference counting (SLFRC) technique may build on any of a variety of value recycling solutions to transform, in a straight-forward manner, many lock-free data structure implementations that assume garbage collection (i.e., which do not explicitly free memory) into dynamic-sized data structures.
    • 我们在这里定义的价值回收问题的解决方案便于在多处理器计算机中作为多线程计算执行的计算机程序的实现,以及相关共享数据结构的实现。 本文描述的技术的一些利用允许使用标准动态分配机制(诸如malloc和free)来实现非阻塞的共享数据结构。 在我们称为重复违规问题(ROP)的例证的上下文中描述了一类价值回收的一般解决方案,包括根据ROP术语定义的说明性应用程序接口(API)。 此外,还描述了包括通过降压(PTB)实现的具体解决方案,实现和算法。 提出的价值回收问题的解决方案有各种用途。 例如,单字无锁引用计数(SLFRC)技术可以建立在各种价值回收解决方案中的任何一种上,以直接方式转换许多无锁数据结构实现,这些实现假定垃圾收集(即 ,不明确地释放内存)到动态大小的数据结构中。
    • 8. 发明申请
    • Method and apparatus for expressing and checking relationships between types
    • 用于表达和检查类型之间的关系的方法和装置
    • US20070256060A1
    • 2007-11-01
    • US11412662
    • 2006-04-27
    • Sukyoung RyuEric AllenVictor LuchangcoJoseph HallettSamuel Tobin-Hochstadt
    • Sukyoung RyuEric AllenVictor LuchangcoJoseph HallettSamuel Tobin-Hochstadt
    • G06F9/45
    • G06F8/437
    • One embodiment of the present invention provides a system for generating executable code. During operation, the system receives source code, wherein the source code can include declarations for types and operations, wherein the type declarations may be parameterized, and wherein the source code may specify subtyping relationships between declared types. Next, the system compiles or interprets the source code to produce executable code, wherein the type parameters may be instantiated by different types during execution, and wherein the result of executing operations may depend upon the instantiations of the type parameters. While compiling or interpreting the source code, the system checks the types and operations in the source code to ensure that the executable code generated is type-safe, and hence will not generate type errors during execution.
    • 本发明的一个实施例提供了一种用于生成可执行代码的系统。 在操作期间,系统接收源代码,其中源代码可以包括类型和操作的声明,其中类型声明可以被参数化,并且其中源代码可以指定声明类型之间的子类型关系。 接下来,系统编译或解释源代码以产生可执行代码,其中类型参数可以在执行期间由不同类型实例化,并且其中执行操作的结果可以取决于类型参数的实例。 在编译或解释源代码时,系统将检查源代码中的类型和操作,以确保生成的可执行代码是类型安全的,因此在执行期间不会生成类型错误。
    • 10. 发明授权
    • Simple optimistic skiplist
    • 简单的乐观滑雪板
    • US08375062B2
    • 2013-02-12
    • US12165086
    • 2008-06-30
    • Maurice P. HerlihyYosef LevVictor LuchangcoNir N. Shavit
    • Maurice P. HerlihyYosef LevVictor LuchangcoNir N. Shavit
    • G06F7/00G06F17/30
    • G06F17/30958G06F17/30351
    • Apparatus, methods, and computer program products are disclosed for concurrently searching a memory containing a skiplist data structure. The method locates the skiplist data structure in the memory. The skiplist data structure includes a plurality of linked lists related by a skiplist invariant. Furthermore, the plurality of linked lists includes a first-level linked list and one or more higher-level linked lists. The skiplist data structure also includes a plurality of nodes, each of which includes a key field, at least one pointer field, and a lock field, respectively. Each of the plurality of nodes is linked to the first-level linked list through the at least one pointer field and ordered responsive to the key field. The method performs a search operation on the skiplist data structure, while the skiplist data structure is subject to concurrent alteration of the plurality of nodes by a plurality of execution threads that are configured to maintain the skiplist invariant and returns a result of the search operation.
    • 公开了用于同时搜索包含滑雪板数据结构的存储器的装置,方法和计算机程序产品。 该方法将skiplist数据结构定位在内存中。 滑雪板数据结构包括由滑雪板不变量相关联的多个链接列表。 此外,多个链接列表包括第一级链接列表和一个或多个更高级别的链接列表。 滑雪板数据结构还包括多个节点,每个节点分别包括密钥字段,至少一个指针字段和锁定字段。 所述多个节点中的每一个通过所述至少一个指针字段链接到所述第一级链接列表,并响应于所述密钥字段排序。 该方法对滑雪板数据结构执行搜索操作,而滑雪板数据结构由多个执行线程进行多个节点的并发改变,所述多个执行线程被配置为维护滑雪板不变量并返回搜索操作的结果。