Sailor: Automating Distributed Training over Dynamic, Heterogeneous, and Geo-distributed Clusters | Synapse