PROBING A HASH TABLE USING VECTORIZED INSTRUCTIONS
    2.
    发明申请
    PROBING A HASH TABLE USING VECTORIZED INSTRUCTIONS 有权
    使用VECTORIZED指令来检测一张表

    公开(公告)号:US20150039627A1

    公开(公告)日:2015-02-05

    申请号:US13956350

    申请日:2013-07-31

    CPC classification number: G06F17/3033

    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, a hash table probe phase involves executing vectorized instructions to determine where in a bucket a particular key is located. This determination may be preceded by one or more vectorized instructions that are used to determine whether the bucket contains the particular key.

    Abstract translation: 提供了使用向量化指令执行数据库操作的技术。 在一种技术中,散列表探测阶段涉及执行向量化指令以确定特定密钥位于桶中的哪里。 该确定之前可以是用于确定桶是否包含特定密钥的一个或多个向量化指令。

    Multi-system query execution plan

    公开(公告)号:US10585887B2

    公开(公告)日:2020-03-10

    申请号:US14673560

    申请日:2015-03-30

    Abstract: Techniques are described to evaluate an operation from an execution plan of a query to offload the operation to another database management system for less costly execution. In an embodiment, the execution plan is determined based on characteristics of the database management system that received the query for execution. One or more operations in the execution plan are then evaluated for offloading to another heterogeneous database management system. In a related embodiment, the offloading cost for each operation may also include communication cost between the database management systems. The operations that are estimated to be less costly to execute on the other database management system are then identified for offloading to the other database management system. In an alternative embodiment, the database management system generates permutations of execution plans for the same query, and similarly evaluates each permutation of the execution plans for offloading its one or more operations. Based on the total cost of each permutation, which may include offloading cost for one or more operations to another database management system, the least costly plan is selected for the query execution.

    ESTIMATING A COST OF PERFORMING DATABASE OPERATIONS USING VECTORIZED INSTRUCTIONS
    4.
    发明申请
    ESTIMATING A COST OF PERFORMING DATABASE OPERATIONS USING VECTORIZED INSTRUCTIONS 有权
    使用演示说明估算执行数据库操作的成本

    公开(公告)号:US20150039853A1

    公开(公告)日:2015-02-05

    申请号: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寄存器寄存器和/或反之亦然,高速缓存的大小以及散列表的投影大小。

    DATA COMPACTION USING VECTORIZED INSTRUCTIONS
    6.
    发明申请
    DATA COMPACTION USING VECTORIZED INSTRUCTIONS 有权
    使用演示指令进行数据压缩

    公开(公告)号:US20150039852A1

    公开(公告)日:2015-02-05

    申请号:US13956356

    申请日:2013-08-01

    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, data compaction is performed using vectorized instructions to identify a shuffle mask based on matching bits and update an output array based on the shuffle mask and an input array. In a related technique, a hash table probe involves using vectorized instructions to determine whether each key in one or more hash buckets matches a particular input key.

    Abstract translation: 提供了使用向量化指令执行数据库操作的技术。 在一种技术中,使用向量化指令执行数据压缩,以基于匹配比特来识别洗牌掩码,并且基于随机播放掩码和输入阵列更新输出阵列。 在相关技术中,散列表探测器涉及使用向量化指令来确定一个或多个散列桶中的每个密钥是否与特定输入密钥匹配。

    BUILDING A HASH TABLE USING VECTORIZED INSTRUCTIONS
    7.
    发明申请
    BUILDING A HASH TABLE USING VECTORIZED INSTRUCTIONS 有权
    使用VECTORIZED指令构建一个HASH表

    公开(公告)号:US20150039626A1

    公开(公告)日:2015-02-05

    申请号:US13956343

    申请日:2013-07-31

    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, a hash table build phase involves executing vectorized instructions to determine whether a bucket in a hash table includes a free slot for inserting a key. A number of data elements from the bucket are loaded in a register. A vectorized instruction is executed against the register may be used to determine a position, within the register, that contains the “smallest” data element. If the data element at that position is zero (or negative), then it is determined that the corresponding position in the bucket is an available slot for inserting a key and corresponding data value.

    Abstract translation: 提供了使用向量化指令执行数据库操作的技术。 在一种技术中,散列表构建阶段涉及执行向量化指令以确定散列表中的桶是否包括用于插入密钥的空闲时隙。 来自桶的多个数据元素被加载到寄存器中。 对寄存器执行的向量化指令可用于确定寄存器内包含“最小”数据元素的位置。 如果该位置的数据元素为零(否定),则确定桶中的对应位置是用于插入密钥和相应数据值的可用时隙。

    Performing database operations using a vectorized approach or a non-vectorized approach

    公开(公告)号:US10671583B2

    公开(公告)日:2020-06-02

    申请号:US15684943

    申请日:2017-08-24

    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.

    PERFORMING DATABASE OPERATIONS USING A VECTORIZED APPROACH OR A NON-VECTORIZED APPROACH

    公开(公告)号:US20170351670A1

    公开(公告)日:2017-12-07

    申请号:US15684943

    申请日:2017-08-24

    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.

    Building a hash table
    10.
    发明授权

    公开(公告)号:US09779123B2

    公开(公告)日:2017-10-03

    申请号:US14990589

    申请日:2016-01-07

    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, a hash table build phase involves executing vectorized instructions to determine whether a bucket in a hash table includes a free slot for inserting a key. A number of data elements from the bucket are loaded in a register. A vectorized instruction is executed against the register may be used to determine a position, within the register, that contains the “smallest” data element. If the data element at that position is zero (or negative), then it is determined that the corresponding position in the bucket is an available slot for inserting a key and corresponding data value.

Patent Agency Ranking