[MUD-Dev] Re: atomic functions
J C Lawrence
claw at under.engr.sgi.com
Wed May 6 11:44:18 CEST 1998
On Sat, 2 May 1998 03:41:43 -5
Jon A Lambert<jlsysinc at ix.netcom.com> wrote:
> On 30 Apr 98 at 3:59, Felix A. Croes wrote:
> Very interesting. J.C. has been quite convincing and has opened my
> eyes to many good ideas in this area.
<slick> <click> <click>
<<damn nerf gun is outta bullets>>
> I'm adopting something I've dubbed S&S or Spin-Lock and Swizzle. In
> essence a multithreaded locking system. But ignoring this
> implementation detail, the language implementation is more relevant
> here.
...deletia...
> foo()
> {
> /* code fragment 1 */
> event bar(); /* bar is sceduled for execution as an atomic
> function or independent event. Execution
> foo() is not suspended but continues
> */
> bar(); /* executes bar() as a normal function bar is part of foo */
> /* code fragment 3 */
> }
> bar()
> {
> /* code fragment 3 */
> }
> Either foo() or bar() may be events or normal functions. Whether
> they are atomic events scheduled for independent execution is
> dependent on how they are called. Commits are done on successful
> event completion. Rollbacks are done on event failure.
Problem:
Foo() executes, and launches bar() as a seperate execution thread.
Foo() then fails C&C (S&S?).
What happens to the launched bar()?
Foo() reschedules, does it launch a new bar()?
> I think the difference may lie in that your atomic is more like:
...deletia...
> Whilst mine is:
...deletia...
> No? More comments?
At some point data changes have to be commited. Given the rollback
and reschedule aspect of the C&C approach, on what logical basis can
you have nested commit structures or event fork()s _prior_ to commit?
Now if you mutate the C&C premise in some interesting fashion, (you
never did really explain the basics of S&S), you can certainly do it
-- but now you are talking about a whole different commit model.
Essentially we are talking about the sematics and grammar of data
state changes, and that grammar has to be logicially demonstrable.
--
J C Lawrence Internet: claw at null.net
(Contractor) Internet: coder at ibm.net
---------(*) Internet: claw at under.engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...
--
MUD-Dev: Advancing an unrealised future.
More information about the mud-dev-archive
mailing list