Check out the new USENIX Web site. next up previous
Next: A new model for Up: Shortcomings of current resource Previous: Integrating network processing with

Consequences of misidentified resource principals

Our fundamental concern is to allow an application to explicitly allocate resource consumption among the independent activities that it manages. This is infeasible if the operating system's view of activity differs from that of the application, or if the system fails to account for large chunks of consumption. Yet it is crucial for a server to support accurately differentiated QoS among its clients, or to prevent overload from denial-of-service attacks, or to give its existing connections priority over new ones.

With a single-process server, for example, traditional operating systems see only one resource principal - the process. This prevents the application from controlling consumption of kernel CPU time (and other kernel resources) by various network connections within this resource principal. The application cannot control the order in which the kernel delivers its network events; nor, in most systems, can it control whether it receives network events before other processes do.

It is this lack of a carefully defined concept of resource principal, independent from other abstractions such as process or thread, that precludes the application control we desire.


next up previous
Next: A new model for Up: Shortcomings of current resource Previous: Integrating network processing with
Gaurav Banga
1998-12-17