DYNAMICALLY ALLOCATED THREAD-LOCAL STORAGE
    1.
    发明申请
    DYNAMICALLY ALLOCATED THREAD-LOCAL STORAGE 有权
    动态分配的线路存储

    公开(公告)号:US20120331475A1

    公开(公告)日:2012-12-27

    申请号:US13165421

    申请日:2011-06-21

    IPC分类号: G06F9/46

    摘要: 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.

    摘要翻译: 公开了在计算设备中动态分配的线程存储。 动态分配的线程存储被配置为使用包括两个或更多个线程的进程。 每个线程包括一个静态分配的线程本地插槽,用于存储一个表。 每个表被配置为包括与动态分配的线程本地值相对应的表时隙。 动态分配的线程本地实例对应于表槽。

    Data parallel query analysis
    3.
    发明授权
    Data parallel query analysis 有权
    数据并行查询分析

    公开(公告)号:US08266172B2

    公开(公告)日:2012-09-11

    申请号:US12418136

    申请日:2009-04-03

    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.

    摘要翻译: 分析数据并行查询的方法包括接收包括多个查询运算符的用户指定的数据并行查询。 基于操作员操作的并行输入数据结构的类型和操作员输出的并行输出数据结构的类型来识别每个查询运算符的运算符类型。 基于所识别的运算符类型来确定查询是否是禁止查询。

    DATA PARALLEL QUERY ANALYSIS
    4.
    发明申请
    DATA PARALLEL QUERY ANALYSIS 有权
    数据并行查询分析

    公开(公告)号:US20100257191A1

    公开(公告)日:2010-10-07

    申请号:US12418136

    申请日:2009-04-03

    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.

    摘要翻译: 分析数据并行查询的方法包括接收包括多个查询运算符的用户指定的数据并行查询。 基于操作员操作的并行输入数据结构的类型和操作员输出的并行输出数据结构的类型来识别每个查询运算符的运算符类型。 基于所识别的运算符类型来确定查询是否是禁止查询。

    Hash partitioning streamed data
    5.
    发明授权
    Hash partitioning streamed data 有权
    哈希分区流数据

    公开(公告)号:US08276154B2

    公开(公告)日:2012-09-25

    申请号:US12642233

    申请日:2009-12-18

    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.

    摘要翻译: 本发明扩展到用于划分流数据的方法,系统和计算机程序产品。 本发明的实施例可用于对数据流进行散列分区,从而避免不必要的存储器使用(例如,与缓冲相关联)。 散列分区可用于将输入序列(例如,数据流)拆分成可独立处理的多个分区。 本发明的其他实施例可用于对多个数据流重新分区。 哈希重新分区将一组分区转换为具有哈希分区属性的另一组分区。 在运行时可以通过在负责不同分区的工作线程之间交换值来进行分区和重新分区。

    HASH PARTITIONING STREAMED DATA
    6.
    发明申请
    HASH PARTITIONING STREAMED DATA 有权
    HASH分区流数据

    公开(公告)号:US20110154359A1

    公开(公告)日:2011-06-23

    申请号:US12642233

    申请日:2009-12-18

    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.

    摘要翻译: 本发明扩展到用于划分流数据的方法,系统和计算机程序产品。 本发明的实施例可用于对数据流进行散列分区,从而避免不必要的存储器使用(例如,与缓冲相关联)。 散列分区可用于将输入序列(例如,数据流)拆分成可独立处理的多个分区。 本发明的其他实施例可用于对多个数据流重新分区。 哈希重新分区将一组分区转换为具有哈希分区属性的另一组分区。 在运行时可以通过在负责不同分区的工作线程之间交换值来进行分区和重新分区。

    QUERY PROCESSING USING ARRAYS
    7.
    发明申请
    QUERY PROCESSING USING ARRAYS 审中-公开
    使用阵列进行查询处理

    公开(公告)号:US20100250613A1

    公开(公告)日:2010-09-30

    申请号:US12413814

    申请日:2009-03-30

    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.

    摘要翻译: 一种处理查询的方法包括:接收包括至少一个运算符的语言集成查询,以及使用所述至少一个运算符对输入阵列进行操作。 基于输入阵列上的操作,由至少一个运算符产生输出数组。

    Producer-consumer data transfer using piecewise circular queue
    8.
    发明授权
    Producer-consumer data transfer using piecewise circular queue 有权
    使用分段循环队列的生产者 - 消费者数据传输

    公开(公告)号:US08806168B2

    公开(公告)日:2014-08-12

    申请号:US13230833

    申请日:2011-09-12

    IPC分类号: G06F12/02

    摘要: 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.

    摘要翻译: 一种方法包括使用生产者线程生成值,并提供包括用于存储值的存储位置的第一阵列的队列数据结构。 第一个数组有一个第一个尾部指针和一个第一个链接指针。 如果存储在第一阵列中的多个值小于第一阵列的容量,则入队操作将新值写入由第一尾指针指向的存储位置并且前进第一尾指针。 如果存储在第一个阵列中的值的数量等于第一个阵列的容量,则在队列中分配第二个存储位置阵列。 第二个数组有一个第二个尾部指针。 第一个数组用第一个链接指针链接到第二个数组。 排队操作将新值写入由第二个尾部指针指向的存储位置,并推进第二个尾部指针。

    PRODUCER-CONSUMER DATA TRANSFER USING PIECEWISE CIRCULAR QUEUE
    9.
    发明申请
    PRODUCER-CONSUMER DATA TRANSFER USING PIECEWISE CIRCULAR QUEUE 有权
    生产者 - 消费者数据传输使用一个循环通道

    公开(公告)号:US20130067160A1

    公开(公告)日:2013-03-14

    申请号:US13230833

    申请日:2011-09-12

    IPC分类号: G06F12/08

    摘要: 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.

    摘要翻译: 一种方法包括使用生产者线程生成值,并提供包括用于存储值的存储位置的第一阵列的队列数据结构。 第一个数组有一个第一个尾部指针和一个第一个链接指针。 如果存储在第一阵列中的多个值小于第一阵列的容量,则入队操作将新值写入由第一尾指针指向的存储位置并且前进第一尾指针。 如果存储在第一个阵列中的值的数量等于第一个阵列的容量,则在队列中分配第二个存储位置阵列。 第二个数组有一个第二个尾部指针。 第一个数组用第一个链接指针链接到第二个数组。 排队操作将新值写入由第二个尾部指针指向的存储位置,并推进第二个尾部指针。

    Custom operators for a parallel query engine
    10.
    发明授权
    Custom operators for a parallel query engine 有权
    用于并行查询引擎的自定义运算符

    公开(公告)号:US08521721B2

    公开(公告)日:2013-08-27

    申请号:US12882168

    申请日:2010-09-14

    IPC分类号: G06F7/00 G06F17/30

    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.

    摘要翻译: 实施例涉及在并行查询引擎的查询中实现自定义运算符并且在并行查询引擎中生成查询运算符序列的分区表示。 计算机系统在并行查询引擎处接收分割的输入数据的一部分,其中并行查询引擎被配置为并行处理数据查询,并且查询包括一系列内置运算符。 计算机系统将定制运算符合并到用于查询的内置运算符序列中,并访问运算符序列以确定如何处理分区输入数据。 以与内置运算符相同的方式访问定制运算符。 计算机系统还根据指示如何处理数据的确定来处理包括内置运算符和至少一个定制运算符的运算符序列。