[coyotos-dev] Need for revised invocation

Charles Landau 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 
domains.

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 
more flexibility.

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
>threads

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.
>
>Motivations:
>
>   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 mailing list