Application-level scheduling on distributed heterogeneous networks | Synapse