Check out the new USENIX Web site. next up previous
Next: Consequences of misidentified resource Up: Shortcomings of current resource Previous: The distinction between scheduling

   
Integrating network processing with resource
management

As described above, traditional systems provide little control over the kernel resources consumed by network-intensive applications. This can lead to inaccurate accounting, and therefore inaccurate scheduling. Also, much of the network processing is done as the result of interrupt arrivals, and interrupts have strictly higher priority than any user-level code; this can lead to starvation or livelock [15,30]. These issues are particularly important for large-scale Internet servers.


  
Figure 8: A network-intensive application in a LRP system.
\begin{figure}
\centering
\centerline{\psfig{figure=lrp-appl.ps}}
\end{figure}

Lazy Receiver Processing (LRP) [15] partially solves this problem, by more closely following the process-centric model. In LRP, network processing is integrated into the system's global resource management. Resources spent in processing network traffic are associated with and charged to the application process that caused the traffic. Incoming network traffic is processed at the scheduling priority of the process that received the traffic, and excess traffic is discarded early. LRP systems exhibit increased fairness and stable overload behavior.

LRP extends a process-centered resource principal into the kernel, leading to the situation shown in Figure 8. However, LRP maintains the equivalence between resource principal and process; it simply makes it more accurate. LRP, by itself, does not solve all of the problems that arise when the process is not the correct unit of resource management.


next up previous
Next: Consequences of misidentified resource Up: Shortcomings of current resource Previous: The distinction between scheduling
Gaurav Banga
1998-12-17