[coyotos-dev] Need for revised invocation
clandau at macslab.com
Sun Feb 5 20:21:39 EST 2006
At 8:41 PM -0500 2/2/06, Jonathan S. Shapiro wrote:
>Just to be clear, the required functionality *can* be achieved in the
>KeyKOS/EROS model. It requires a helper domain. These are the helper
>domains shown in the figure on page 3 (and others) in Network Subsystems
>Reloaded (http://www.eros-os.org/papers/usenix-net-2004.ps). We
>attribute the ENTIRE performance loss in that paper to these helpers.
A useful rule is, if the architecture is sound but performance isn't
adequate, keep the architecture and add optimization.
The architecture in Network Subsystems Reloaded is sound, but the
helper domains/threads subtract performance. I believe one could
invent a new kernel object that does what a helper domain does but
with much less cost. Taking the Rx helper on page 7 as an example,
the new kernel object would logically loop calling one key and
forwarding the message to another key. You can implement this in the
kernel without the storage for a thread register set, without extra
context switches, and without unwanted scheduler artifacts. (It will
require some storage.)
This new kernel object would have several options for the "code" that
the logical domain obeys, for replacing a variety of useful helper
This might have been awkward in KeyKOS/EROS/CapROS because all
objects must be fit into the node/page model, but in Coyotos you have
In an architecture with small threads and fast context switching, one
might even choose to implement these objects as real threads.
Compatibility between CapROS and Coyotos!
At 8:47 PM -0500 2/2/06, Jonathan S. Shapiro wrote:
>There is another set of patterns that motivates a new look at the
>invocation mechanism: POSIX.
>This cannot be done in KeyKOS/EROS without a very large number of kernel
These new objects could replace these helper threads also.
None of the above requires preemption. Preemption is evil and should
be avoided at almost any cost.
At 2:44 PM -0500 2/2/06, Jonathan S. Shapiro wrote:
>On Thu, 2006-02-02 at 08:42 -0800, Charles Landau wrote:
> > So far I haven't seen a good motivation for preemption.
> 1. TCP slow-timeout.
> 2. The remaining 15% of bandwidth in the gigabit ethernet case.
There isn't enough information there for me to comment. Perhaps you
have time now to elaborate?
More information about the coyotos-dev