This report investigates the use of network interface (NIC) programming to provide multiple personalities or styles for the network interface, including ones that are similar to traditional storage and serial device interfaces. Doing so simplifies the implementation of other types of I/O access over the network at the link layer and helps advance the notion that the network can become the “I/O bus” of clustered systems such as blade servers. This type of support is unnecessary for traditional network environments in which all network access is done through the TCP/IP protocol stack. However, when using link-layer protocols and working directly with commodity network hardware, the mismatch between some types of I/O traffic and the behavior of the network interface becomes apparent, and it is then that the notion of alternative interface personalities becomes valuable. Although there are emerging interconnection architectures such as InfiniBand that offer solutions to this problem, they are currently beyond the range of commodity hardware. In addition, a previous, related effort on linklayer access to remote storage devices, the Ethernet Block Device (EBD), motivates this research. In the course of prototyping EBD, some of the obvious, but often overlooked, differences between network I/O and storage I/O became very apparent, and this effort attempts to solve these problems by concurrently offering multiple interface styles for the network adapter, including one that is better suited for block I/O operations.
[1]
Scott Rixner,et al.
Increasing web server throughput with network interface data caching
,
2002,
ASPLOS X.
[2]
Kostas Magoutis,et al.
Design and Implementation of a Direct Access File System (DAFS) Kernel Server for FreeBSD
,
2002,
BSDCon.
[3]
Margo I. Seltzer,et al.
Structure and Performance of the Direct Access File System
,
2002,
USENIX ATC, General Track.
[4]
Kai Li,et al.
Design and implementation of virtual memory-mapped communication on Myrinet
,
1997,
Proceedings 11th International Parallel Processing Symposium.
[5]
Brian N. Bershad,et al.
SPINE: a safe programmable and integrated network environment
,
1998,
ACM SIGOPS European Workshop.
[6]
Gregory R. Ganger,et al.
Blurring the Line Between Oses and Storage Devices (CMU-CS-01-166)
,
2001
.
[7]
Bruce A. Smith,et al.
On the performance and use of dense servers
,
2003,
IBM J. Res. Dev..
[8]
Virtual Bridged,et al.
IEEE Standards for Local and Metropolitan Area Networks: Specification for 802.3 Full Duplex Operation
,
1997,
IEEE Std 802.3x-1997 and IEEE Std 802.3y-1997 (Supplement to ISO/IEC 8802-3: 1996/ANSI/IEEE Std 802.3, 1996 Edition).
[9]
Freeman Leigh Rawson,et al.
IBM Research Report Revisiting Link-Layer Storage Networking
,
2002
.
[10]
EDDIE KOHLER,et al.
The click modular router
,
2000,
TOCS.
[11]
Larry L. Peterson,et al.
Scheduling computations on a software-based router
,
2001,
SIGMETRICS '01.