2009-12-28

concurrent control.struct's

9.5: adda/concurrency/wait:
. the wait.instruction takes current time and wait time
to guard suspension .

12.9: adda/terms/coprogram:
. I had thought that coroutine should be to concurrency
what subroutine was to sequence;
but, was then discouraged after finding
that coroutine already has an entrenched meaning:
non-preemptive concurrency .
. however, ada has used the term subprogram to mean either
{function, procedure, program},
and so likewise,
coprogram could mean unit of concurrency
{sync, async}{thread, process}{server, agent} .
. I like this better than ada's term"task;
because, the english meaning of task has no connotations of concurrency .


12.16: web.adda/asynchronous RPC:

in Amoeba 2.0 we made a truly dreadful decision to have asynchronous RPC.
This scheme allowed considerable parallelism,
but it was impossible to program correctly.
Our advice to future designers is to avoid asynchronous messages
like the plague.

. is that right? didn't e.lang solve that with promises?
. after reading about this,
I thought it would be easier to keep things modeled after
human activities like answering machines for the phone .
[12.17:
. I did however understand how promise pipelines work;
it's the same idea I noticed with sending calls in batches:
if there is a complex expression of operations over one type,
send the entire expression to that type's mgt,
rather than asking it send back each intermediate result .
]


No comments:

Post a Comment