Multi-experiments are now available in your cluster!

Multi-experiments are now available in your cluster!

Users have been asking for the ability to host multiple experiments and assign Pioreactors to different experiments in their bioreactor cluster. And now, with software version 24.4.3, you can! This means you can more easily share your Pioreactor cluster with colleagues, or manage student experiments all in one interface. 

Want to know how to update? Follow the instructions here

Below, we show off the cool new features to supercharge your bioreactor cluster.

New Pioreactor assignments

The Pioreactor page that you're familiar with is now per experiment, so only Pioreactors that are assigned to the selected experiment will appear there.

It's easy to assign and unassign Pioreactors to an experiment from this page, too.

Easier experiment management

We've added a drop-down of all your experiments, present and historical, to the sidebar. This offers a quick way to check and manage multiple experiments at once.

We've also added an easy way to end, and delete experiments.

 

New Inventory page

We've introduced a new way to manage your Pioreactors (we call them "inventory"). Here you can add new Pioreactors to your cluster, remove them, unassign them, and more. We also present important networking information here.

Technical details

This change required a lot of deep changes to our software. Luckily, we made technology choices early on that made the move to multi-experiments much easier. Technologies like MQTT, relational databases in SQLite3, and web APIs allowed us to abstract out experiments.

We introduced new a SQL table to hold worker information (rather than the config.ini file), and a new table to hold experiment assignments. These are the source-of-truths for worker and experiment data. Workers now have to ask the leader which experiment they are assigned to, and this comes down to making an API request to the leader's web server. 

Finally, MQTT is a great tool for multitenant architectures. The topics pattern in MQTT lets us easily split data into multiple experiments. In fact, we already were splitting data by experiment, but just never had more than one experiment. Hence, no changes were need to MQTT to handle multi-experiments. 

Conclusion

We really hope you like this update! It was a lot of work and handling edge cases (what happens when a user decides to delete all experiments?! how do experiment profiles handle workers not being in the assigned experiment?!, etc.) but we come out with a solid platform to build more on top of. Users with multiple Pioreactors should find working with them much easier now! Enjoy!