This is a major red flag issue for many types of application even
looking beyond basic datastore timestamps and auto-date/time
functionality. What's worse, a feature request may not carry much
weight as it pertains to Google's global server infrastructure.

At the very least, we should have some firm guarantees on clock skew.
I don't know much about Google's server infrastructure but I think
100mS is comfortably achievable globally with NTP. This would require
individual servers to be proactively taken off the network if clock
skew exceeds the guaranteed limits.

Of course, absolute time accuracy is not usually a serious issue but
clock skew is - and this problem cannot be eliminated even with the
most accurate networks. As a simple case in point, an accounting
application might have good reasons for requiring that invoice
datetime stamps always increase with invoice number.

Therefore another approach would be to allow individual applications
to use their own (fault-tolerant) centralised reference clock. While,
the accuracy of this reference clock will be impaired by things like
round trip delays, processor load and context switching, the clock
access "protocol" could be designed to at least preserve operation
time sequence. Each clock access would be atomic in the sense that
that a thread can request the current time, receive the current time
(albeit after an undefined delay) and process the current time without
worrying about a conflict with some other thread.

I realise that this is not as simple as it sounds and people more
qualified than me have probably trashed this out before but I really
do think that the GAE team should at least flag this issue to receive
serious consideration in the near future.

Rgds,
rvjcallanan


On Dec 22, 6:59 pm, Marzia Niccolai <ma...@google.com> wrote:
> Hi,
>
> Please see this 
> thread:http://groups.google.com/group/google-appengine/browse_thread/thread/...
>
> Generally one would expect the clocks to be synced within a few seconds, but
> there are not any guarantees of any kind.
>
> -Marzia
>
> On Mon, Dec 22, 2008 at 4:20 AM, rvjcallanan <vinc...@callanan.ie> wrote:
>
> > I recall reading somewhere that, due to global time differences across
> > servers, we cannot rely on timestamps to draw certain conclusions
> > about GAE data e.g. operation sequence, etc.
>
> > Time synchronisation is a critical issue in any distributed app yet I
> > have been unable to get hard facts and figures on how well Google
> > synchronises its servers globally.
>
> > I assume some form of  NTP syncing is performed so I would expect that
> > steady state drift will be of the order of milliseconds across the
> > globe. But what if a server is rebooted or added to the Google
> > network? Will this server be disabled until it has reached a certain
> > sync level.
>
> > In a nutshell, a few questions...
>
> > 1. How accurate are Google server clocks re: some global standard?
> > 2. What is the maximum drift between servers?
> > 3. Is tighter synchronisation guaranteed between servers in a local
> > data centre servicing entity groups
>
> > TIA,
>
> > rvjcallanan

On Dec 22, 6:59 pm, Marzia Niccolai <ma...@google.com> wrote:
> Hi,
>
> Please see this 
> thread:http://groups.google.com/group/google-appengine/browse_thread/thread/...
>
> Generally one would expect the clocks to be synced within a few seconds, but
> there are not any guarantees of any kind.
>
> -Marzia
>
> On Mon, Dec 22, 2008 at 4:20 AM, rvjcallanan <vinc...@callanan.ie> wrote:
>
> > I recall reading somewhere that, due to global time differences across
> > servers, we cannot rely on timestamps to draw certain conclusions
> > about GAE data e.g. operation sequence, etc.
>
> > Time synchronisation is a critical issue in any distributed app yet I
> > have been unable to get hard facts and figures on how well Google
> > synchronises its servers globally.
>
> > I assume some form of  NTP syncing is performed so I would expect that
> > steady state drift will be of the order of milliseconds across the
> > globe. But what if a server is rebooted or added to the Google
> > network? Will this server be disabled until it has reached a certain
> > sync level.
>
> > In a nutshell, a few questions...
>
> > 1. How accurate are Google server clocks re: some global standard?
> > 2. What is the maximum drift between servers?
> > 3. Is tighter synchronisation guaranteed between servers in a local
> > data centre servicing entity groups
>
> > TIA,
>
> > rvjcallanan
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to