Back in May 2012, I wrote an article about NTP (NTP servers should be physical). During that time (April and May 2012) I spent a lot of time on an NTP project, have done a lot of performance and synchronization tests.
I also got to know that the NTP daemon did an immediate set of the clock when the time difference (offset) was smaller than 60 seconds. When the offset was more than 60s, the daemon slowly adapted the time to match the time server.
Today I saw a (funny) phenomenon on the behavior of Dovecot, when the local time was actually in the future compared to the time server. The following log entry appeared at start up of the ntp (client) daemon:
Jan 21 15:04:42 dovecot: Fatal: Time just moved backwards by 24 seconds. This might cause a lot of problems, so I'll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards
As the offset was less than a minute, ntp immediately set the correct time but obviously Dovecot didn't like that very much. It's actually a pretty cool feature of Dovecot that it kills itself for security purposes. It could also be possible that the server time would be set to a completely wrong time; in such a scenario the suicide of Dovecot is very welcome.