Exploiting Task-Level Concurrency in a Programmable Network Interface

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.

Description
Conference Paper
Advisor
Degree
Type
Conference paper
Keywords
parallel programming, embedded systems, network interfaces, memory performance
Citation

H. Kim, V. S. Pai and S. Rixner, "Exploiting Task-Level Concurrency in a Programmable Network Interface," 2003.

Has part(s)
Forms part of
Published Version
Rights
Link to license
Citable link to this page
Collections