Giving applications access to Gb/s networking
read more
Citations
Eliminating receive livelock in an interrupt-driven kernel
Fbufs: a high-bandwidth cross-domain transfer facility
Eliminating receive livelock in an interrupt-driven kernel
Gigabit ethernet adapter supporting the iscsi and ipsec protocols
Lazy receiver processing (LRP): a network subsystem architecture for server systems
References
Architectural considerations for a new generation of protocols
The x-Kernel: an architecture for implementing network protocols
An analysis of TCP processing overhead
A dynamic network architecture
The VMP network adapter board (NAB): high-performance network communication for multiprocessors
Related Papers (5)
Frequently Asked Questions (17)
Q2. What are the key policies which an operating system can enforce through its scheduling?
The key policies which an operating system can enforce through its scheduling are fairness (e.g., in multiplexing packet streams) and the prevention of starvation.
Q3. What is the key issue in the design of operating systems?
One of the key issues in the design of operating system features which support interactions with external events (such as arriving data) is the state exchange protocol.
Q4. What is used to specify header data to the segmenter card?
The VCI and MID are used, e.g., to specify header data to the segmenter card so that it can format a series of ATM cells for transmission.
Q5. What are the main goals of the migration towards hardware?
Much of the migration towards hardware is intended to obtain an implementation-specific performance advantage - as Watson and Mamrak [29] point out, performance is often due as much to implementation techniques as to careful protocol design.
Q6. What is the bottleneck on the IBM RISC System/6000 Model 580?
On the IBM RISC System/6000 Model 320, the bottleneck is the I/O Channel Controller (IOCC) which limits the performance to about 130 Mbps, while on the XIO-equipped IBM RISC/System 6000 Model 580, the physical layer data rate is the bottleneck at 135 Mbps.
Q7. What are the main options for achieving efficiency?
Efficiency can be achieved through many design features, but the main options [29] are: optimizing the processing functions in the protocol architecture, optimizing the operating system support for data transport, and careful placement of the hardware required for network attachment.
Q8. What is the final validation of the test?
Since application performance is the final validation, any experiments should be as close to true end-to-end experiments as possible.
Q9. What are the main freedoms for the host interface software designer?
In practice, the main freedoms for the host interface software designer lie in the design of the device driver, since it forms the boundary between the host’s devicePreprint, July 1993 IEEE Network Special Issue, pp. 44-52independent software and the functions performed by the device.
Q10. What is the main reason for using pinned storage?
Use of pinned storage may present difficulties for system memory allocation if many channels with large PDU sizes are active concurrently.
Q11. What is the key issue in multiplexing?
In particular, as pointed out in [14] multiplexing is a key issue, and in an end-to-end architecture, the end-points are processes.
Q12. What is the key test of the architectural hypotheses presented?
A key test of the various architectural hypotheses presented is their experimental evaluation; since many of these claims are related to performance, their experiments are focused on timing and throughput measurements, and analyses of these measurements.
Q13. What is the protocol The authorused to determine the size of a PDU?
Legend: PDU - Protocol Data Unit, an object size dictated by the protocol The author- Interrupt CI - Clocked Interrupt * - Processor can signal arbitrary events, e.g., Cell, PDU, timeout, etc.
Q14. What is the problem with on-board protocol processing?
One difficulty the authors have observed in practice with implementations employing on-board protocol processing is that communication with the interface requires a more complex protocol [24] than might otherwise be needed.
Q15. What is the relationship between the parameters of a system with an interrupt service overhead of 1?
Since the maximum number of events serviced per second will be 1 / C+α, the relationship between parameters is that 1>λ.k .(C+α).
Q16. How much bandwidth was used to transfer data between the application and the host interface?
In both cases, the total impact on measured memory bandwidth (including the execution of the networking test application program, the device driver, and the transfer of data between the application and host interface) was less than 50%.
Q17. What is the correct choice for tradeoffs?
The correct choices for tradeoffs here are entirely a function of the workstation user’s desire for, and use of, network services.