-
公开(公告)号:US08856792B2
公开(公告)日:2014-10-07
申请号:US12972039
申请日:2010-12-17
摘要: One embodiment includes a method of performing dataflow processing. The method includes representing a first asynchronous processing node as a first future. The first future represents the lifecycle of processing of the first asynchronous processing node. The method further includes representing one or more other asynchronous operations as one or more other futures. The one or more other futures represent the asynchronous completion of one or more operations'processing. The first future and the one or more other futures are represented as a single composite future. The single composite future represents completion of processing of the combination of the first asynchronous processing node and the one or more other asynchronous operations.
摘要翻译: 一个实施例包括执行数据流处理的方法。 该方法包括将第一异步处理节点表示为第一未来。 第一个未来代表了处理第一个异步处理节点的生命周期。 该方法还包括将一个或多个其他异步操作表示为一个或多个其他期货。 一个或多个其他期货表示异步完成一个或多个操作的处理。 第一个未来和一个或多个其他未来将被视为一个复合的未来。 单个复合未来表示第一异步处理节点和一个或多个其他异步操作的组合的处理的完成。
-
公开(公告)号:US20120159512A1
公开(公告)日:2012-06-21
申请号:US12972039
申请日:2010-12-17
IPC分类号: G06F9/46
摘要: One embodiment includes a method of performing dataflow processing. The method includes representing a first asynchronous processing node as a first future. The first future represents the lifecycle of processing of the first asynchronous processing node. The method further includes representing one or more other asynchronous operations as one or more other futures. The one or more other futures represent the asynchronous completion of one or more operations' processing. The first future and the one or more other futures are represented as a single composite future. The single composite future represents completion of processing of the combination of the first asynchronous processing node and the one or more other asynchronous operations.
摘要翻译: 一个实施例包括执行数据流处理的方法。 该方法包括将第一异步处理节点表示为第一未来。 第一个未来代表了处理第一个异步处理节点的生命周期。 该方法还包括将一个或多个其他异步操作表示为一个或多个其他期货。 一个或多个其他期货表示异步完成一个或多个操作的处理。 第一个未来和一个或多个其他未来将被视为一个复合的未来。 单个复合未来表示第一异步处理节点和一个或多个其他异步操作的组合的处理的完成。
-
3.
公开(公告)号:US09201688B2
公开(公告)日:2015-12-01
申请号:US12972023
申请日:2010-12-17
IPC分类号: G06F9/48
CPC分类号: G06F9/4881 , G06F2209/485
摘要: Managing a concurrency based system. A method includes determining a defined number of concurrent operations for a concurrency based management system. An operation queue is accessed. The operation queue stores or has therein zero or more asynchronous operations. An asynchronous operation is an operation that returns an object representing the asynchronous completion of the operation. The method further includes, as long as the queue is not empty, scheduling asynchronous operations from the queue until a number of asynchronous operations equal to the defined number has been reached.
摘要翻译: 管理基于并发的系统。 一种方法包括确定用于基于并发的管理系统的定义数量的并发操作。 访问一个操作队列。 操作队列存储或具有零个或多个异步操作。 异步操作是返回表示异步完成操作的对象的操作。 该方法还包括,只要队列不为空,则调度来自队列的异步操作,直到达到等于定义数目的多个异步操作。
-
4.
公开(公告)号:US20120158651A1
公开(公告)日:2012-06-21
申请号:US12972023
申请日:2010-12-17
IPC分类号: G06F17/00
CPC分类号: G06F9/4881 , G06F2209/485
摘要: Managing a concurrency based system. A method includes determining a defined number of concurrent operations for a concurrency based management system. An operation queue is accessed. The operation queue stores or has therein zero or more asynchronous operations. An asynchronous operation is an operation that returns an object representing the asynchronous completion of the operation. The method further includes, as long as the queue is not empty, scheduling asynchronous operations from the queue until a number of asynchronous operations equal to the defined number has been reached.
摘要翻译: 管理基于并发的系统。 一种方法包括确定用于基于并发的管理系统的定义数量的并发操作。 访问一个操作队列。 操作队列存储或具有零个或多个异步操作。 异步操作是返回表示异步完成操作的对象的操作。 该方法还包括,只要队列不为空,则调度来自队列的异步操作,直到达到等于定义数目的多个异步操作。
-
公开(公告)号: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.
摘要翻译: 本发明扩展到用于划分流数据的方法,系统和计算机程序产品。 本发明的实施例可用于对数据流进行散列分区,从而避免不必要的存储器使用(例如,与缓冲相关联)。 散列分区可用于将输入序列(例如,数据流)拆分成可独立处理的多个分区。 本发明的其他实施例可用于对多个数据流重新分区。 哈希重新分区将一组分区转换为具有哈希分区属性的另一组分区。 在运行时可以通过在负责不同分区的工作线程之间交换值来进行分区和重新分区。
-
公开(公告)号: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))操作,并且即使当链表的大小改变时也保持不变
-
公开(公告)号: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.
摘要翻译: 一种处理查询的方法包括:接收包括至少一个运算符的语言集成查询,以及使用所述至少一个运算符对输入阵列进行操作。 基于输入阵列上的操作,由至少一个运算符产生输出数组。
-
10.
公开(公告)号:US09229788B2
公开(公告)日:2016-01-05
申请号:US12732552
申请日:2010-03-26
申请人: Stephen H. Toub , Joseph E. Hoag , Huseyin S. Yildiz , Danny S. Shih , Mike Liddell , John Duffy
发明人: Stephen H. Toub , Joseph E. Hoag , Huseyin S. Yildiz , Danny S. Shih , Mike Liddell , John Duffy
CPC分类号: G06F9/522
摘要: A method of performing a wait operation includes creating a first plurality of tasks and a continuation task. The continuation task represents a second plurality of tasks. The continuation task and each of the tasks in the first plurality have an associated wait handle. The wait handles for the first plurality of tasks and the continuation task are stored in an array. A wait operation is performed on the array, thereby waiting for at least one of the tasks in the first and second pluralities to complete.
摘要翻译: 执行等待操作的方法包括创建第一多个任务和连续任务。 继续任务表示第二个多个任务。 继续任务和第一组中的每个任务具有相关联的等待句柄。 第一个多任务和连续任务的等待句柄存储在一个数组中。 在阵列上执行等待操作,从而等待第一和第二多个中的至少一个任务完成。
-
-
-
-
-
-
-
-
-