Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors

    公开(公告)号:US10402425B2

    公开(公告)日:2019-09-03

    申请号:US16044430

    申请日:2018-07-24

    Abstract: Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-flight, the data may be manipulated by data manipulation operations. The data movement system includes multiple data movement engines, each dedicated to moving and transforming tabular data from main memory data to a subset of the core processors. Each data movement engine is coupled to an internal memory that stores data (e.g. a bit vector) that dictates how data manipulation operations are performed on tabular data moved from a main memory to the memories of a core processor, or to and from other memories. The internal memory of each data movement engine is private to the data movement engine. Tabular data is efficiently copied between internal memories of the data movement system via a copy ring that is coupled to the internal memories of the data movement system and/or is coupled to a data movement engine. Also, a data movement engine internally broadcasts data to other data movement engines, which then transfer the data to respective core processors. Partitioning may also be performed by the hardware of the data movement system. Techniques are used to partition data “in flight”. The data movement system also generates a column of row identifiers (RIDs). A row identifier is a number treated as identifying a row or element's position within a column. Row identifiers each identifying a row in column are also generated.

    Boomerang join: a network efficient, late-materialized, distributed join technique

    公开(公告)号:US10397317B2

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

    申请号:US15720442

    申请日:2017-09-29

    Abstract: Embodiments comprise a distributed join processing technique that reduces the data exchanged over the network. Embodiments first evaluate the join using a partitioned parallel join based on join tuples that represent the rows that are to be joined to produce join result tuples that represent matches between rows for the join result. Embodiments fetch, over the network, projected columns from the appropriate partitions of the tables among the nodes of the system using the record identifiers from the join result tuples. To further conserve network bandwidth, embodiments perform an additional record-identifier shuffling phase based on the respective sizes of the projected columns from the relations involved in the join operation. Specifically, the result tuples are shuffled such that transmitting projected columns from the join relation with the larger payload is avoided and the system need only exchange, over the network, projected columns from the join relation with the smaller payload.

    COMPLETE, CORRECT AND FAST COMPILE-TIME ENCODING INFERENCE ON THE BASIS OF AN UNDERLYING TYPE SYSTEM

    公开(公告)号:US20190121893A1

    公开(公告)日:2019-04-25

    申请号:US15791696

    申请日:2017-10-24

    CPC classification number: G06F16/24549 G06F8/4441 G06F16/24534

    Abstract: Techniques are described herein for introducing transcode operators into a generated operator tree during query processing. Setting up the transcode operators with correct encoding type at runtime is performed by inferring correct encoding type information during compile time. The inference of the correct encoding type information occurs in three phases during compile time: the first phase involves collecting, consolidating, and propagating the encoding-type information of input columns up the expression tree. The second phase involves pushing the encoding-type information down the tree for nodes in the expression tree that do not yet have any encoding-type assigned. The third phase involves determining which inputs to the current relational operator need to be pre-processed by a transcode operator.

    BOOMERANG JOIN: A NETWORK EFFICIENT, LATE-MATERIALIZED, DISTRIBUTED JOIN TECHNIQUE

    公开(公告)号:US20190104175A1

    公开(公告)日:2019-04-04

    申请号:US15720442

    申请日:2017-09-29

    Abstract: Embodiments comprise a distributed join processing technique that reduces the data exchanged over the network. Embodiments first evaluate the join using a partitioned parallel join based on join tuples that represent the rows that are to be joined to produce join result tuples that represent matches between rows for the join result. Embodiments fetch, over the network, projected columns from the appropriate partitions of the tables among the nodes of the system using the record identifiers from the join result tuples. To further conserve network bandwidth, embodiments perform an additional record-identifier shuffling phase based on the respective sizes of the projected columns from the relations involved in the join operation. Specifically, the result tuples are shuffled such that transmitting projected columns from the join relation with the larger payload is avoided and the system need only exchange, over the network, projected columns from the join relation with the smaller payload.

    DYNAMIC OPERATION SCHEDULING FOR DISTRIBUTED DATA PROCESSING

    公开(公告)号:US20180314733A1

    公开(公告)日:2018-11-01

    申请号:US15581984

    申请日:2017-04-28

    Abstract: Techniques are provided for scheduling data operations for a given query based upon a query-cost model that analyzes the cost of scheduling data operations based upon their operation cost and the type of resources needed for the operation. In an embodiment, a database server receives a set of operations for a query. The database server determines a set of leaf operation nodes from the set of data operations, where the set of leaf operation nodes includes operation nodes that do not depend on the execution of other nodes within the set of data operations. The database server compares operation costs between the leaf operation nodes to determine which leaf operation node to insert into a scheduled order set. The database server inserts the leaf operation node into the scheduled order set. Then the database server iteratively determines new leaf operation nodes and performs cost analysis on remaining leaf operation nodes to generate a set of scheduled data operations.

    METHOD FOR FAILURE-RESILIENT DATA PLACEMENT IN A DISTRIBUTED QUERY PROCESSING SYSTEM
    17.
    发明申请
    METHOD FOR FAILURE-RESILIENT DATA PLACEMENT IN A DISTRIBUTED QUERY PROCESSING SYSTEM 有权
    分布式查询处理系统中的故障数据放置方法

    公开(公告)号:US20160328456A1

    公开(公告)日:2016-11-10

    申请号:US14704825

    申请日:2015-05-05

    CPC classification number: G06F17/30545

    Abstract: Herein is described a data placement scheme for a distributed query processing systems that achieves load balance amongst the nodes of the system. To identify a node on which to place particular data, a supervisor node performs a placement algorithm over the particular data's identifier, where the placement algorithm utilizes two or more hash functions. The supervisor node runs the placement algorithm until a destination node is identified that is available to store the data, or the supervisor node has run the placement algorithm an established number of times. If no available node is identified using the placement algorithm, then an available destination node is identified for the particular data and information identifying the data and the selected destination node is included in an exception map. Most data may be located by any node in the system based on the node performing the placement algorithm for the required data.

    Abstract translation: 这里描述了在系统的节点之间实现负载平衡的分布式查询处理系统的数据放置方案。 为了识别放置特定数据的节点,管理员节点对特定数据的标识符执行放置算法,其中放置算法利用两个或更多个散列函数。 管理员节点运行放置算法,直到识别到可用于存储数据的目标节点,或者管理员节点已经建立了放置算法已建立的次数。 如果使用放置算法没有识别可用节点,则识别特定数据的可用目的地节点,并且识别数据的信息和所选择的目的地节点被包括在异常映射中。 大多数数据可以由系统中的任何节点基于执行所需数据的放置算法的节点来定位。

    Estimating a cost of performing database operations using vectorized instructions
    18.
    发明授权
    Estimating a cost of performing database operations using vectorized instructions 有权
    使用向量化指令估计执行数据库操作的成本

    公开(公告)号:US09411842B2

    公开(公告)日:2016-08-09

    申请号:US13956357

    申请日:2013-08-01

    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, it is determined whether to perform a database operation using one or more vectorized instructions or without using any vectorized instructions. This determination may comprise estimating a first cost of performing the database operation using one or more vectorized instructions and estimating a second cost of performing the database operation without using any vectorized instructions. Multiple factors that may be used to determine which approach to follow, such as the number of data elements that may fit into a SIMD register, a number of vectorized instructions in the vectorized approach, a number of data movement instructions that involve moving data from a SIMD register to a non-SIMD register and/or vice versa, a size of a cache, and a projected size of a hash table.

    Abstract translation: 提供了使用向量化指令执行数据库操作的技术。 在一种技术中,确定是使用一个或多个矢量化指令执行数据库操作还是不使用任何矢量化指令。 该确定可以包括使用一个或多个向量化指令估计执行数据库操作的第一成本,并且估计在不使用任何向量化指令的情况下执行数据库操作的第二成本。 可以用于确定哪种方法的多个因素,诸如可以适合于SIMD寄存器的数据元素的数量,向量化方法中的多个向量化指令,涉及从 SIMD向非SIMD寄存器寄存器和/或反之亦然,高速缓存的大小以及散列表的投影大小。

    Pushdown Of Sorting And Set Operations (Union, Intersection, Minus) To A Large Number Of Low-Power Cores In A Heterogeneous System
    20.
    发明申请
    Pushdown Of Sorting And Set Operations (Union, Intersection, Minus) To A Large Number Of Low-Power Cores In A Heterogeneous System 有权
    在异质系统中对大量低功率核心的排序和设置操作(联合,交叉,减号)的下推

    公开(公告)号:US20140280037A1

    公开(公告)日:2014-09-18

    申请号:US13831279

    申请日:2013-03-14

    Abstract: A system and method for performing a query operation on a pair of relations in a database system coupled to a heterogeneous system (HS) is disclosed. Assuming that that pair of relations is partitioned and already loaded into the HS, the database system receives a query on the pair of relations and based on the type of query operation computes the cost of performing the query operation on the database alone or the costs of performing the query operation with the assistance of the HS, each of the costs corresponding to a particular algorithm. If the costs indicate that the HS improves the performance of the query operation, then the HS computes portions of the operation, and returns the results back to the database system. If any parts of the relation are out of sync with the database system, the database system performs operations to maintain transactional consistency.

    Abstract translation: 公开了一种用于对耦合到异构系统(HS)的数据库系统中的一对关系执行查询操作的系统和方法。 假设该对关系被分割并已经加载到HS中,则数据库系统接收关于该对关系的查询,并且基于查询操作的类型来计算对数据库执行查询操作的成本或单独的成本 在HS的帮助下执行查询操作,每个成本对应于特定算法。 如果成本表明HS提高了查询操作的性能,则HS计算操作的一部分,并将结果返回到数据库系统。 如果关系的任何部分与数据库系统不同步,则数据库系统将执行操作以维护事务一致性。

Patent Agency Ranking