2003
DOI: 10.1145/780822.781135
|View full text |Cite
|
Sign up to set email alerts
|

Taming the IXP network processor

Abstract: We compile Nova, a new language designed for writing network processing applications, using a back end based on integer-linear programming (ILP) for register allocation, optimal bank assignment, and spills. The compiler's optimizer employs CPS as its intermediate representation; some of the invariants that this IR guarantees are essential for the formulation of a practical ILP model.Appel and George used a similar ILP-based technique for the IA32 to decide which variables reside in registers but deferred the a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
7
0

Year Published

2005
2005
2021
2021

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 17 publications
(7 citation statements)
references
References 21 publications
0
7
0
Order By: Relevance
“…Commercial offerings in the past such as Intel IXP [3] and IBM PowerNP [11] were also specialized for network flow processing. Nova [21] and Shangri-La [16] develop programming languages and compilers for Intel IXP network processors. The recent resurgence of SmartNICs is closely related to these earlier efforts in network processor architectures.…”
Section: Related Workmentioning
confidence: 99%
“…Commercial offerings in the past such as Intel IXP [3] and IBM PowerNP [11] were also specialized for network flow processing. Nova [21] and Shangri-La [16] develop programming languages and compilers for Intel IXP network processors. The recent resurgence of SmartNICs is closely related to these earlier efforts in network processor architectures.…”
Section: Related Workmentioning
confidence: 99%
“…Click [66] uses C++ for packet processing on software routers. NOVA [56], packetC [47], Intel's auto-partitioning C compiler [44], Pa-cLang [48,49], and Microengine C [16, 18] target network processors [19,20]. Domino's C-like syntax and sequential semantics are inspired by these DSLs.…”
Section: Related Workmentioning
confidence: 99%
“…For such algorithms, it is important for programmability to directly capture the algorithm's intent without requiring it to be "shoehorned" into hardware constructs such as a sequence of match-action tables. Indeed, this is how such data-plane algorithms are expressed in pseudocode [53,92,3,67,52], and implemented in software routers [66,11,46], network processors [47,56], and network endpoints [8].…”
Section: Introductionmentioning
confidence: 99%
“…For Bodik's e-SSA [6] we have Defs ↓ Out(Conds) ↓ . Finally, for SSU [22,27,34] we have Uses ↑ . The SSI constrained system might have several inequations for the same left-hand-side, due to the way we insert phi and sigma functions.…”
Section: Our Approach Vs Other Sparse Evaluation Frameworkmentioning
confidence: 99%
“…The Static Single Assignment (SSA) form [16], for instance, allows us to implement several analyses and optimizations, such as reaching definitions and constant propagation, sparsely. Since its conception, the SSA format has been generalized into many different program representations, such as the Extended-SSA form [6], the Static Single Information (SSI) form [2], and the Static Single Use (SSU) form [22,27,34]. Each of these representations extends the reach of the SSA form to sparser data-flow analyses; however, there is not a format that subsumes all the others.…”
Section: Introductionmentioning
confidence: 99%