Regarding HFM application servers time synchronization, each update to the application tables has a date time stamp reference. The time reference is used to determine if the data the server has in memory is current or old. Each server checks the database for changes based on the synchronization settings configured during the installation. This is covered in detail in the HFM Installation guide in the Enabling Multiple Server Support section.
When a server receives a request from a client for data it does not already have in memory then it queries the database. Data it loads from this query has a time stamp of when it was last updated and the server maintains a timestamp of when it last read from the database. When subsequent client requests for the same data come in, the server checks to see that the data it has in memory is still within the Synchronization delay setting and returns the data to the client if the delay period has not been exceed. If the time period has been exceed then the server makes another request to the database to see if the data has changed and refreshes the data and timestamp.
When a server has a data update to make then each record it needs to update is checked to verify that the records last update timestamp is older then the server’s clock. If for some reason the records timestamp is newer than the server’s clock then the update cannot proceed until the server’s clock catches up to the records last update.