IP Library Granted Patent US 12,210,914
Granted Patent B2
US 12,210,914 · App. 18/102,578 · Granted Jan 28, 2025

Automated globally optimized resource allocator and scheduler

Inventors: Erica Lin (Cambridge, MA); Luna Xu (Middle River, MD); Marco Montes de Oca (Ashland, MA); Suraj Bramhavar (Arlington, MA); Jeffrey Chou (Boston, MA)
Assignee: Sync Computing Corp.
G06F9/5077G06F9/5072G06F2209/501G06F2209/503G06F2209/506
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,210,914
App. No.
18/102,578
Granted
Jan 28, 2025
Kind
B2
Abstract

A method of efficiently executing a plurality of processes is described. The method generates, using a predictor, operating constraints for the processes. An operating constraint of the operating constraints is for each process of the processes. The method evaluates possible operating points for each process consistent with the operating constraints and according to a cost function for the processes. The method also determines an operating point for each process based on the evaluating.

Claims (29)

1. A method of efficiently executing a plurality of processes, comprising:

generating, using a predictor, a plurality of operating constraints for the plurality of processes, an operating constraint of the plurality of operating constraints being for each process of the plurality of processes;

evaluating a plurality of possible operating points for each process consistent with the plurality of operating constraints and according to a cost function for the plurality of processes, the cost function including a user-weighted combination of computing resources utilized for the plurality of processes and a makespan for the plurality of processes; and

determining an operating point for each process based on the evaluating, the operating point including an order of each process of the plurality of processes;

wherein the plurality of processes are executed on the computing resources using the operating point including the order for each process of the plurality of processes.

2. The method of claim 1 , wherein the operating constraint for a process includes a runtime for the process versus a portion of available computing resources utilized for the process.

3. The method of claim 2 , wherein the operating point for the process includes a particular runtime and particular computing resources used for the runtime consistent with the operating constraint for the process.

4. The method of claim 1 , wherein the operating point for each process determines an order of the plurality of processes, an optimized makespan, and an optimized computing resources used for executing the plurality of processes.

5. The method of claim 1 , wherein the evaluating further includes:

searching a space including the plurality of possible operating points for each process.

6. The method of claim 1 , wherein the generating the plurality of operating constraints further includes:

reading at least one log file corresponding to at least one of the plurality of processes; and

generating the plurality of operating constraints based on the at least one log file.

7. A system for efficiently executing a plurality of processes, comprising:

a processor configured to:

generate, using a predictor, a plurality of operating constraints for the plurality of processes, an operating constraint of the plurality of operating constraints being for each process of the plurality of processes;

evaluate a plurality of possible operating points for each process consistent with the plurality of operating constraints and according to a cost function for the plurality of processes, the cost function including a user-weighted combination of computing resources utilized for the plurality of processes and a makespan for the plurality of processes; and

determine an operating point for each process based on the evaluation, the operating point including an order of each process of the plurality of processes, the plurality of processes being executed on the computing resources using the operating point including the order for each process of the plurality of processes; and

a memory coupled to the processor and configured to provide the processor with instructions.

8. The system of claim 7 , wherein the operating constraint for a process includes a runtime for the process versus a portion of available computing resources utilized for the process.

9. The system of claim 8 , wherein the operating point for the process includes a particular runtime and particular computing resources used for the runtime consistent with the operating constraint for the process.

10. The system of claim 7 , wherein to evaluate, the processor is further configured to:

search a space including the plurality of possible operating points for each process.

11. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for efficiently executing a plurality of processes, comprising instructions for:

generating, using a predictor, a plurality of operating constraints for the plurality of processes, an operating constraint of the plurality of operating constraints being for each process of the plurality of processes;

evaluating a plurality of possible operating points for each process consistent with the plurality of operating constraints and according to a cost function for the plurality of processes, the cost function including a user-weighted combination of computing resources utilized for the plurality of processes and a makespan for the plurality of processes; and

determining an operating point for each process based on the evaluating, the operating point including an order of each process of the plurality of processes, the plurality of processes being executed on the computing resources using the operating point including the order for each process of the plurality of processes.

12. The computer program product of claim 11 , wherein the operating constraint for a process includes a runtime for the process versus a portion of available computing resources utilized for the process.

13. The computer program product of claim 11 , wherein the cost function includes a user-weighted combination of the computing resources utilized for the plurality of processes and a makespan for the plurality of processes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2025
From: SYNC COMPUTING CORP.
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 072575/0123 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2023
From: LIN, ERICA; XU, LUNA; MONTES DE OCA, MARCO; BRAMHAVAR, SURAJ; CHOU, JEFFREY
To: SYNC COMPUTING CORP.
Reel/Frame 064333/0055 →
Continuity (2)
Provisional Application 63304526 · Jan 28, 2022
Related Publication 20230244543A1 · Aug 3, 2023
References Cited (6)
US 10514949B1 · Korda · 2019 [cited by examiner]
US 20210073114A1 · Haubold · 2021 [cited by examiner]
US 20230023333A1 · Naveh · 2023 [cited by examiner]
Hilman et al. “Multiple Workflows Scheduling in Multi-tenant Distributed Systems: A Taxonomy and Future Directions” May 22, 2019 (Year: 2019). [cited by examiner]
Lin et al. “Global Optimization of Data Pipelines in Heterogeneous Cloud Environments,” Feb. 11, 2022 (Year: 2022). [cited by examiner]
Tumanov et al., TetriSched: Global Rescheduling with Adaptive Plan-Ahead in Dynamic Heterogeneous Clusters, EuroSys '16, Apr. 18-21, 2016. [cited by applicant]