-
公开(公告)号:US20110145827A1
公开(公告)日:2011-06-16
申请号:US12637535
申请日:2009-12-14
申请人: Chunyan Song , Stephen H. Toub
发明人: Chunyan Song , Stephen H. Toub
CPC分类号: G06F7/78 , G06F9/526 , G06F2205/064
摘要: The present invention extends to methods, systems, and computer program products for maintaining a count for lock-free stack access. A numeric value representative of the total count of nodes in a linked list is maintained at the head node for the linked list. Commands for pushing and popping nodes appropriately update the total count at a new head node when nodes are added to and removed from the linked list. Thus, determining the count of nodes in a linked list is an order 1 (or O(1)) operation, and remains constant even when the size of a linked list changes
摘要翻译: 本发明延伸到用于维持无锁堆栈访问的计数的方法,系统和计算机程序产品。 表示链表中节点总数的数值在链表的头节点处被维护。 当节点被添加到链接列表中并从链接列表中删除时,用于推送和弹出节点的命令适当地更新新头节点处的总计数。 因此,确定链表中的节点的数量是一个顺序1(或O(1))操作,并且即使当链表的大小改变时也保持不变
-
2.
公开(公告)号:US20120254139A1
公开(公告)日:2012-10-04
申请号:US13524665
申请日:2012-06-15
申请人: Chunyan Song , Joshua Phillips , John Duffy , Tim Harris , Stephen H. Toub , Boby George
发明人: Chunyan Song , Joshua Phillips , John Duffy , Tim Harris , Stephen H. Toub , Boby George
IPC分类号: G06F17/30
CPC分类号: G06F17/30362 , G06F9/526 , G06F17/30958
摘要: A method of providing lock-based access to nodes in a concurrent linked list includes providing a plurality of striped lock objects. Each striped lock object is configured to lock at least one of the nodes in the concurrent linked list. An index is computed based on a value stored in a first node to be accessed in the concurrent linked list. A first one of the striped lock objects is identified based on the computed index. The first striped lock object is acquired, thereby locking and providing protected access to the first node.
摘要翻译: 向并行链表中的节点提供基于锁的访问的方法包括提供多个条带锁定对象。 每个条带锁对象被配置为锁定并发链表中的至少一个节点。 基于存储在并发链表中要访问的第一节点的值来计算索引。 基于计算的索引来识别条带锁定对象中的第一个。 获取第一个条带锁定对象,从而锁定并提供对第一个节点的受保护的访问。
-
公开(公告)号:US08312457B2
公开(公告)日:2012-11-13
申请号:US12637535
申请日:2009-12-14
申请人: Chunyan Song , Stephen H. Toub
发明人: Chunyan Song , Stephen H. Toub
CPC分类号: G06F7/78 , G06F9/526 , G06F2205/064
摘要: The present invention extends to methods, systems, and computer program products for maintaining a count for lock-free stack access. A numeric value representative of the total count of nodes in a linked list is maintained at the head node for the linked list. Commands for pushing and popping nodes appropriately update the total count at a new head node when nodes are added to and removed from the linked list. Thus, determining the count of nodes in a linked list is an order 1 (or O(1)) operation, and remains constant even when the size of a linked list changes.
摘要翻译: 本发明扩展到用于维持无锁堆栈访问的计数的方法,系统和计算机程序产品。 表示链表中节点总数的数值在链表的头节点处被维护。 当节点被添加到链接列表中并从链接列表中删除时,用于推送和弹出节点的命令适当地更新新头节点处的总计数。 因此,确定链表中的节点数是1(或O(1))操作,即使当链表的大小发生变化时也保持不变。
-
4.
公开(公告)号:US20100274937A1
公开(公告)日:2010-10-28
申请号:US12428247
申请日:2009-04-22
申请人: Chunyan Song , Joshua Phillips , John Duffy , Tim Harris , Stephen H. Toub , Boby George
发明人: Chunyan Song , Joshua Phillips , John Duffy , Tim Harris , Stephen H. Toub , Boby George
CPC分类号: G06F17/30362 , G06F9/526 , G06F17/30958
摘要: A method of providing lock-based access to nodes in a concurrent linked list includes providing a plurality of striped lock objects. Each striped lock object is configured to lock at least one of the nodes in the concurrent linked list. An index is computed based on a value stored in a first node to be accessed in the concurrent linked list. A first one of the striped lock objects is identified based on the computed index. The first striped lock object is acquired, thereby locking and providing protected access to the first node.
摘要翻译: 向并行链表中的节点提供基于锁的访问的方法包括提供多个条带锁定对象。 每个条带锁对象被配置为锁定并发链表中的至少一个节点。 基于存储在并发链表中要访问的第一节点的值来计算索引。 基于计算的索引来识别条带锁定对象中的第一个。 获取第一个条带锁定对象,从而锁定并提供对第一个节点的受保护的访问。
-
公开(公告)号:US09519524B2
公开(公告)日:2016-12-13
申请号:US13524665
申请日:2012-06-15
申请人: Chunyan Song , Joshua Phillips , John Duffy , Tim Harris , Stephen H. Toub , Boby George
发明人: Chunyan Song , Joshua Phillips , John Duffy , Tim Harris , Stephen H. Toub , Boby George
CPC分类号: G06F17/30362 , G06F9/526 , G06F17/30958
摘要: A method of providing lock-based access to nodes in a concurrent linked list includes providing a plurality of striped lock objects. Each striped lock object is configured to lock at least one of the nodes in the concurrent linked list. An index is computed based on a value stored in a first node to be accessed in the concurrent linked list. A first one of the striped lock objects is identified based on the computed index. The first striped lock object is acquired, thereby locking and providing protected access to the first node.
摘要翻译: 向并行链表中的节点提供基于锁的访问的方法包括提供多个条带锁定对象。 每个条带锁对象被配置为锁定并发链表中的至少一个节点。 基于存储在并发链表中要访问的第一节点的值来计算索引。 基于计算的索引来识别条带锁定对象中的第一个。 获取第一个条带锁定对象,从而锁定并提供对第一个节点的受保护的访问。
-
公开(公告)号:US08224799B2
公开(公告)日:2012-07-17
申请号:US12428247
申请日:2009-04-22
申请人: Chunyan Song , Joshua Phillips , John Duffy , Tim Harris , Stephen H. Toub , Boby George
发明人: Chunyan Song , Joshua Phillips , John Duffy , Tim Harris , Stephen H. Toub , Boby George
IPC分类号: G06F17/00
CPC分类号: G06F17/30362 , G06F9/526 , G06F17/30958
摘要: A method of providing lock-based access to nodes in a concurrent linked list includes providing a plurality of striped lock objects. Each striped lock object is configured to lock at least one of the nodes in the concurrent linked list. An index is computed based on a value stored in a first node to be accessed in the concurrent linked list. A first one of the striped lock objects is identified based on the computed index. The first striped lock object is acquired, thereby locking and providing protected access to the first node.
摘要翻译: 向并行链表中的节点提供基于锁的访问的方法包括提供多个条带锁定对象。 每个条带锁对象被配置为锁定并发链表中的至少一个节点。 基于存储在并发链表中要访问的第一节点的值来计算索引。 基于计算的索引来识别条带锁定对象中的第一个。 获取第一个条带锁定对象,从而锁定并提供对第一个节点的受保护的访问。
-
公开(公告)号:US20120331475A1
公开(公告)日:2012-12-27
申请号:US13165421
申请日:2011-06-21
申请人: Igor Ostrovsky , Joseph E. Hoag , Stephen H. Toub , Mike Liddell
发明人: Igor Ostrovsky , Joseph E. Hoag , Stephen H. Toub , Mike Liddell
IPC分类号: G06F9/46
CPC分类号: G06F12/023 , G06F3/0608 , G06F3/061 , G06F3/0631 , G06F3/0673 , G06F9/5016 , G06F2212/1016 , G06F2212/1044
摘要: Dynamically allocated thread storage in a computing device is disclosed. The dynamically allocated thread storage is configured to work with a process including two or more threads. Each thread includes a statically allocated thread-local slot configured to store a table. Each table is configured to include a table slot corresponding with a dynamically allocated thread-local value. A dynamically allocated thread-local instance corresponds with the table slot.
摘要翻译: 公开了在计算设备中动态分配的线程存储。 动态分配的线程存储被配置为使用包括两个或更多个线程的进程。 每个线程包括一个静态分配的线程本地插槽,用于存储一个表。 每个表被配置为包括与动态分配的线程本地值相对应的表时隙。 动态分配的线程本地实例对应于表槽。
-
公开(公告)号:US08185693B2
公开(公告)日:2012-05-22
申请号:US12405923
申请日:2009-03-17
申请人: Stephen H. Toub , John Duffy , Eric Eilebrecht
发明人: Stephen H. Toub , John Duffy , Eric Eilebrecht
IPC分类号: G06F12/06
CPC分类号: G06F12/0253 , G06F12/084 , G06F2212/502 , G06F2212/601
摘要: Target data is allocated into caches of a shared-memory multiprocessor system during a runtime environment. The target data includes a plurality of data items that are allocated onto separate cache lines. Each data item is allocated on a separate cache line regardless of the size of the cache line of the system. The data items become members of a wrapper types when data items are value types. The runtime environment maintains a set of wrapper types of various sizes that are of typical cache line sizes. Garbage data is inserted into the cache line in cases where data items are reference types and data is stored on a managed heap. The allocation also configures garbage collectors in the runtime environment not to slide multiple data items onto the same cache line. Other examples are included where a developer can augment the runtime environment to be aware of cache line sizes.
摘要翻译: 目标数据在运行时环境中被分配到共享内存多处理器系统的高速缓存中。 目标数据包括被分配到单独的高速缓存线上的多个数据项。 每个数据项都分配在单独的高速缓存行上,而不管系统的高速缓存行的大小。 当数据项是值类型时,数据项成为包装器类型的成员。 运行时环境维护一组具有典型高速缓存行大小的各种大小的包装器类型。 在数据项是引用类型并且数据存储在受管堆上的情况下,垃圾数据被插入到高速缓存行中。 该分配还可以在运行时环境中配置垃圾收集器,不要将多个数据项滑到同一个高速缓存行上。 包括其他示例,其中开发人员可以扩展运行时环境以了解高速缓存行大小。
-
公开(公告)号:US20110154359A1
公开(公告)日:2011-06-23
申请号:US12642233
申请日:2009-12-18
申请人: Stephen H. Toub , Igor Ostrovsky
发明人: Stephen H. Toub , Igor Ostrovsky
IPC分类号: G06F9/46
CPC分类号: G06F9/5033 , G06F2209/5018
摘要: The present invention extends to methods, systems, and computer program products for partitioning streaming data. Embodiments of the invention can be used to hash partition a stream of data and thus avoids unnecessary memory usage (e.g., associated with buffering). Hash partitioning can be used to split an input sequence (e.g., a data stream) into multiple partitions that can be processed independently. Other embodiments of the invention can be used to hash repartition a plurality of streams of data. Hash repartitioning converts a set of partitions into another set of partitions with the hash partitioned property. Partitioning and repartitioning can be done in a streaming manner at runtime by exchanging values between worker threads responsible for different partitions.
摘要翻译: 本发明扩展到用于划分流数据的方法,系统和计算机程序产品。 本发明的实施例可用于对数据流进行散列分区,从而避免不必要的存储器使用(例如,与缓冲相关联)。 散列分区可用于将输入序列(例如,数据流)拆分成可独立处理的多个分区。 本发明的其他实施例可用于对多个数据流重新分区。 哈希重新分区将一组分区转换为具有哈希分区属性的另一组分区。 在运行时可以通过在负责不同分区的工作线程之间交换值来进行分区和重新分区。
-
公开(公告)号:US20100250613A1
公开(公告)日:2010-09-30
申请号:US12413814
申请日:2009-03-30
申请人: Igor Ostrovsky , John Duffy , Stephen H. Toub
发明人: Igor Ostrovsky , John Duffy , Stephen H. Toub
IPC分类号: G06F17/30
CPC分类号: G06F16/24539
摘要: A method of processing a query includes receiving a language integrated query including at least one operator, and operating on an input array with the at least one operator. An output array is generated by the at least one operator based on the operation on the input array.
摘要翻译: 一种处理查询的方法包括:接收包括至少一个运算符的语言集成查询,以及使用所述至少一个运算符对输入阵列进行操作。 基于输入阵列上的操作,由至少一个运算符产生输出数组。
-
-
-
-
-
-
-
-
-