Federated learning with workload-aware client scheduling in heterogeneous systems