IP Library Granted Patent US 10,733,023
Granted Patent B1
US 10,733,023 · App. 15/227,348 · Granted Aug 4, 2020

Oversubscription scheduling

Inventors: Connor Patric Doyle (San Francisco, CA); Christoforos Kozyrakis (San Francisco, CA); Niklas Quarfot Nielsen (San Francisco, CA)
Assignee: D2iQ, Inc.
G06F9/5038G06F9/4881G06F9/4887G06F9/5083G06F2209/501
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 10,733,023
App. No.
15/227,348
Filed
Aug 3, 2016
Granted
Aug 4, 2020
Kind
B1
Art Unit
2199
USPC
718/103
Abstract

A system for adjusting oversubscription loading includes an interface and a processor. The interface is configured to receive a set of performance data from a set of worker systems. The processor is configured to determine a feedback indication for a worker system of the set of worker systems based at least in part on the set of performance data. The feedback indication is used to adjust an oversubscription controller on the worker system. The processor is configured to provide the feedback indication to the worker system.

Claims (48)

1. A master system for adjusting oversubscription loading, comprising:

an interface configured to:

receive a set of performance data from a set of worker systems; and

a processor configured to:

determine a feedback indication for a worker system of the set of worker systems based at least in part on the set of performance data, wherein the feedback indication is used to adjust eviction criteria of an oversubscription controller on the worker system, and wherein the determining of the feedback indication comprises operations to:

perform the following:

A) determine a response time for an application performing requests sent to the application to obtain a stability indicator; and

in response to a determination that the response time is greater than or equal to a maximum response time threshold, include the stability indicator in the feedback indication;

B) compare first tasks under ideal conditions over a first period of time with no potentially interfering workloads present on a worker with second tasks over a second period of time with one or more other interfering workloads present on the same worker to obtain a software experiment data; and

in response to a determination that a decrease in the second tasks over the second period of time, based on a comparison of the first tasks and the second tasks, is greater than or equal to a maximum decrease threshold, include the software experiment data in the feedback indication;

C) determine whether two or more tasks that are scheduled on the same worker use a shared resource to obtain a task interference; and

in response to a determination that the two or more tasks that are scheduled on the same worker use the shared resource, include the task interference in the feedback indication; and

D) include a classification of performance data in the feedback indication, the classification of performance data including a processor intensive classification being a dominant usage of system resources, a memory intensive classification being a dominant usage of system resources, a network access intensive classification being a dominant usage of system resources, a disk access intensive classification being a dominant usage of system resources, or any combination thereof; and

adjust the oversubscription controller of the worker system to evict a job, based on the provided feedback indication, useable by the worker system.

2. The system of claim 1 , wherein the feedback indication is used to adjust a set point on the oversubscription controller.

3. The system of claim 2 , wherein the set point comprises a desired processor load set point.

4. The system of claim 2 , wherein the set point comprises a desired memory usage set point.

5. The system of claim 2 , wherein the set point comprises a desired network usage set point.

6. The system of claim 1 , wherein the eviction criteria comprises newest first.

7. The system of claim 1 , wherein the eviction criteria comprises most processor use first.

8. The system of claim 1 , wherein the eviction criteria comprises most memory use first.

9. The system of claim 1 , wherein the eviction criteria comprises most network use first.

10. The system of claim 1 , wherein the processor is further configured to assign the high-priority job to the worker system.

11. The system of claim 1 , wherein the processor is further configured to determine whether an assignment of the high-priority job to the worker system exceeds a subscription threshold based at least in part on the set of performance data.

12. A method for adjusting oversubscription loading, comprising:

receiving a set of performance data from a set of worker systems;

determining, using a processor at a master system, a feedback indication for a worker system of the set of worker systems based at least in part on the set of performance data, wherein the feedback indication is used to adjust eviction criteria of an oversubscription controller on the worker system, and wherein the determining of the feedback indication comprises:

performing the following:

A) determining a response time for an application performing requests sent to the application to obtain a stability indicator; and

in response to a determination that the response time is greater than or equal to a maximum response time threshold, including the stability indicator in the feedback indication;

B) comparing first tasks under ideal conditions over a first period of time with no potentially interfering workloads present on a worker with second tasks over a second period of time with one or more other interfering workloads present on the same worker to obtain a software experiment data; and

in response to a determination that a decrease in the second tasks over the second period of time, based on a comparison of the first tasks and the second tasks, is greater than or equal to a maximum decrease threshold, including the software experiment data in the feedback indication;

C) determining whether two or more tasks that are scheduled on the same worker use a shared resource to obtain a task interference; and

in response to a determination that the two or more tasks that are scheduled on the same worker use the shared resource, including the task interference in the feedback indication; and

D) including a classification of performance data in the feedback indication, the classification of performance data including a processor intensive classification being a dominant usage of system resources, a memory intensive classification being a dominant usage of system resources, a network access intensive classification being a dominant usage of system resources, a disk access intensive classification being a dominant usage of system resources, or any combination thereof; and

adjusting the oversubscription controller of the worker system to evict a job, based on the provided feedback indication, useable by the worker system.

13. A computer program product for oversubscription loading, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a set of performance data from a set of worker systems;

determining, using a processor at a master system, a feedback indication for a worker system of the set of worker systems based at least in part on the set of performance data, wherein the feedback indication is used to adjust eviction criteria of an oversubscription controller on the worker system, and wherein the determining of the feedback indication comprises:

performing the following:

A) determining a response time for an application performing requests sent to the application to obtain a stability indicator; and

in response to a determination that the response time is greater than or equal to a maximum response time threshold, including the stability indicator in the feedback indication;

B) comparing first tasks under ideal conditions over a first period of time with no potentially interfering workloads present on a worker with second tasks over a second period of time with one or more other interfering workloads present on the same worker to obtain a software experiment data; and

in response to a determination that a decrease in the second tasks over the second period of time, based on a comparison of the first tasks and the second tasks, is greater than or equal to a maximum decrease threshold, including the software experiment data in the feedback indication;

C) determining whether two or more tasks that are scheduled on the same worker use a shared resource to obtain a task interference; and

in response to a determination that the two or more tasks that are scheduled on the same worker use the shared resource, including the task interference in the feedback indication; and

D) including a classification of performance data in the feedback indication, the classification of performance data including a processor intensive classification being a dominant usage of system resources, a memory intensive classification being a dominant usage of system resources, a network access intensive classification being a dominant usage of system resources, a disk access intensive classification being a dominant usage of system resources, or any combination thereof; and

adjusting the oversubscription controller of the worker system to evict a job, based on the provided feedback indication, useable by the worker system.

Assignments (6)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2023
From: D2IQ, INC.
To: D2IQ (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 065909/0748 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNOR. PREVIOUSLY RECORDED ON REEL 065771 FRAME 0424. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 8, 2023
From: D2IQ (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC.
To: NUTANIX, INC.
Reel/Frame 065836/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2023
From: D2IQ, INC.
To: NUTANIX, INC.
Reel/Frame 065771/0424 →
CHANGE OF NAME Recorded May 15, 2020
From: MESOSPHERE, INC.
To: D2IQ, INC.
Reel/Frame 052679/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2017
From: DOYLE, CONNOR PATRIC; KOZYRAKIS, CHRISTOFOROS; NIELSEN, NIKLAS QUARFOT
To: MESOSPHERE, INC.
Reel/Frame 041113/0081 →
Continuity (1)
Provisional Application 62202042 · Aug 6, 2015