A General Method for Efficient Distributed Training and Federated Learning in Synchronous and Asynchronous Scenarios