IP Library Granted Patent US 11,714,680
Granted Patent B2
US 11,714,680 · App. 17/557,488 · Granted Aug 1, 2023

Dynamic resource allocation for computational simulation

Inventors: Ian Campbell (San Jose, CA); Ryan Diestelhorst (Atlanta, GA); Joshua Oster-Morris (Atlanta, GA); David M. Freed (Burlingame, CA); Scott McClennan (Sunnyvale, CA)
Assignee: OnScale, Inc.
G06F9/50G06F30/20G06F30/23G06F2111/10G06F2209/505
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 11,714,680
App. No.
17/557,488
Granted
Aug 1, 2023
Kind
B2
Abstract

Systems and methods for automated resource allocation during a computational simulation are described herein. An example method includes analyzing a set of simulation inputs to determine a first set of computing resources for performing a simulation, and starting the simulation with the first set of computing resources. The method also includes dynamically analyzing at least one attribute of the simulation to determine a second set of computing resources for performing the simulation, and performing the simulation with the second set of computing resources. The second set of computing resources is different than the first set of computing resources.

Claims (27)

1. A computer-implemented method for automated resource allocation during a computational simulation, comprising:

analyzing a set of simulation inputs to determine a first set of computing resources in a computing cluster for performing a simulation, wherein the first set of computing resources is configured to start the simulation;

starting the simulation with the first set of computing resources;

dynamically analyzing at least one attribute of the simulation to determine a second set of computing resources in the computing cluster for performing the simulation, wherein the second set of computing resources includes a different number, amount, or type of computing processing units or memory than the first set of computing resources; and

performing the simulation with the second set of computing resources.

2. The computer-implemented method of claim 1 , wherein dynamically analyzing the at least one attribute of the simulation further determines that the simulation requires more computing processing units or memory than included in the first set of computing resources.

3. The computer-implemented method of claim 1 , wherein the set of simulation inputs comprises at least one of a geometry representation, a material property, a boundary condition, a loading condition, a mesh parameter, a solver option, a simulation output request, or a time parameter.

4. The computer-implemented method of claim 1 , wherein the at least one attribute of the simulation comprises a simulation requirement, a simulation performance characteristic, or a compute capacity indicator.

5. The computer-implemented method of claim 1 , wherein respective simulation inputs for each of a plurality of simulations are analyzed.

6. The computer-implemented method of claim 1 , wherein performing the simulation with the second set of computing resources comprises automatically restarting the simulation with the second set of computing resources.

7. The computer-implemented method of claim 1 , wherein performing the simulation with the second set of computing resources comprises automatically continuing the simulation with the second set of computing resources.

8. The computer-implemented method claim 1 , further comprising adaptively refining a mesh during the simulation, wherein the adaptive refinement of the mesh comprises changing a mesh density and/or an order of mesh elements.

9. The computer-implemented method of claim 1 , wherein the set of simulation inputs is analyzed to determine the first set of computing resources for performing the simulation while achieving a target value for a simulation metric.

10. The computer-implemented method of claim 1 , wherein the at least one attribute of the simulation is dynamically analyzed to determine the second set of computing resources for performing the simulation while achieving a target value for a simulation metric.

11. The computer-implemented method of 9 , wherein the simulation metric is core hour cost, a memory requirement, simulation run time, efficiency of hardware configuration, or energy cost.

12. The computer-implemented method of claim 11 , wherein the target value for the simulation metric is an optimal value for the simulation metric.

13. The computer-implemented method of claim 1 , further comprising transferring a state of the simulation from the first set of computing resources to the second set of computing resources.

14. The computer-implemented method of claim 13 , wherein the state of the simulation comprises at least one of mesh information, constraint and loading conditions, derived quantities, factorized matrices, primary solution and secondary field variables, history variables, or stored results.

15. The computer-implemented method of claim 1 , wherein the at least one attribute of the simulation is periodically analyzed to determine the second set of computing resources for performing the simulation.

16. The computer-implemented method of claim 1 , wherein the simulation is represented by a set of equations.

17. The computer-implemented method of claim 16 , wherein the set of equations represents partial differential equations (PDEs).

18. The computer-implemented method of claim 1 , wherein dynamically analyzing at least one attribute of the simulation to determine a second set of computing resources for performing the simulation comprises comparing the at least one attribute of the simulation to a threshold.

19. A system for automated resource allocation during a computational simulation, comprising:

a computing cluster; and

a resource allocator operably coupled to the computing cluster, the resource allocator comprising a processor and a memory operably coupled to the processor, wherein the memory has computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:

analyze a set of simulation inputs to determine a first set of computing resources in the computing cluster for performing a simulation, wherein the first set of computing resources is configured to start the simulation; and

dynamically analyze at least one attribute of the simulation to determine a second set of computing resources in the computing cluster for performing the simulation, wherein the second set of computing resources including a different number, amount, or type of computing processing units or memory than the first set of computing resources, and wherein the second set of computing resources is configured to perform the simulation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2021
From: CAMPBELL, IAN; DIESTELHORST, RYAN; OSTER-MORRIS, JOSHUA; FREED, DAVID M.; MCCLENNAN, SCOTT
To: ONSCALE, INC.
Reel/Frame 058445/0738 →
Continuity (2)
Continuation 17030991 · Sep 24, 2020
Related Publication 20220114018A1 · Apr 14, 2022
Cited By (1)
US 12,244,571