We have a code implementation that utilizes windows and shared locks to enable different processes to read data. We do this by e.g.
windows_iterations[agent_id].Get([localiter, 1, MPI.INT
Perhaps I am understanding this wrong, but the shared lock seems to introduce synchronization to the code, when the purpose is to create a method to read data whilst other processes have not completed yet (i.e., make it fully asynchronous). Is this expected behavior, or is there an issue on the backend?