[DGD] More on exec round sequencing

Felix A. Croes felix at dworkin.nl
Fri May 18 00:10:03 CEST 2007


Shentino <shentino at gmail.com> wrote:

> Dworkin, I remember you mentioning "queues", within which exec rounds
> were guaranteed to be executed in sequence.
>
> What exactly is a "queue", and what queues are there?

Here's the definition of a queue:

    http://en.wikipedia.org/wiki/Queue_%28data_structure%29

However, forget about them.  I'm not going to let myself be pinned down
on a particular callout implementation for DGD/MP, because I want the
freedom to replace it with another one.

A n second callout will run before a n+1 second callout started from
the same execution round.

A n second callout may not run before a n+1 second callout started
from a different execution round.  For example, suppose that you
start two 1 second callouts from the same execution round, A and B.
A starts a 3 second callout A', and B starts a 4 second callout B'.
Then A' is not guaranteed to run before B'.

A 1 second callout is not guaranteed to run before a 1.1 second
callout started from the same execution round.  However, a 1.0 second
callout is.  Callouts with floating point delays will, in general, be
much more precise about timing (but without guarantee).  For integer
delays, add plus or minus half a second even under ideal circumstances.

Regards,
Dworkin



More information about the DGD mailing list