skip to main content
10.1145/3365609.3365848acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

Event-Driven Packet Processing

Published:14 November 2019Publication History

ABSTRACT

The rise of programmable network devices and the P4 programming language has sparked an interest in developing new applications for packet processing data planes. Current data-plane programming models allow developers to express packet processing on a synchronous packet-by-packet basis, motivated by the goal of line rate processing in feed-forward pipelines. But some important data-plane operations do not naturally fit into this programming model. Sometimes we want to perform periodic tasks, or update the same state variables multiple times, or base a decision on state sitting at a different pipeline stage. While a P4-programmable device might contain special features to handle these tasks, such as packet generators and recirculation paths, there is currently no clean and consistent way to expose them to P4 programmers. We therefore propose a common, general way to express event processing using the P4 language, beyond just processing packet arrival and departure events. We believe that this more general notion of event processing can be supported without sacrificing line rate packet processing and we have developed a prototype event-driven architecture on the NetFPGA SUME platform to serve as an initial proof of concept.

Skip Supplemental Material Section

Supplemental Material

p133-ibanez.mp4

References

  1. Mohammad Alizadeh, Tom Edsall, Sarang Dharmapurikar, Ramanan Vaidyanathan, Kevin Chu, Andy Fingerhut, Francis Matus, Rong Pan, Navindra Yadav, George Varghese, et al. 2014. CONGA: Distributed congestion-aware load balancing for datacenters. In ACM SIGCOMM CCR, Vol. 44. ACM, 503--514.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. 2013. Forwarding metamorphosis: Fast programmable match-action processing in hardware for SDN. In ACM SIGCOMM Computer Communication Review, Vol. 43. ACM, 99--110.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Xiaoqi Chen, Shir Landau Feibish, Yaron Koral, Jennifer Rexford, and Ori Rottenstreich. 2018. Catching the Microburst Culprits with Snappy. In Proc. of the Workshop on Self-Driving Networks. ACM, 22--28.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Sharad Chole, Andy Fingerhut, Sha Ma, Anirudh Sivaraman, Shay Vargaftik, Alon Berger, Gal Mendelson, Mohammad Alizadeh, Shang-Tse Chuang, Isaac Keslassy, et al. 2017. drmt: Disaggregated programmable switching. In Proc. of ACM Sigcomm. ACM, 1--14.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Graham Cormode and Shan Muthukrishnan. 2005. An improved data stream summary: the count-min sketch and its applications. Journal of Algorithms 55, 1 (2005), 58--75.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Huynh Tu Dang, Marco Canini, Fernando Pedone, and Robert Soulé. 2016. Paxos made switch-y. ACM SIGCOMM CCR 46, 2 (2016), 18--24.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Sally Floyd and Van Jacobson. 1993. Random early detection gateways for congestion avoidance. IEEE/ACM Transactions on networking 4 (1993), 397--413.Google ScholarGoogle Scholar
  8. Mark Handley, Costin Raiciu, Alexandru Agache, Andrei Voinescu, Andrew W Moore, Gianni Antichi, and Marcin Wójcik. 2017. Re-architecting datacenter networks and stacks for low latency and high performance. In Proc. of the Conference of ACM Sigcomm. ACM, 29--42.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Juha Heinanen and Roch Guérin. 1999. A single rate three color marker. Technical Report.Google ScholarGoogle Scholar
  10. Thomas Holterbach, Edgar Costa Molero, Maria Apostolaki, Alberto Dainotti, Stefano Vissicchio, and Laurent Vanbever. 2019. Blink: Fast connectivity recovery entirely in the data plane. In 16th USENIX NSDI Symposium. 161--176.Google ScholarGoogle Scholar
  11. Stephen Ibanez, Gordon Brebner, Nick McKeown, and Noa Zilberman. 2019. The P4-> NetFPGA Workflow for Line-Rate Packet Processing. In Proc. of ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. ACM, 1--9.Google ScholarGoogle Scholar
  12. Xin Jin, Xiaozhou Li, Haoyu Zhang, Nate Foster, Jeongkeun Lee, Robert Soulé, Changhoon Kim, and Ion Stoica. 2018. Netchain: Scale-free subrtt coordination. In 15th USENIX NSDI Symposium. 35--49.Google ScholarGoogle Scholar
  13. Xin Jin, Xiaozhou Li, Haoyu Zhang, Robert Soulé, Jeongkeun Lee, Nate Foster, Changhoon Kim, and Ion Stoica. 2017. Netcache: Balancing key-value stores with fast in-network caching. In Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 121--136.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Naga Katta, Mukesh Hira, Changhoon Kim, Anirudh Sivaraman, and Jennifer Rexford. 2016. Hula: Scalable load balancing using programmable data planes. In Proc. of the Symposium on SDN Research. ACM, 10.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Yuliang Li, Rui Miao, Changhoon Kim, and Minlan Yu. 2016. FlowRadar: a better NetFlow for data centers. In 13th USENIX NSDI Symposium. 311--324.Google ScholarGoogle Scholar
  16. Dong Lin and Robert Morris. 1997. Dynamics of random early detection. In ACM SIGCOMM CCR, Vol. 27. ACM, 127--137.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Shouxi Luo, Hongfang Yu, and Laurent Vanbever. 2017. Swing state: Consistent updates for stateful and programmable data planes. In Proc. of the Symposium on SDN Research. ACM, 115--121.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Rui Miao, Hongyi Zeng, Changhoon Kim, Jeongkeun Lee, and Minlan Yu. 2017. Silkroad: Making stateful layer-4 load balancing fast and cheap using switching asics. In Proc. of the ACM Sigcomm Conference. ACM, 15--28.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Barefoot Networks. 2019. Tofino - World's Fastest P4-programmable Ethernet Switch ASICs. (2019). https://barefootnetworks.com/products/brief-tofino/Google ScholarGoogle Scholar
  20. P4.org. 2018. In-band Network Telemetry (INT) Dataplane Specification. (2018). https://github.com/p4lang/p4-applications/blob/master/docs/INT.pdfGoogle ScholarGoogle Scholar
  21. P4.org. 2018. P4 Portable Switch Architecture (PSA). (2018). https://p4.org/p4-spec/docs/PSA-v1.1.0.htmlGoogle ScholarGoogle Scholar
  22. Rong Pan, Lee Breslau, Balaji Prabhakar, and Scott Shenker. 2003. Approximate fairness through differential dropping. ACM SIGCOMM Computer Communication Review 33, 2 (2003), 23--39.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Rong Pan, Preethi Natarajan, Chiara Piglione, Mythili Suryanarayana Prabhu, Vijay Subramanian, Fred Baker, and Bill VerSteeg. 2013. PIE: A lightweight control scheme to address the bufferbloat problem. In IEEE 14th International Conference on High Performance Switching and Routing (HPSR). IEEE, 148--155.Google ScholarGoogle ScholarCross RefCross Ref
  24. Salvatore Pontarelli, Roberto Bifulco, Marco Bonola, Carmelo Cascone, Marco Spaziani, Valerio Bruschi, Davide Sanvito, Giuseppe Siracusano, Antonio Capone, Michio Honda, et al. 2019. Flowblaze: Stateful packet processing in hardware. In 16th USENIX NSDI Symposium.Google ScholarGoogle Scholar
  25. Roshan Sedar, Michael Borokhovich, Marco Chiesa, Gianni Antichi, and Stefan Schmid. 2018. Supporting emerging applications with low-latency failover in p4. (2018).Google ScholarGoogle Scholar
  26. Anirudh Sivaraman, Alvin Cheung, Mihai Budiu, Changhoon Kim, Mohammad Alizadeh, Hari Balakrishnan, George Varghese, Nick McKeown, and Steve Licking. 2016. Packet transactions: High-level programming for line-rate switches. In Proceedings of the 2016 ACM SIGCOMM Conference. ACM, 15--28.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Anirudh Sivaraman, Suvinay Subramanian, Mohammad Alizadeh, Sharad Chole, Shang-Tse Chuang, Anurag Agrawal, Hari Balakrishnan, Tom Edsall, Sachin Katti, and Nick McKeown. 2016. Programmable packet scheduling at line rate. In Proc. of ACM SIGCOMM Conference. ACM, 44--57.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Xilinx. 2018. SDNet. (2018). https://www.xilinx.com/products/design-tools/software-zone/sdnet.htmlGoogle ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    HotNets '19: Proceedings of the 18th ACM Workshop on Hot Topics in Networks
    November 2019
    176 pages
    ISBN:9781450370202
    DOI:10.1145/3365609

    Copyright © 2019 ACM

    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 ACM 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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 14 November 2019

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate110of460submissions,24%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader