ALLOCATION OF WORKER THREADS IN A PARALLELIZATION FRAMEWORK WITH RESULT STREAMING

    公开(公告)号:US20230281055A1

    公开(公告)日:2023-09-07

    申请号:US17688212

    申请日:2022-03-07

    Applicant: SAP SE

    CPC classification number: G06F9/505 G06F9/4881

    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.

    Query plan generation and execution based on single value columns

    公开(公告)号:US11556537B2

    公开(公告)日:2023-01-17

    申请号:US16370556

    申请日:2019-03-29

    Applicant: SAP SE

    Abstract: Aspects of the current subject matter are directed to executing queries on tables in which one or more columns contain a single value. Upon execution of a query, columns in which a single value is contained are identified, and a pre-compiled code entry containing relevant identifying information is compiled as part of a query execution plan. The query execution plan is used for subsequent query executions, alleviating the need to access the columns during the subsequent query executions that involve the columns. A fingerprint value may be used to track if changes to relevant tables occur.

    Take over table opening for operators

    公开(公告)号:US11487737B2

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

    申请号:US16364521

    申请日:2019-03-26

    Applicant: SAP SE

    Abstract: In some aspects, there is provided a method that may include: intercepting a query requiring access to data stored in a table. The query may include an identifier, which may be associated with a row of the table and a reference to a column of the table. The method may further include preparing a table object to enable access to the data stored in the row and the column of the table. The preparing may include locating the row associated with the identifier. The preparing may further include acquiring locks for the data stored in the located row and the column in the row. The method may also include executing the query upon preparing the table object. Related systems, methods, and articles of manufacture are also described.

    QUERY EXECUTION INCLUDING PAUSE AND DETACH OPERATIONS AFTER FIRST DATA FETCH

    公开(公告)号:US20200311066A1

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

    申请号:US16370580

    申请日:2019-03-29

    Applicant: SAP SE

    Abstract: Aspects of the current subject matter are directed to providing query results to clients by incorporating pause and/or detach operations into the query execution after a first fetch of results. The pause and the detach operations for query execution consistent with implementations of the current subject matter result in reduced times and conserved resources in providing query results by computing only results necessary to satisfy a first fetch call prior to computing results necessary to satisfy subsequent fetch calls.

    ALLOCATION OF WORKER THREADS IN A PARALLELIZATION FRAMEWORK WITH RESULT STREAMING

    公开(公告)号:US20250045118A1

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

    申请号:US18924585

    申请日:2024-10-23

    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.

    DEEPEST-ONLY SCHEDULING
    16.
    发明申请

    公开(公告)号:US20250036627A1

    公开(公告)日:2025-01-30

    申请号:US18358270

    申请日:2023-07-25

    Applicant: SAP SE

    Abstract: In some implementations, there is provided executing a query execution plan for a query; setting a first flag to indicate to a plurality of worker threads to stop executing tasks in a first queue of a memory stack; pushing into the memory stack, a second queue containing one or more exclusive tasks associated with the query; setting a second flag to indicate to the plurality of worker threads to resume working; and in response to the second queue being empty of the one or more exclusive tasks, setting a third flag to indicate to the plurality of worker threads to stop executing tasks in the second queue, and setting a fourth flag to indicate to the plurality of worker threads to resume working on the tasks in the first queue.

    Custom table scan for top k queries

    公开(公告)号:US12204537B1

    公开(公告)日:2025-01-21

    申请号:US18355318

    申请日:2023-07-19

    Applicant: SAP SE

    Abstract: In some implementations, there is provided a method that includes receiving a query request including a top k query operator for query plan generation, optimization, and execution, wherein k defines a threshold limit of query results for the top k query operator; inserting into a query plan a check operator associated with the top k query operator; in response to executing the query plan, checking, by the check operator, whether an early exit occurs due to the top k query operator reaching the threshold limit; in response to the early exit occurring due to the top k query operator reaching the threshold limit, stopping processing, by the check operator, including opening of another fragment of a database table; and in response to the early exit not occurring, allowing, by the check operator, the opening of the other fragment of the database table.

    Result streaming by reordering pipelines

    公开(公告)号:US12164519B2

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

    申请号:US18302242

    申请日:2023-04-18

    Applicant: SAP SE

    Abstract: In some example embodiments, there is provided a method that includes receiving a query for query plan generation and query plan optimization; detecting whether the query plan includes a restart pipeline, the restart pipeline including one or more first operators that cause a query plan restart; detecting whether the query plan includes a result pipeline, the result pipeline including one or more second operators that provide result streaming; determining whether there is a dependency between execution of the restart pipeline and execution of the result pipeline; in response to determining there is no dependency, reordering the restart pipeline in the query plan such that the restart pipeline will be executed before the result pipeline in order to enable result streaming optimization; and providing the reordered query plan for execution. Related systems and computer program products are also provided.

    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.

Patent Agency Ranking