Arsenic: a user-accessible gigabit Ethernet interface

Ian A. Pratt, Keir Fraser · 2002

Arsenic is a gigabit Ethernet NIC which exports an extended interface to the operating system and user applications. Unlike conventional adaptors, it implements some of the protection and multiplexing functions traditionally performed by the operating system. This enables applications to be given direct access to their own 'virtual interface', allowing them to send and receive packets without operating system interaction. Packet filters uploaded to the interface card by the operating system are used to demultiplex received packets to their destination application, and to validate packets before transmission. Transmit traffic shaping and scheduling mechanisms enable the bandwidth used by applications to be controlled. These features allow protocol processing to be moved into user-space shared libraries without sacrificing the security and resource management functionality that the operating system normally provides. The paper describes Arsenic's design and implementation, and outlines how it is integrated into the Linux 2.3 operating system. Performance measurements are presented that show Arsenic supports low latency, high bandwidth communication while offering greater CPU efficiency and better quality of service than conventional devices.

Read the paper · More papers on PaperTik