EFFICIENT DATA DECODING USING RUNTIME SPECIALIZATION

    公开(公告)号:US20190377589A1

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

    申请号:US16006668

    申请日:2018-06-12

    Abstract: Computer-implemented techniques described herein provide efficient data decoding using runtime specialization. In an embodiment, a method comprises a virtual machine executing a body of code of a dynamically typed language, wherein executing the body of code includes: querying a relational database, and in response to the query, receiving table metadata indicating data types of one or more columns of a first table in the relational database. In response to receiving the table metadata: for a first column of the one or more columns, generating decoding machine code to decode the first column based on the data type of the first column, and executing the decoding machine code to decode the first column of the one or more columns.

    CODE DICTIONARY GENERATION BASED ON NON-BLOCKING OPERATIONS

    公开(公告)号:US20190251194A1

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

    申请号:US15897375

    申请日:2018-02-15

    CPC classification number: G06F16/2365 G06F16/221 G06F16/285

    Abstract: Techniques related to code dictionary generation based on non-blocking operations are disclosed. In some embodiments, a column of tokens includes a first token and a second token that are stored in separate rows. The column of tokens is correlated with a set of row identifiers including a first row identifier and a second row identifier that is different from the first row identifier. Correlating the column of tokens with the set of row identifiers involves: storing a correlation between the first token and the first row identifier, storing a correlation between the second token and the second row identifier if the first token and the second token have different values, and storing a correlation between the second token and the first row identifier if the first token and the second token have identical values. After correlating the column of tokens with the set of row identifiers, duplicate correlations are removed.

    VECTORIZED SORTED-SET INTERSECTION USING CONFLICT-DETECTION INSTRUCTIONS OPTIMIZED FOR SMALL UNPADDED ORDERED SETS

    公开(公告)号:US20220222081A1

    公开(公告)日:2022-07-14

    申请号:US17148951

    申请日:2021-01-14

    Abstract: A method includes determining, whether: a first case is applicable, in which a first number of values of a first dataset and a second number of values of a second dataset total less than or equal to a third number of values of a register; a second case is applicable, in which the first and second numbers total more than the third number, and the first or second number is less than or equal to half of the third number; or a third case is applicable, in which the first and second numbers total more than the third number, and each of the first and second numbers is greater than half of the third number. In response to the determining, the method includes selectively loading to the register a first portion of the first dataset and a second portion of the second dataset, and performing conflict-detection for identifying one or more common values in the register loaded with the first portion and the second portion.

    VECTORIZED QUEUES FOR SHORTEST-PATH GRAPH SEARCHES

    公开(公告)号:US20210271711A1

    公开(公告)日:2021-09-02

    申请号:US16803832

    申请日:2020-02-27

    Abstract: Techniques are described for a vectorized queue, which implements a vectorized ‘contains’ function that determines whether a value is in the queue. A three-phase vectorized shortest-path graph search splits each expanding and probing iteration into three phases that utilize vectorized instructions: (1) The neighbors of nodes that are in a next queue are fetched and written into a current queue. (2) It is determined whether the destination node is among the fetched neighbor nodes in the current queue. (3) The fetched neighbor nodes that have not yet been visited are put into the next queue. According to an embodiment, a vectorized copy operation performs vector-based data copying using vectorized load and store instructions. Specifically, vectors of data are copied from a source to a destination. Any invalid data copied to the destination is overwritten, either with a vector of additional valid data or with a vector of nonce data.

    Non-disruptive referencing of special purpose operators for database management systems

    公开(公告)号:US10990596B2

    公开(公告)日:2021-04-27

    申请号:US16442015

    申请日:2019-06-14

    Abstract: Approaches herein transparently delegate data access from a relational database management system (RDBMS) onto an offload engine (OE). The RDBMS receives a database statement referencing a user defined function (UDF). In an execution plan, the RDBMS replaces the UDF reference with an invocation of a relational operator in the OE. Execution invokes the relational operator in the OE to obtain a result based on data in the OE. Thus, the UDF is bound to the OE, and almost all of the RDBMS avoids specially handling the UDF. The UDF may be a table function that offloads a relational table for processing. User defined objects such as functions and types provide metadata about the table. Multiple tables can be offloaded and processed together, such that some or all offloaded tables are not materialized in the RDBMS. Offloaded tables may participate in standard relational algebra such as in a database statement.

    EVALUATION TECHNIQUES FOR FAST ACCESS TO STRUCTURED, SEMI-STRUCTURED AND UNSTRUCTURED DATA USING A VIRTUAL MACHINE THAT PROVIDES SUPPORT FOR DYNAMIC CODE GENERATION

    公开(公告)号:US20180246752A1

    公开(公告)日:2018-08-30

    申请号:US15864863

    申请日:2018-01-08

    Abstract: Computer-implemented techniques described herein provide fast access to structured, semi-structured, and unstructured data using a virtual machine that provides support for dynamic code generation. In an embodiment, a virtual machine allows for the efficient encoding of data objects into hierarchically marked up data. A virtual machine is configured to dynamically create attributes of objects referenced by a body of code and hidden classes used to store attributes of objects referenced by the body of code. The virtual machine will determine whether a hidden class of an object satisfies one or more encoding criteria for encoding instances of objects with the hidden class. Encoding machine code is generated and executed to encode instances of objects with the hidden class. In another embodiment, direct structure decoding enables the generation of efficient machine code that is specialized for accessing only a subset of the input data that is used by an application. A parse operation is received to parse a hierarchical data object and a proxy object is created in a runtime memory space that references the hierarchical data object. It is then determined that the hierarchical data object is syntactically valid, and in response to receiving a request to read a property of the hierarchical data object, a subset of hierarchical data from the hierarchical data object is parsed to materialize a value of the property in the proxy object.

Patent Agency Ranking