[Haskell-cafe] Fwd: Timing and Atom
leepike at gmail.com
Tue Dec 1 11:43:00 EST 2009
[Tom -- resending my reply---I forgot to post to the list.]
Neil, could you provide a reference (more on the practical side than
the theory side) for the Stochastic Process Algebras you mention? And
is there an embedding in Haskell? :)
Begin forwarded message:
From: Lee Pike <leepike at gmail.com>
Date: November 30, 2009 10:14:33 PM PST
To: Tom Hawkins <tomahawkins at gmail.com>
Subject: Re: Timing and Atom
Thanks a lot for the detailed reply!
> If you need greater timing resolution than what is provided by the
> main loop, then I think the only option is to reference a hardware
Right, of course. Use a hardware counter if you're not using a RTOS.
That was the quick answer I wasn't considering. :)
> I never considered running Atom generated functions in an asynchronous
> loop until you posted your "Atomic Fibonacci Server" example
Yeah, I always think it's fun to use synchronous languages
asynchronously. Usually people think of trying to implement synchrony
from asynchronous languages.
> But there is a wide field of applications where this approach would
> work just
> fine -- not having to worry about meeting a hard loop time would
> certainly simplify the design.
I think it's a trade-off, right? You don't worry as much about time,
but you have to worry about doing synchronization using handshakes or
similar protocols. I know folks who make fault-tolerant systems
generally prefer synchronized systems since asynchrony gets really
hard once you start considering the possibility of random faults (See,
for example, <http://embedded.eecs.berkeley.edu/giotto/> or _Real-Time
Systems_ by Hermann Kopetz).
> Could some form of static analysis be applied to provide the timing
Of the asynchronous system (e.g., the "Fib. server")? In something
like that, it should function under any possible schedule because of
the handshakes (I should model-check it to prove that). Did I
misunderstand your point?
Thanks again for answering my question!
More information about the Haskell-Cafe