Our current implementation for storing the energies and forces at each ionization step [has each process in the workflow running connecting to a single file.](https://github.com/exalearn/ExaMol/blob/main/examol/simulate/ase/__init__.py#L368) Connections from many processes leads to problems with the locking system ASE uses for their database. A few options: - Switch from a file-based system to storing data in a service (i.e., something designed for concurrent access) - Only write to the database from a single projects (e.g., send data back to the thinker before writing) - Don't write to a global store, instead write the DB in the run directory (which should be saved #65)
Our current implementation for storing the energies and forces at each ionization step has each process in the workflow running connecting to a single file. Connections from many processes leads to problems with the locking system ASE uses for their database.
A few options: