USENIX Technical Program - Abstract - USENIX Annual
Conference, General Session - June 2000
Signaled Receiver Processing
José Brustoloni, Eran Gabber, Abraham Silberschatz, and Amit
Singh, Lucent Technologies - Bell Laboratories
Abstract
Protocol processing of received packets in BSD Unix is interrupt-driven
and may cause scheduling anomalies that are unacceptable in systems that
provide quality of service (QoS) guarantees. We propose an alternative
mechanism, Signaled Receiver Processing (SRP), that generates a signal
to the receiving process when a packet arrives. The default action of
this signal is to perform protocol processing asynchronously. However, a
receiving process may catch, block, or ignore the signal and defer
protocol processing until a subsequent receive call. In any case,
protocol processing occurs in the context of the receiving process and
is correctly charged. Therefore, SRP allows the system to enforce and
honor QoS guarantees. SRP offers several advantages over Lazy Receiver
Processing (LRP), a previous solution to BSD's scheduling anomalies: SRP
is easily portable to systems that support neither kernel threads nor
Resource Containers (e.g., FreeBSD); gives applications control over the
scheduling of protocol processing; uses a demultiplexing strategy that
is appropriate for both hosts and gateways; and easily enables real-time
or proportional-share scheduling.
|