Modeling NICs with Unicorn

  • Authors:
  • Pravin Shinde;Antoine Kaufmann;Kornilios Kourtis;Timothy Roscoe

  • Affiliations:
  • ETH Zurich;ETH Zurich;ETH Zurich;ETH Zurich

  • Venue:
  • Proceedings of the Seventh Workshop on Programming Languages and Operating Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

NICs are increasingly complex and diverse, offering a wide range of hardware functionality to aid network protocol processing. Harnessing the power of NIC hardware requires the ability to control and reason about a variety of different feature sets in the network stack. Towards this goal, we propose Unicorn, a language for describing modern NICs. Unicorn offers a simple set of abstractions for modeling both NIC functionality and the state of a protocol stack. To evaluate its expressivity and potential, we present a non-trivial model for the Intel i82599 10GbE NIC, and an algorithm that uses graph embedding to optimize the use of NIC hardware in the network stack.