Skip to content

Commit

Permalink
Release v2.14.0 (#165)
Browse files Browse the repository at this point in the history
* Release v2.14.0

* upgrade guide for v2.14.0

* restore png assets from develop (??)

* clarify that 2.14 configs are optional

---------

Co-authored-by: joswig <[email protected]>
Co-authored-by: dandelany <[email protected]>
  • Loading branch information
3 people authored Jun 26, 2024
1 parent 49df579 commit f1f7467
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
19 changes: 19 additions & 0 deletions docs/upgrade-guides/2-13-0-to-2-14-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 2.13.0 to 2.14.0

No special instructions are **necessary** to upgrade to `v2.14.0`. The following sections describe newly available Aerie configurations, which are optional.

## In-Memory Checkpoint Simulation

Aerie 2.14.0 includes an experimental [In-Memory Checkpoint Simulation](https://github.com/NASA-AMMOS/aerie/pull/1323) feature which is intended to improve the performance of the **scheduler** by setting "simulation checkpoints" from which the simulation engine can restart, rather than always re-running the entire simulation. This improved performance comes at the cost of memory usage, which may be quite significant for larger models/plans, so it is disabled by default. If you don't want to use this feature, no changes to your deployment or models are necessary.

**To use this feature in your Aerie deployment, you must:**

1. Modify the `MAX_NB_CACHED_SIMULATION_ENGINES` environment variable for the Aerie Scheduler Worker to be larger than `1`. The higher this value is, the more checkpoints may be set, resulting in increased performance at the cost of higher memory usage. If the number is too high, you may encounter out-of-memory errors on larger models and plans.
2. Implement a `duplicate()` method on any custom tasks that are used by your model. The `duplicate()` method is called when a checkpoint is created, and should return a duplicate/"deep copy" of the task, which can be stepped independently of the original task. This is required because the checkpoint creates a duplicate copy of the entire simulation engine, including its tasks. For more information, see the [documentation for this method](https://github.com/NASA-AMMOS/aerie/blob/2b8a5945fdb51c724768d55abc84ea9cab86338c/merlin-sdk/src/main/java/gov/nasa/jpl/aerie/merlin/protocol/model/Task.java#L37).

An example implementation of a `duplicate()` method on a task can be found in Aerie's `ReplayingTask` class, [located here](https://github.com/NASA-AMMOS/aerie/blob/develop/merlin-framework/src/main/java/gov/nasa/jpl/aerie/merlin/framework/ReplayingTask.java#L75).

## Configuring Sequence Expansion Workers

[PR #1476](https://github.com/NASA-AMMOS/aerie/pull/1476) exposes a new environment variable in the sequencing server that can be used to limit the maximum number of workers the server uses for sequence expansion. This is set to a default value of `8` if not provided, but can be increased to improve performance of sequence expansion at the cost of additional memory usage.

1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@ const sidebars = {
},
],
upgradeGuides: [
'upgrade-guides/2-13-0-to-2-14-0',
'upgrade-guides/2-11-0-to-2-11-1',
'upgrade-guides/2-12-0-to-2-13-0',
'upgrade-guides/2-11-0-to-2-12-0',
Expand Down

0 comments on commit f1f7467

Please sign in to comment.