skip to main content
10.1145/2525528.2525532acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
research-article

Modeling NICs with Unicorn

Published: 03 November 2013 Publication History

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.

References

[1]
J. Dean and S. Ghemawat. Mapreduce: simplified data processing on large clusters. In 6th USENIX Symposium on Operating Systems Design and Implementation, Dec. 2004.
[2]
H. Esmaeilzadeh, E. Blem, R. S. Amant, K. Sankaralingam, and D. Burger. Power challenges may end the multicore era. Commun. ACM, 56(2):93--102, Feb. 2013. ISSN 0001-0782. URL http://doi.acm.org/10.1145/2408776.2408797.
[3]
N. C. Hutchinson and L. L. Peterson. The X-Kernel: An architecture for implementing network protocols. IEEE Transactions on Software Engineering, 17(1), January 1991. ISSN 0098-5589. URL http://dx.doi.org/10.1109/32.67579.
[4]
Intel Corporation. Intel IXP2400/IXP2800 Network Processor Programmer's Reference Manual, November 2003.
[5]
Intel Corporation. Intel 82599 10 GbE Controller Datasheet, December 2010. Revision 2.6.
[6]
M. Isard, M. Budiu, Y. Yu, A. Birrell, and D. Fetterly. Dryad: distributed data-parallel programs from sequential building blocks. In Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, EuroSys '07, pages 59--72, New York, NY, USA, 2007. ACM. ISBN 978-1-59593-636-3. URL http://doi.acm.org/10.1145/1272996.1273005.
[7]
The OpenCL Specification, Version 1.2. Khronos Group, 2012.
[8]
E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The click modular router. ACM Transactions on Computer Systems, 18(3), August 2000. ISSN 0734-2071. URL http://doi.acm.org/10.1145/354871.354874.
[9]
G. Likely and J. Boyer. A symphony of flavours: Using the device tree to describe embedded hardware. In Proceedings of the Linux Symposium, volume 2, pages 27--37, 2008.
[10]
A. Madhavapeddy, A. Ho, T. Deegan, D. Scott, and R. Sohan. Melange: creating a "functional" internet. In Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, Lisbon, Portugal, 2007. ISBN 978-1-59593-636-3. URL http://doi.acm.org/10.1145/1272996.1273009.
[11]
F. Mérillon, L. Réveillère, C. Consel, R. Marlet, and G. Muller. Devil: an IDL for hardware programming. In 4th USENIX Symposium on Operating Systems Design and Implementation, pages 17--30, 2000.
[12]
Microsoft Corporation. Information about the TCP chimney offload, receive side scaling, and network direct memory access features in windows server 2008. Microsoft Knowledge Base article 951037, http://support.microsoft.com/kb/951037, revision 7.0, February 2011.
[13]
mle1000-syn. Discussion in the e1000-devel mailing list entitled `Configure Rx ntuple filters'. http://article.gmane.org/gmane.linux.drivers.e1000.devel/10140, June 2012.
[14]
C. J. Rossbach, J. Currey, M. Silberstein, B. Ray, and E. Witchel. PTask: operating system abstractions to manage GPUs as compute devices. In 23rd ACM Symposium on Operating Systems Principles, pages 233--248, 2011. ISBN 978-1-4503-0977-6. URL http://doi.acm.org/10.1145/2043556.2043579.
[15]
L. Ryzhyk, P. Chubb, I. Kuz, E. Le Sueur, and G. Heiser. Automatic device driver synthesis with termite. In 22nd ACM Symposium on Operating Systems Principles, pages 73--86, Oct. 2009. ISBN 978-1-60558-752-3.
[16]
P. Shinde, A. Kaufmann, T. Roscoe, and S. Kaestle. We need to talk about NICs. In 14th Workshop on Hot Topics in Operating Systems, May 2013.
[17]
Solarflare Communications, Inc. Solarflare SFN5122F Dual-Port 10GbE Enterprise Server Adapter, 2010. URL http://www.solarflare.com/Content/UserFiles/Documents/Solarflare_SFN5122F_10GbE_Adapter_Brief.pdf.
[18]
Y. Weinsberg, D. Dolev, T. Anker, M. Ben-Yehuda, and P. Wyckoff. Tapping into the fountain of CPUs: on operating system support for programmable devices. In 13th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 179--188, 2008. ISBN 978-1-59593-958-6.

Cited By

View all
  • (2023)Towards a real-time IoT: Approaches for incoming packet processing in cyber–physical systemsJournal of Systems Architecture10.1016/j.sysarc.2023.102891140(102891)Online publication date: Jul-2023
  • (2019)LoomProceedings of the 16th USENIX Conference on Networked Systems Design and Implementation10.5555/3323234.3323238(33-46)Online publication date: 26-Feb-2019
  • (2018)FloemProceedings of the 13th USENIX conference on Operating Systems Design and Implementation10.5555/3291168.3291217(663-679)Online publication date: 8-Oct-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLOS '13: Proceedings of the Seventh Workshop on Programming Languages and Operating Systems
November 2013
70 pages
ISBN:9781450324601
DOI:10.1145/2525528
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 November 2013

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

SOSP '13
Sponsor:

Acceptance Rates

PLOS '13 Paper Acceptance Rate 10 of 16 submissions, 63%;
Overall Acceptance Rate 17 of 32 submissions, 53%

Upcoming Conference

SOSP '25
ACM SIGOPS 31st Symposium on Operating Systems Principles
October 13 - 16, 2025
Seoul , Republic of Korea

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Towards a real-time IoT: Approaches for incoming packet processing in cyber–physical systemsJournal of Systems Architecture10.1016/j.sysarc.2023.102891140(102891)Online publication date: Jul-2023
  • (2019)LoomProceedings of the 16th USENIX Conference on Networked Systems Design and Implementation10.5555/3323234.3323238(33-46)Online publication date: 26-Feb-2019
  • (2018)FloemProceedings of the 13th USENIX conference on Operating Systems Design and Implementation10.5555/3291168.3291217(663-679)Online publication date: 8-Oct-2018
  • (2018)Your Programmable NIC Should be a Programmable SwitchProceedings of the 17th ACM Workshop on Hot Topics in Networks10.1145/3286062.3286068(36-42)Online publication date: 15-Nov-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media