I am curious why are you communicating model updates via external DB. Normally model updates are communicated via collective communication ranks or something like EASGD (https://arxiv.org/abs/1412.6651 2). Is your goal: debugging, logging, or improved reliability here? Seems like updating model via external DB would be a performance hit?