ABSTRACT
Programmable network interfaces provide the potential to extend the functionality of network services but lead to instruction processing overheads when compared to application-specific network interfaces. This paper aims to offset those performance disadvantages by exploiting task-level concurrency in the workload to parallelize the network interface firmware for a programmable controller with two processors. By carefully partitioning the handler procedures that process various events related to the progress of a packet, the system can minimize sharing, achieve load balance, and efficiently utilize on-chip storage. Compared to the uniprocessor firmware released by the manufacturer, the parallelized network interface firmware increases throughput by 65% for bidirectional UDP traffic of maximum-sized packets, 157% for bidirectional UDP traffic of minimum-sized packets, and 32--107% for real network services. This parallelization results in performance within 10--20% of a modern ASIC-based network interface for real network services.
- Alteon WebSystems. Gigabit Ethernet/PCI Network Interface Card: Host/NIC Software Interface Definition, July 1999. Revision 12.4.13.]]Google Scholar
- M. Björkman and P. Gunningberg. Locking effects in multiprocessor implementations of protocols. In Proceedings of the ACM SIGCOMM '93 Conference, pages 74--83. ACM Press, 1993.]] Google ScholarDigital Library
- N. J. Boden, D. Cohen, R. E. Felderman, A. E. Kulawik, C. L. Seitz, J. N. Seizovic, and W.-K. Su. Myrinet: A Gigabit-per-Second Local Area Network. IEEE MICRO, 15(1):29--36, 1995.]] Google ScholarDigital Library
- P. Buonadonna and D. Culler. Queue Pair IP: A Hybrid Architecture for System Area Networks. In Proceedings of the 29th International Symposium on Computer Architecture, pages 247--256, May 2002.]] Google ScholarDigital Library
- A. Gallatin, J. Chase, and K. Yocum. Trapeze/IP: TCP/IP at Near-Gigabit Speeds. In Proceedings of the FREENIX Track: 1999 USENIX Annual Technical Conference, June 1999.]] Google ScholarDigital Library
- N. C. Hutchinson and L. L. Peterson. The x-Kernel: An Architecture for Implementing Network Protocols. IEEE Transactions on Software Engineering, 17(1):64--76, Jan. 1991.]] Google ScholarDigital Library
- H. Kim, V. S. Pai, and S. Rixner. Improving Web Server Throughput with Network Interface Data Caching. In Proceedings of the Tenth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 239--250, October 2002.]] Google ScholarDigital Library
- R. Morris, E. Kohler, J. Jannotti, and M. F. Kaashoek. The click modular router. ACM SIGOPS Operating Systems Review, 34(2):24--25, 2000.]] Google ScholarDigital Library
- T. Mudge. Power: A First-Class Architectural Design Constraint. Computer, 34(4):52--58, April 2001.]] Google ScholarDigital Library
- E. M. Nahum, D. J. Yates, J. F. Kurose, and D. F. Towsley. Performance Issues in Parallelized Network Protocols. In Proceedings of the Operating Systems Design and Implementation, pages 125--137, 1994.]] Google ScholarDigital Library
- J. Poskanzer. thttpd - tiny/turbo/throttling HTTP server. Acme Labs, Feb. 2000. Unix manual page.]]Google Scholar
- I. Pratt and K. Fraser. Arsenic: A User-Accessible Gigabit Ethernet Interface. In Proceedings of IEEE INFOCOM '01, pages 67--76, 2001.]]Google ScholarCross Ref
- J. Satran, K. Meth, C. Sapuntzakis, M. Chadalapaka, and E. Zeidner. iSCSI. IETF Internet draft draft-ietf-ips-iscsi-14.txt, work in progress, July 2002.]]Google Scholar
- P. Shivam, P. Wyckoff, and D. Panda. EMP: Zero-copy OS-bypass NIC-driven Gigabit Ethernet Message Passing. In Proceedings of the 2001 ACM/IEEE Conference on Supercomputing (SC2001), Nov. 2001.]] Google ScholarDigital Library
- P. Shivam, P. Wyckoff, and D. Panda. Can User-Level Protocols Take Advantage of Multi-CPU NICs? In Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS'02), pages 64--69, Apr. 2002.]] Google ScholarDigital Library
Index Terms
- Exploiting task-level concurrency in a programmable network interface
Recommendations
Exploiting task-level concurrency in a programmable network interface
Proceedings of the ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP 2003) and workshop on partial evaluation and semantics-based program manipulation (PEPM 2003)Programmable network interfaces provide the potential to extend the functionality of network services but lead to instruction processing overheads when compared to application-specific network interfaces. This paper aims to offset those performance ...
Design and Prototype of a Performance Tool Interface for OpenMP
This paper proposes a performance tools interface for OpenMP, similar in spirit to the MPI profiling interface in its intent to define a clear and portable API that makes OpenMP execution events visible to runtime performance tools. We present our ...
The MOLEN Polymorphic Processor
In this paper, we present a polymorphic processor paradigm incorporating both general purpose and custom computing processing. The proposal incorporates an arbitrary number of programmable units, exposes the hardware to the programmers/designers, and ...
Comments