Patents by Inventor Marius Eich
Marius Eich has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20260133971Abstract: A database execution engine generates a first query execution plan in response to receiving a first query, where a thread limit is specified for worker threads launched by the database execution engine. A first main executor thread is launched to process the first query and a first plurality of tasks are created to be performed in response to the first query. Then, a first plurality of worker threads are launched to perform the first plurality of tasks, where the first plurality of worker threads is less than or equal to the thread limit. In response to parallelizing processing of the first query execution plan, the first main executor thread is restricted to a first period of execution time before entering a waiting phase. The first main executor thread is woken up after the first plurality of worker threads have completed the first plurality of tasks.Type: ApplicationFiled: October 7, 2025Publication date: May 14, 2026Inventors: Christina Teflioudi, Paul Willems, Marius Eich
-
Publication number: 20260064689Abstract: A database execution engine generates query execution plan for a received query, where the query execution plan includes one or more operators which will be interpreted by an interpreter when the query execution plan is executed. A query execution engine determines an overhead associated with preparation of the interpreter for executing the one or more operators of the query execution plan. Also, the query execution engine determines a preferred task size based on removing the overhead associated with preparation of the interpreter. During execution of the query execution plan, the query execution engine assigns tasks to one or more worker threads, where a task size of each assigned task is determined based on the preferred task size.Type: ApplicationFiled: August 27, 2024Publication date: March 5, 2026Inventors: Christina Teflioudi, Paul Willems, Marius Eich
-
Publication number: 20260044506Abstract: A database execution engine initiates generation of a query plan on a projection pipeline for a received query. In response to initiating generation of the query plan, the database execution engine determines a first estimate of total work that will be parallelized by a scheduling operator for the query plan. Also, the database execution engine determines a second estimate of a final result size at the projection pipeline. Next, the database execution engine calculates a target number of rows based on a pause threshold and one or more configuration parameters. Then, the database execution engine calculates a task size upper bound by multiplying the target number of rows by the first estimate divided by the second estimate. During execution of the query plan, the database execution engine applies the task size upper bound to task sizes for result streaming threads scheduled by the scheduling operator on the projection pipeline.Type: ApplicationFiled: August 12, 2024Publication date: February 12, 2026Inventors: Christina Teflioudi, Paul Willems, Marius Eich
-
Publication number: 20260023592Abstract: Arrangements for adjusting adaptive workers increase for waiting situations are provided. A number of tasks that have been processed since a last check of periodic checks into a task queue may be determined. In response to determining that a progress threshold has not been reached, determining, for a thread working in the task queue, a thread active time and an elapsed time. The thread active time may include an accumulated time the thread was actively executing a task since the last check of the periodic checks into the task queue. The elapsed time may include an amount of time that has passed since the last check of periodic checks into a task queue. A ratio of the thread active time and the elapsed time may be determined. A number of threads for executing the task queue may be adaptively configured based on the ratio.Type: ApplicationFiled: July 17, 2024Publication date: January 22, 2026Inventors: Christina Teflioudi, Paul Willems, Marius Eich
-
Patent number: 12461915Abstract: A database execution engine generates a first query execution plan in response to receiving a first query, where a thread limit is specified for worker threads launched by the database execution engine. A first main executor thread is launched to process the first query and a first plurality of tasks are created to be performed in response to the first query. Then, a first plurality of worker threads are launched to perform the first plurality of tasks, where the first plurality of worker threads is less than or equal to the thread limit. In response to parallelizing processing of the first query execution plan, the first main executor thread is restricted to a first period of execution time before entering a waiting phase. The first main executor thread is woken up after the first plurality of worker threads have completed the first plurality of tasks.Type: GrantFiled: August 27, 2024Date of Patent: November 4, 2025Assignee: SAP SEInventors: Christina Teflioudi, Paul Willems, Marius Eich
-
Publication number: 20250036627Abstract: 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.Type: ApplicationFiled: July 25, 2023Publication date: January 30, 2025Inventors: Marius Eich, Christina Teflioudi, Paul Willems
-
Patent number: 11386087Abstract: In some aspects, there is provided a method including receiving an execution plan file, the execution plan file utilizing at least one operator of interest and further utilizing other actions separate from the at least one operator of interest. The method further includes forming an execution plan object by modifying the execution plan file by isolating the at least one operator of interest from the other actions. The method further includes performing a series of tests executing an extended execution plan object. The series of tests can include receiving the input data identified by the one or more pointers in the extended execution plan object, executing the extended execution plan object using the received input data, measuring, based on the execution of the extended execution plan object, at least one cost metric representative of execution of the at least one operator of interest, and outputting the measured cost metric.Type: GrantFiled: April 3, 2019Date of Patent: July 12, 2022Assignee: SAP SEInventors: Marius Eich, Dennis Felsing
-
Patent number: 11138165Abstract: A method, a system, and a computer program product for executing a query. A query plan for execution of a query is generated. The query requires access to at least one table stored in a database system. The query includes one or more filter predicates. A filter predicate in the one or more filter predicates is selected. For the selected filter predicate, a plurality of cost function values associated executing a filter evaluation of the selected filter predicate are determined. Filter evaluation of the selected predicate is executed in accordance with at least one determined cost function value in the plurality of cost function values.Type: GrantFiled: April 4, 2019Date of Patent: October 5, 2021Assignee: SAP SEInventors: Oliver Horn, Marius Eich
-
Publication number: 20200320078Abstract: In some aspects, there is provided a method including receiving an execution plan file, the execution plan file utilizing at least one operator of interest and further utilizing other actions separate from the at least one operator of interest. The method further includes forming an execution plan object by modifying the execution plan file by isolating the at least one operator of interest from the other actions. The method further includes performing a series of tests executing an extended execution plan object. The series of tests can include receiving the input data identified by the one or more pointers in the extended execution plan object, executing the extended execution plan object using the received input data, measuring, based on the execution of the extended execution plan object, at least one cost metric representative of execution of the at least one operator of interest, and outputting the measured cost metric.Type: ApplicationFiled: April 3, 2019Publication date: October 8, 2020Inventors: Marius Eich, Dennis Felsing
-
Publication number: 20200320048Abstract: A method, a system, and a computer program product for executing a query. A query plan for execution of a query is generated. The query requires access to at least one table stored in a database system. The query includes one or more filter predicates. A filter predicate in the one or more filter predicates is selected. For the selected filter predicate, a plurality of cost function values associated executing a filter evaluation of the selected filter predicate are determined. Filter evaluation of the selected predicate is executed in accordance with at least one determined cost function value in the plurality of cost function values.Type: ApplicationFiled: April 4, 2019Publication date: October 8, 2020Inventors: Oliver Horn, Marius Eich