IP Library Granted Patent US 10,606,644
Granted Patent B1
US 10,606,644 · App. 16/238,200 · Granted Mar 31, 2020

Specifying behavior among a group of computing tasks

Inventors: John Wilkes (Palo Alto, CA); David Oppenheimer (San Francisco, CA); Walfredo Cirne (Palo Alto, CA); Cosmos Nicolaou (Palo Alto, CA)
Assignee: Google LLC
G06F9/5005G06F9/5044G06F9/5055H04L29/08954H04L29/06523
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,606,644
App. No.
16/238,200
Granted
Mar 31, 2020
Kind
B1
Abstract

A method of specifying behavior among a group of computing tasks included in a request to be performed in a domain of computing resources is disclosed. Method steps include receiving, at a scheduler operably coupled to the domain, a p/f request, the received p/f request including a first group and a first relationship, the first group comprising at least a first p/f group element and a second p/f group element, the first relationship defining a desired behavior of the first and second p/f group elements with respect to each other during performance of the p/f request; determining whether the domain includes available computing resources capable of satisfying the first relationship; and in response to a determination that the domain includes available computing resources capable of satisfying the first relationship, allocating, with the scheduler, at least one available computing resource to fulfill the p/f request.

Claims (32)

1. A method of specifying behavior among a group of computing tasks included in a request to be performed in a domain of computing resources, the method comprising:

receiving, at a scheduler operably coupled to the domain, a p/f request, the received p/f request including a first group and a first relationship, the first group comprising at least a first p/f group element and a second p/f group element, the first relationship defining a desired behavior of the first and second p/f group elements with respect to each other during performance of the p/f request; the first relationship comprising information about a measurement representing the desired behavior to be defined, a target value representing a quantitative target associated with the measurement, and a comparison that determines how the measurement relates to the target value; the target value comprising information about a mean value and information about a value range such that the first relationship defines an acceptable measurement value range that can satisfy the target value;

determining whether the domain includes available computing resources capable of satisfying the first relationship; and

in response to a determination that the domain includes available computing resources capable of satisfying the first relationship, allocating, with the scheduler, at least one available computing resource to fulfill the p/f request.

2. The method of claim 1 wherein the measurement is a measure of latency associated with data exchange between group elements.

3. The method of claim 1 wherein the acceptable measurement value range is associated with a maximum round-trip latency value for the first p/f group element and the second p/f group element.

4. The method of claim 1 wherein p/f request identifies a failure limit value for the at least one available computing resource allocated with the scheduler.

5. The method of claim 4 , wherein the failure limit value corresponds to a maximum number of task failures.

6. The method of claim 4 , wherein the failure limit value corresponds to a fraction of time that a threshold number of tasks are available.

7. The method of claim 4 wherein determining whether the domain includes available computing resources comprises scoring a desirability of a number of different placements against how well a performance requirement and a failure requirement are satisfied.

8. A method of specifying behavior among a group of computing tasks included in a request to be performed in a domain of computing resources, the method comprising:

receiving, at a scheduler operably coupled to the domain, a p/f request, the received p/f request including a first group and a first relationship, the first group comprising at least a first p/f group element and a second p/f group element, the first relationship defining a desired behavior of the first and second p/f group elements with respect to each other during performance of the p/f request; the first relationship comprising information about a measurement representing the desired behavior to be defined, a target value representing a quantitative target associated with the measurement, and a comparison that determines how the measurement relates to the target value, the target value including information about an expected compliance level such that the first relationship defines a desired fraction of measurements that satisfy the target value, the desired fraction being less than all measurements;

determining whether the domain includes available computing resources capable of satisfying the first relationship; and

in response to a determination that the domain includes available computing resources capable of satisfying the first relationship, allocating, with the scheduler, at least one available computing resource to fulfill the p/f request.

9. The method of claim 8 wherein the expected compliance level is associated with a percent of bandwidth measurements that should satisfy the target value.

10. A method of specifying behavior among a group of computing tasks included in a request to be performed in a domain of computing resources, the method comprising:

receiving, at a scheduler operably coupled to the domain, a p/f request, the received p/f request including a first group and a first relationship, the first group comprising at least a first p/f group element and a second p/f group element, the first relationship defining a desired behavior of the first and second p/f group elements with respect to each other during performance of the p/f request; the first relationship comprising information about a measurement representing the desired behavior to be defined, a target value representing a quantitative target associated with the measurement, and a comparison that determines how the measurement relates to the target value, the measurement being a measure of time to failure of any group element;

determining whether the domain includes available computing resources capable of satisfying the first relationship; and

in response to a determination that the domain includes available computing resources capable of satisfying the first relationship, allocating, with the scheduler, at least one available computing resource to fulfill the p/f request.

11. The method of claim 10 wherein the measure of time to failure comprises mean-time-to-failure.

12. The method of claim 10 wherein the p/f request identifies a performance requirement.

13. The method of claim 10 wherein the p/f request identifies a failure limit value for the at least one available computing resource allocated with the scheduler.

14. The method of claim 13 , wherein the failure limit value corresponds to a fraction of time that a threshold number of tasks are available.

15. The method of claim 10 wherein determining whether the domain includes available computing resources comprises scoring a desirability of a number of different placements against how well a performance requirement and a failure requirement are satisfied.

16. A method of specifying behavior among a group of computing tasks included in a request to be performed in a domain of computing resources, the method comprising:

receiving, at a scheduler operably coupled to the domain, a p/f request, the received p/f request including a first group and a first relationship, the first group comprising at least a first p/f group element and a second p/f group element, the first relationship being a hard constraint and defining a desired behavior of the first and second p/f group elements with respect to each other during performance of the p/f request; the first relationship comprising information about a measurement representing the desired behavior to be defined, a target value representing a quantitative target associated with the measurement, and a comparison that determines how the measurement relates to the target value;

determining whether the domain includes available computing resources to satisfy the first relationship for a predetermined time period; and

in response to a determination that the domain does not include available computing resources to satisfy the first relationship, the scheduler does not allocate available computing resources to fulfill the p/f request.

17. The method of claim 16 further comprising, in response to a determination that the domain includes available computing resources capable of satisfying the first relationship, allocating, with the scheduler, at least one available computing resource to fulfill the p/f request.

18. The method of claim 16 wherein the request is configured such that the first p/f group element and the second p/f group element will be run on different processing machines.

19. The method of claim 18 wherein the first p/f group element and the second p/f group element comprise tasks.

20. The method of claim 18 wherein the hard constraint comprises a latency value.

Assignments (2)
CHANGE OF NAME Recorded Jan 23, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 051672/0045 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2019
From: WILKES, JOHN; OPPENHEIMER, DAVID; CIRNE, WALFREDO; NICOLAOU, COSMOS
To: GOOGLE INC.
Reel/Frame 048741/0151 →
Continuity (2)
Continuation 15670777 · Aug 7, 2017
Continuation 14252415 · Apr 14, 2014