IP Library Granted Patent US 12,130,811
Granted Patent B2
US 12,130,811 · App. 18/362,869 · Granted Oct 29, 2024

Task-execution planning using machine learning

Inventors: Qiming Jiang (Redmond, WA); Orestis Kostakis (Redmond, WA); John Reumann (Kirkland, WA)
Assignee: Snowflake Inc.
G06F16/24542G06F16/27
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,130,811
App. No.
18/362,869
Granted
Oct 29, 2024
Kind
B2
Abstract

A system for improving task scheduling on a cloud data platform is provided. A task to be executed using resources of a computing cluster is received. A task execution plan is generated and information about data to be used for the ask is accessed. Resource requirements for executing the task are predicted by applying machine learning to the task execution plan and the information about the data. Assignment data is generated to execute the task on the resources by applying machine learning information about a current state of the resources and predicted resource requirements.

Claims (55)

1. A method comprising:

receiving a task to be executed using resources of a computing cluster;

generating a task execution plan;

accessing information about data to be used for the task;

predicting, by at least one hardware processor, resource requirements for executing the task by applying machine learning to the task execution plan and the information about the data;

determining a total amount of time from submission of the task to termination of the task, the determining the total amount of the time comprising:

generating a prediction profile; and

managing assignment of a query based on resource data for the task; and

generating assignment data to execute the task on the resources by applying machine learning information about a current state of the resources and the predicted resource requirements.

2. The method of claim 1 , further comprising:

identifying an optimal number of tasks, the optimal number of tasks depending on a specific type of the task being executed; and

performing task coordination based on the optimal number of tasks, the task coordination including determining a number of tasks to execute on the computing cluster.

3. The method of claim 2 , wherein the identifying the optimal number of tasks further comprises:

identifying a characteristic of each task; and

identifying one or more requirements that each task imposes on the computing cluster.

4. The method of claim 1 , further comprising:

implementing, on a cloud data platform, improved task scheduling on a multi-server cluster for data-related workloads, the improved task scheduling including improving a throughput with minimal increase in a latency of the task.

5. The method of claim 1 , wherein each task comprises a query for execution on a dataset of the computing cluster.

6. A system comprising:

one or more hardware processors of a machine; and

at least one memory storing instructions that, when executed by the one or more hardware processors, cause the machine to perform operation comprising:

receiving a task to be executed using resources of a computing cluster;

generating a task execution plan;

accessing information about data to be used for the task;

predicting, by at least one hardware processor, resource requirements for executing the task by applying machine learning to the task execution plan and the information about the data;

determining a total amount of time from submission of the task to termination of the task, the determining the total amount of the time comprising:

generating a prediction profile; and

managing assignment of a query based on resource data for the task; and

generating assignment data to execute the task on the resources by applying machine learning information about a current state of the resources and the predicted resource requirements.

7. The system of claim 6 , the operations further comprising:

identifying an optimal number of tasks, the optimal number of tasks depending on a specific type of the task being executed; and

performing task coordination based on the optimal number of tasks, the task coordination including determining a number of tasks to execute on the computing cluster.

8. The system of claim 7 , wherein the identifying the optimal number of tasks further comprises:

identifying a characteristic of each task; and

identifying one or more requirements that each task imposes on the computing cluster.

9. The system of claim 8 , the operations further comprising:

implementing, on a cloud data platform, improved task scheduling on a multi-server cluster for data-related workloads, the improved task scheduling including improving a throughput with minimal increase in a latency of the task.

10. The system of claim 6 , wherein each task comprises a query for execution on a dataset of the computing cluster.

11. A machine-storage media embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:

receiving a task to be executed using resources of a computing cluster;

generating a task execution plan;

accessing information about data to be used for the task;

predicting, by at least one hardware processor, resource requirements for executing the task by applying machine learning to the task execution plan and the information about the data;

determining a total amount of time from submission of the task to termination of the task, the determining the total amount of the time comprising:

generating a prediction profile; and

managing assignment of a query based on resource data for the task; and

generating assignment data to execute the task on the resources by applying machine learning information about a current state of the resources and the predicted resource requirements.

12. The machine-storage media of claim 11 , the operations further comprising:

identifying an optimal number of tasks, the optimal number of tasks depending on a specific type of the task being executed; and

performing task coordination based on the optimal number of tasks, the task coordination including determining a number of tasks to execute on the computing cluster.

13. The machine-storage media of claim 12 , wherein the identifying the optimal number of tasks further comprises:

identifying a characteristic of each task; and

identifying one or more requirements that each task imposes on the computing cluster.

14. The machine-storage media of claim 13 , the operations further comprising:

implementing, on a cloud data platform, improved task scheduling on a multi-server cluster for data-related workloads, the improved task scheduling including improving a throughput with minimal increase in a latency of the task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: JIANG, QIMING; KOSTAKIS, ORESTIS; REUMANN, JOHN
To: SNOWFLAKE INC.
Reel/Frame 064441/0893 →
Continuity (3)
Continuation 18104256 · Jan 31, 2023
Continuation 17930277 · Sep 7, 2022
Related Publication 20240078235A1 · Mar 7, 2024