If you’re working with larger SharePoint farms it’s conceivable that you may have a requirement for multiple User Profile Service Applications. This is completely supported, however one thing to be aware of is the fact that each User Profile Synchronization Service instance only supports 1 User Profile Service Application. Therefore it you need to run two User Profile Service Applications with Synchronization you will need at least two servers running the User Profile Synchronization Service, one for each. The question is, how do you change which User Profile Service Application is assigned to each User Profile Synchronisation Service instance? … PowerShell obviously!

$svcapp = Get-SPServiceApplication -Identity <Service GUID>
$svc = Get-SPServiceInstance -Server <App Server Name> | where-object {$_.TypeName -eq "User Profile    Synchronization Service"}
$svc.Status = \[Microsoft.SharePoint.Administration.SPObjectStatus\]::Provisioning
$svc.IsProvisioned = $false
$svc.UserProfileApplicationGuid = $svcapp.Id
$svc.Update()