Allocation of worker threads in a parallelization framework with result streaming

    公开(公告)号:US12153965B2

    公开(公告)日:2024-11-26

    申请号:US17688212

    申请日:2022-03-07

    Applicant: SAP SE

    Abstract: A method for allocating worker threads may include receiving a first fetch call for a query accessing a dataset stored at a database. The first fetch call may require a first portion of a result for the query. A first quantity of worker threads may be allocated to generate the first portion of the result for the query in response to the first fetch call. In response to a second fetch call for the query by determining a threshold corresponding to the first quantity of worker threads, a second quantity of data required for the second fetch call, and a third quantity of data buffered from the first fetch call. A second quantity of worker threads to generate a second portion of the result for the query may be allocated based on the threshold. Related systems and computer program products are also provided.

    DYNAMICALLY GENERATED OPERATIONS IN A PARALLEL PROCESSING FRAMEWORK

    公开(公告)号:US20240378201A1

    公开(公告)日:2024-11-14

    申请号:US18779922

    申请日:2024-07-22

    Applicant: SAP SE

    Abstract: A method for executing a dynamically generated operation in a parallel processing framework may include executing the dynamically generated operation sequentially for a threshold quantity of times before initiating a compilation operation to generate precompiled code for the dynamically generated operation. Upon generating the precompiled code, execution of the precompiled code may be parallelized by determining, based on a quantity of time required to execute the precompiled code on a portion of a dataset, a task size. The execution of the precompiled code may be divided, based on the task size, into one or more tasks. Moreover, a corresponding quantity of worker threads may be allocated to perform the one or more tasks in parallel. Related methods and computer program products are also provided.

    On-demand access of database table partitions

    公开(公告)号:US12118003B2

    公开(公告)日:2024-10-15

    申请号:US17684770

    申请日:2022-03-02

    Applicant: SAP SE

    CPC classification number: G06F16/24554 G06F16/2343 G06F16/24544

    Abstract: A method for on-demand access to table partitions may include receiving, at a data execution engine, a query accessing a database table divided into a first partition and a second partition stored at different nodes of the database. The data execution engine may respond to the query by acquiring a lock on the database table and instantiating data structures to support the execution of the query without loading any of the partitions of the database table into a main memory. Instead, the loading of the individual partitions of the database table may be delegated to the operators tasked with performing the operations included in the execution plan for the query. Each operator may refrain from loading those partitions of the database table that are determined to be unnecessary for performing the individual operations. Related systems and computer program products are also provided.

    Dynamically generated operations in a parallel processing framework

    公开(公告)号:US12072879B2

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

    申请号:US17735493

    申请日:2022-05-03

    Applicant: SAP SE

    Abstract: A method for executing a dynamically generated operation in a parallel processing framework may include executing the dynamically generated operation sequentially for a threshold quantity of times before initiating a compilation operation to generate precompiled code for the dynamically generated operation. Upon generating the precompiled code, execution of the precompiled code may be parallelized by determining, based on a quantity of time required to execute the precompiled code on a portion of a dataset, a task size. The execution of the precompiled code may be divided, based on the task size, into one or more tasks. Moreover, a corresponding quantity of worker threads may be allocated to perform the one or more tasks in parallel. Related methods and computer program products are also provided.

    MULTI-FRAGMENT INDEX SCAN
    55.
    发明公开

    公开(公告)号:US20240256514A1

    公开(公告)日:2024-08-01

    申请号:US18591568

    申请日:2024-02-29

    Applicant: SAP SE

    CPC classification number: G06F16/2282 G06F16/221 G06F16/2228 G06F16/24556

    Abstract: A method for performing a multi-fragment index scan operation included in a query pipeline of a query accessing a database table may include performing an index scan on a first chunk of a first fragment of the database table and a second chunk of a second fragment of the database table. A first output of the index scan on the first chunk of the first fragment of the database table and a second output of the index scan on the second chunk of the second fragment of the database table may be merged to generate a partial result set for ingestion by a next operation in the query pipeline. The multi-fragment index scan operation may continue with index scans on subsequent chunks of the first fragment and second fragment of the database table. Related systems and computer program products are also provided.

    DISTRIBUTED QUERY PLAN GENERATION
    56.
    发明公开

    公开(公告)号:US20230376485A1

    公开(公告)日:2023-11-23

    申请号:US17746601

    申请日:2022-05-17

    Applicant: SAP SE

    CPC classification number: G06F16/24542 G06F16/24535

    Abstract: A method, a system, and a computer program product for generating an executable query plan. A query requiring access to data stored in a database system is received. Based on the received query, a query execution plan having a plurality of query execution pipelines is generated. Each query execution pipeline in the plurality of query execution pipelines is configured to execute a plurality of operations in a predetermined order associated with each query execution pipeline. The generated query execution plan is fragmented into a plurality of fragments. Each fragment has one or more query execution pipelines in the plurality of query execution pipelines. Each fragment of the generated query execution plan is transmitted to one or more execution locations in a plurality of execution locations for execution. Each fragment of the generated query execution plan is executed at one or more execution locations. One or more results of executions are combined to generate a response to the received query.

    TRANSPORT OF NON-STANDARDIZED DATA BETWEEN RELATIONAL DATABASE OPERATIONS

    公开(公告)号:US20230350867A1

    公开(公告)日:2023-11-02

    申请号:US17733507

    申请日:2022-04-29

    Applicant: SAP SE

    Abstract: A method for processing non-standardized data in a relational database may include identifying, within a sequence of operations forming a query pipeline for executing a query, a first operation ingesting a non-standardized data. In response to identifying the first operation ingesting the non-standardized data, a second operation may be inserted before the first operation. The non-standardized data may be output by a third operation preceding the first operation or a source external to the query pipeline. The second operation may serialize the non-standardized data for ingestion by the first operation, for example, by generating a relational table populated by the non-standardized data. The query may be executed by performing the sequence of operations included in the query pipeline. Related systems and computer program products are also provided.

    Heapsort in a parallel processing framework

    公开(公告)号:US11775543B1

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

    申请号:US17723949

    申请日:2022-04-19

    Applicant: SAP SE

    CPC classification number: G06F16/248 G06F16/23

    Abstract: A method for performing a parallelized heapsort operation may include updating, by a first worker thread, a first buffer while a second worker thread updates a second buffer in parallel. The first worker thread may update the first buffer by adding, to the first buffer, elements from a first partition of a dataset. The second worker thread may update the second buffer by adding, to the second buffer, elements from a second partition of the dataset. Upon the first buffer reaching a threshold size, the first worker thread may acquire a lock for the first worker thread to update a heap based on the first buffer while the second worker thread is prevented from updating the heap based on the second buffer. A result of a top k query comprising a k quantity of smallest elements from the dataset may be generated based on the heap.

    Scaled-out query execution engine
    59.
    发明授权

    公开(公告)号:US11429610B2

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

    申请号:US16837843

    申请日:2020-04-01

    Applicant: SAP SE

    Abstract: A method, a system, and a computer program product for generating a query executable plan. A query requiring access to data stored in a database system is received. Based on the received query, a query execution plan having a plurality of query execution pipelines is generated. Each query execution pipeline in the plurality of query execution pipelines is configured to execute a plurality of operations in a predetermined order associated with each query execution pipeline. The generated query execution plan is fragmented into a plurality of fragments. Each fragment has one or more query execution pipelines in the plurality of query execution pipelines. The received query is executed by executing each fragment in the plurality of fragments.

    Release of latches for garbage collection

    公开(公告)号:US11386102B2

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

    申请号:US16371609

    申请日:2019-04-01

    Applicant: SAP SE

    Abstract: A query is received at a database execution engine. The query is executed by the database execution engine, the executing including executing one or more threads that operate on versions of data of the delta fragment; acquiring and releasing, by a first thread, a latch on a first version of the data of the delta fragment, the releasing is performed prior to the first thread entering a wait state; and reclaiming the first version of the data of the delta fragment from memory and during execution of the query. Related systems, methods, and articles of manufacture are also described.

Patent Agency Ranking