-
公开(公告)号: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.
摘要翻译: 公开了在计算设备中动态分配的线程存储。 动态分配的线程存储被配置为使用包括两个或更多个线程的进程。 每个线程包括一个静态分配的线程本地插槽,用于存储一个表。 每个表被配置为包括与动态分配的线程本地值相对应的表时隙。 动态分配的线程本地实例对应于表槽。
-
公开(公告)号:US09354932B2
公开(公告)日:2016-05-31
申请号:US13165421
申请日:2011-06-21
申请人: Igor Ostrovsky , Joseph E. Hoag , Stephen H. Toub , Mike Liddell
发明人: Igor Ostrovsky , Joseph E. Hoag , Stephen H. Toub , Mike Liddell
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.
摘要翻译: 公开了在计算设备中动态分配的线程存储。 动态分配的线程存储被配置为使用包括两个或更多个线程的进程。 每个线程包括一个静态分配的线程本地插槽,用于存储一个表。 每个表被配置为包括与动态分配的线程本地值相对应的表时隙。 动态分配的线程本地实例对应于表槽。
-
公开(公告)号:US08266172B2
公开(公告)日:2012-09-11
申请号:US12418136
申请日:2009-04-03
申请人: Igor Ostrovsky , John Duffy , Mike Liddell , Edward G. Essey , Stephen H. Toub
发明人: Igor Ostrovsky , John Duffy , Mike Liddell , Edward G. Essey , Stephen H. Toub
IPC分类号: G06F7/00
CPC分类号: G06F17/30445
摘要: A method of analyzing a data parallel query includes receiving a user-specified data parallel query that includes a plurality of query operators. An operator type for each of the query operators is identified based on a type of parallel input data structure the operator operates on and a type of parallel output data structure the operator outputs. It is determined whether the query is a prohibited query based on the identified operator types.
摘要翻译: 分析数据并行查询的方法包括接收包括多个查询运算符的用户指定的数据并行查询。 基于操作员操作的并行输入数据结构的类型和操作员输出的并行输出数据结构的类型来识别每个查询运算符的运算符类型。 基于所识别的运算符类型来确定查询是否是禁止查询。
-
公开(公告)号:US20100257191A1
公开(公告)日:2010-10-07
申请号:US12418136
申请日:2009-04-03
申请人: Igor Ostrovsky , John Duffy , Mike Liddell , Edward G. Essey , Stephen H. Toub
发明人: Igor Ostrovsky , John Duffy , Mike Liddell , Edward G. Essey , Stephen H. Toub
IPC分类号: G06F17/30
CPC分类号: G06F17/30445
摘要: A method of analyzing a data parallel query includes receiving a user-specified data parallel query that includes a plurality of query operators. An operator type for each of the query operators is identified based on a type of parallel input data structure the operator operates on and a type of parallel output data structure the operator outputs. It is determined whether the query is a prohibited query based on the identified operator types.
摘要翻译: 分析数据并行查询的方法包括接收包括多个查询运算符的用户指定的数据并行查询。 基于操作员操作的并行输入数据结构的类型和操作员输出的并行输出数据结构的类型来识别每个查询运算符的运算符类型。 基于所识别的运算符类型来确定查询是否是禁止查询。
-
公开(公告)号:US08276154B2
公开(公告)日:2012-09-25
申请号: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.
摘要翻译: 本发明扩展到用于划分流数据的方法,系统和计算机程序产品。 本发明的实施例可用于对数据流进行散列分区,从而避免不必要的存储器使用(例如,与缓冲相关联)。 散列分区可用于将输入序列(例如,数据流)拆分成可独立处理的多个分区。 本发明的其他实施例可用于对多个数据流重新分区。 哈希重新分区将一组分区转换为具有哈希分区属性的另一组分区。 在运行时可以通过在负责不同分区的工作线程之间交换值来进行分区和重新分区。
-
公开(公告)号: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.
摘要翻译: 一种处理查询的方法包括:接收包括至少一个运算符的语言集成查询,以及使用所述至少一个运算符对输入阵列进行操作。 基于输入阵列上的操作,由至少一个运算符产生输出数组。
-
8.
公开(公告)号:US08806168B2
公开(公告)日:2014-08-12
申请号:US13230833
申请日:2011-09-12
申请人: Igor Ostrovsky , Stephen H. Toub
发明人: Igor Ostrovsky , Stephen H. Toub
IPC分类号: G06F12/02
CPC分类号: G06F12/02 , G06F9/544 , G06F2209/548
摘要: A method includes producing values with a producer thread, and providing a queue data structure including a first array of storage locations for storing the values. The first array has a first tail pointer and a first linking pointer. If a number of values stored in the first array is less than a capacity of the first array, an enqueue operation writes a new value at a storage location pointed to by the first tail pointer and advances the first tail pointer. If the number of values stored in the first array is equal to the capacity of the first array, a second array of storage locations is allocated in the queue. The second array has a second tail pointer. The first array is linked to the second array with the first linking pointer. An enqueue operation writes the new value at a storage location pointed to by the second tail pointer and advances the second tail pointer.
摘要翻译: 一种方法包括使用生产者线程生成值,并提供包括用于存储值的存储位置的第一阵列的队列数据结构。 第一个数组有一个第一个尾部指针和一个第一个链接指针。 如果存储在第一阵列中的多个值小于第一阵列的容量,则入队操作将新值写入由第一尾指针指向的存储位置并且前进第一尾指针。 如果存储在第一个阵列中的值的数量等于第一个阵列的容量,则在队列中分配第二个存储位置阵列。 第二个数组有一个第二个尾部指针。 第一个数组用第一个链接指针链接到第二个数组。 排队操作将新值写入由第二个尾部指针指向的存储位置,并推进第二个尾部指针。
-
9.
公开(公告)号:US20130067160A1
公开(公告)日:2013-03-14
申请号:US13230833
申请日:2011-09-12
申请人: Igor Ostrovsky , Stephen H. Toub
发明人: Igor Ostrovsky , Stephen H. Toub
IPC分类号: G06F12/08
CPC分类号: G06F12/02 , G06F9/544 , G06F2209/548
摘要: A method includes producing values with a producer thread, and providing a queue data structure including a first array of storage locations for storing the values. The first array has a first tail pointer and a first linking pointer. If a number of values stored in the first array is less than a capacity of the first array, an enqueue operation writes a new value at a storage location pointed to by the first tail pointer and advances the first tail pointer. If the number of values stored in the first array is equal to the capacity of the first array, a second array of storage locations is allocated in the queue. The second array has a second tail pointer. The first array is linked to the second array with the first linking pointer. An enqueue operation writes the new value at a storage location pointed to by the second tail pointer and advances the second tail pointer.
摘要翻译: 一种方法包括使用生产者线程生成值,并提供包括用于存储值的存储位置的第一阵列的队列数据结构。 第一个数组有一个第一个尾部指针和一个第一个链接指针。 如果存储在第一阵列中的多个值小于第一阵列的容量,则入队操作将新值写入由第一尾指针指向的存储位置并且前进第一尾指针。 如果存储在第一个阵列中的值的数量等于第一个阵列的容量,则在队列中分配第二个存储位置阵列。 第二个数组有一个第二个尾部指针。 第一个数组用第一个链接指针链接到第二个数组。 排队操作将新值写入由第二个尾部指针指向的存储位置,并推进第二个尾部指针。
-
公开(公告)号:US08521721B2
公开(公告)日:2013-08-27
申请号:US12882168
申请日:2010-09-14
CPC分类号: G06F17/30445
摘要: Embodiments are directed to implementing custom operators in a query for a parallel query engine and to generating a partitioned representation of a sequence of query operators in a parallel query engine. A computer system receives a portion of partitioned input data at a parallel query engine, where the parallel query engine is configured to process data queries in parallel, and where the queries include a sequence of built-in operators. The computer system incorporates a custom operator into the sequence of built-in operators for a query and accesses the sequence of operators to determine how the partitioned input data is to be processed. The custom operator is accessed in the same manner as the built-in operators. The computer system also processes the sequence of operators including both the built-in operators and at least one custom operator according to the determination indicating how the data is to be processed.
摘要翻译: 实施例涉及在并行查询引擎的查询中实现自定义运算符并且在并行查询引擎中生成查询运算符序列的分区表示。 计算机系统在并行查询引擎处接收分割的输入数据的一部分,其中并行查询引擎被配置为并行处理数据查询,并且查询包括一系列内置运算符。 计算机系统将定制运算符合并到用于查询的内置运算符序列中,并访问运算符序列以确定如何处理分区输入数据。 以与内置运算符相同的方式访问定制运算符。 计算机系统还根据指示如何处理数据的确定来处理包括内置运算符和至少一个定制运算符的运算符序列。
-
-
-
-
-
-
-
-
-