Seonah Lee
What is the problem with cleaning up task states in event driven
model? How can the branches in control flow cause dealocation steps to
miss?
Why does Knot-A (the one that favors new connections over active
ones) behaves the way depicted in Fig 3?Actually I don't understand
why does it go up again after the first fall (between 2048 and 4096).
Ousterhout vs the
authors of "Events Are A Bad Idea" - in a battle to the
death, who will come out victorious?
Do you think that the events vs threads all comes down to which ever
paradigm
the programmer is most familiar with?
Suppose that the threads really work as well as the paper states. How
would
you cook up a set of benchmarks that would favour event based systems
(without leaving the arena of high-concurrency servers)?
Notice that the subtitle of this paper indicates that this matters
mostly
for "high-concurrency servers"). Does the argument of the paper apply
to:
modern computer games? embedded systems for space shuttle? embedded
systems
for set top boxes? firmware for your home office router? word processor
and
traditional applications?
Alfred Yu-Han Pang
What are the O(n) operations in the scheduler that are removed to
lessen overhead of threads? Are they vital?
What is the maximum latency when Knot is used in comparison to that of
Haboob? How is fairness and graceful degradation be ensured here?
von Behren mentions that threads are better because "... the
concurrency in modern servers results frm concurrent requests that are
largely independent." (Section 3) I would suspect quite the opposite, do
you think requests are "largely independent?"
It seems the author does a lot of handwaving, particularly about
compiler optimizations for threads (for isntance: "... these problems
can
be addressed with furher analyses" Section 4.1), but is there any
evidence
to support these claims?
Lloyd Markle
They say that they
translate blocking I/O requests to asynchronous
requests, but that for disk I/O these are implemented with blocking
calls performed by a thread pool. Isn't the effect that disk I/O is
still a blocking call that the thread must wait on? Why even bother with
the thread pool?
Doesn't cooperative multitasking generally imply sub-optimal
performance, at least in the case where there are more threads than
processors, because the programmer almost never knows exactly where a
thread should yield? It seems likely that you'll either have an
over-abundance of context switches or else threads will have to wait for
long periods while other threads use the processors.
Sam Davis
What is the benifit of "stack ripping"?
What does cooperative multitasking mean for events?
Aiman Erbad