# US 12,001,883 B2 · Dynamic resource allocation for computational simulation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,883 B2
- Document ID: US12001883B2
- Status: Granted
- Kind: B2
- Application number: 18/332,321
- Filed: 2023-06-09
- Published: 2023-12-07
- Granted: 2024-06-04
- Earliest claimed: 2020-09-24
- Assignees: OnScale, Inc.
- Applicants: OnScale, Inc.
- Inventors: Ian Campbell; Ryan Diestelhorst; Joshua Oster-Morris; David M. Freed; Scott McClennan
- Web page: https://patentgrep.com/patent/US12001883B2

## CPC

- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06F 30/23: using finite element methods [FEM] or finite difference methods [FDM]
- G06F 2111/10: Numerical modelling
- G06F 2209/505: Clust
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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 is different than the first set of computing resources; and
performing the simulation with the second set of computing resources.

### Claim 2 (depends on 1)

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 resources than included in the first set of computing resources.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 1)

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.

### Claim 9 (depends on 1)

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.

### Claim 10 (depends on 8)

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

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein each of the first and second sets of computing resources comprises at least one of a number of cores, an amount of memory, a number of virtual machines, or a hardware configuration.

### Claim 12 (depends on 1)

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.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, 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.

### Claim 14 (depends on 1)

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.

### Claim 15 (depends on 1)

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.

### Claim 16

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 is different than the first set of computing resources, and wherein the second set of computing resources is configured to perform the simulation.

### Claim 17

A computer-implemented method for automated resource allocation during a computational simulation, comprising:
receiving a computing environment dataset that describes a plurality of computing environments, wherein each of the plurality of computing environments is associated with a distinct set of computing resources;
analyzing a set of simulation inputs to determine a first computing environment of the plurality of computing environments for performing a simulation;
performing the simulation with the first computing environment;
before completing performance of the simulation with the first computing environment, dynamically analyzing at least one attribute of the simulation to determine a second computing environment of the plurality of computing environments for performing the simulation; and
performing the simulation with the second computing environment.

### Claim 18 (depends on 17)

The computer implemented method of claim 17, further comprising ceasing performance of the simulation with the first computing environment before completion as a result of starting performance of the simulation with the second computing environment.

### Claim 19 (depends on 17)

The computer implemented method of claim 17, wherein performing the simulation with the first computing environment comprises initiating a first instance of the simulation based on the set of simulation inputs, and performing the simulation with the second computing environment comprises initiating a second instance of the simulation based on the set of simulation inputs.

### Claim 20 (depends on 17)

The computer implemented method of claim 17, wherein performing the simulation with the first computing environment comprises initiating a first instance of the simulation based on the set of simulation inputs, and performing the simulation with the second computing environment comprises:
receiving a simulation state from the first computing environment, wherein the simulation state is based on the first instance's current state; and
initiating a second instance of the simulation with the second computing environment based on the simulation state.
