Kim, Hyong-youbPai, Vijay S.Rixner, Scott2007-10-312007-10-312003-06-202003-06-20H. Kim, V. S. Pai and S. Rixner, "Exploiting Task-Level Concurrency in a Programmable Network Interface," 2003.https://hdl.handle.net/1911/20031Conference PaperProgrammable 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.engparallel programmingembedded systemsnetwork interfacesmemory performanceExploiting Task-Level Concurrency in a Programmable Network InterfaceConference paperparallel programmingembedded systemsnetwork interfacesmemory performance