vivarium-collective / vivarium-core

Core Interface and Engine for Vivarium
https://vivarium-core.readthedocs.io/
Apache License 2.0
26 stars 3 forks source link

Handling Multi-Updates #209

Open thalassemia opened 2 years ago

thalassemia commented 2 years ago

We lack robust support for processes with more than one port to the same store.

The multi-update workaround introduced in #28 allows ports that point to multiple leaf stores to share leaf stores. In this case, updates to the shared leaf stores are aggregated into lists and applied sequentially.

Unfortunately, this workaround is very fragile. Here is an non-exhaustive list of scenarios that break this solution:

One potential solution is to generate individual updates for each port and apply them in sequence.