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

Packet Subscriptions for Programmable ASICs

Published:15 November 2018Publication History

ABSTRACT

In this paper, we explore how programmable data planes can provide a higher-level of service to user applications via a new abstraction called packet subscriptions. Packet subscriptions generalize forwarding rules, and can be used to express both traditional routing and more esoteric, content-based approaches. We describe a compiler for packet subscriptions that uses a novel BDD-based algorithm to efficiently translate predicates into P4 tables that can support O(100K) expressions. Using our compiler, we've built a proof-of-concept pub/sub financial application for splitting market feeds (e.g., Nasdaq's ITCH protocol) with line-rate message processing, using the full switch bandwidth of 6.5Tbps.

Skip Supplemental Material Section

Supplemental Material

p176-jepsen.mp4

mp4

1.1 GB

References

  1. S. B. Akers. Binary decision diagrams. IEEE Transactions on Computers (TC), 27(6):509--516, June 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. J. Anderson, N. Foster, A. Guha, J.-B. Jeannin, D. Kozen, C. Schlesinger, and D. Walker. Netkat: Semantic foundations for networks. In Symposium on Principles of Programming Languages (POPL), pages 113--126, Jan. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Apache activemq. http://activemq.apache.org/.Google ScholarGoogle Scholar
  4. R. Beckett, A. Gupta, R. Mahajan, and D. Walker. A general approach to network configuration verification. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 155--168, Aug. 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, and D. Walker. P4: Programming Protocol-Independent Packet Processors. SIGCOMM Computer Communication Review (CCR), 44(3):87--95, July 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Bosshart, G. Gibb, H.-S. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M. Horowitz. Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 99--110, Aug. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers (TC), 35(8):677--691, Aug. 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Carzaniga and A. L. Wolf. Content-based networking: A new communication infrastructure. In NSF Workshop Infrastructure for Mobile and Wireless Systems (IMWS), pages 59--68, Oct. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Carzaniga and A. L. Wolf. Forwarding in a content-based network. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 163--174, Aug. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W. Chan, R. Anderson, P. Beame, and D. Notkin. Combining constraint solving and symbolic model checking for a class of systems with nonlinear constraints. In International Conference on Computer Aided Verification (CAV), pages 316--327, June 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Clark. The design philosophy of the DARPA Internet Protocols. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 106--114, Aug. 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. DPDK. http://dpdk.org/.Google ScholarGoogle Scholar
  13. D. E. Eisenbud, C. Yi, C. Contavalli, C. Smith, R. Kononov, E. Mann-Hielscher, A. Cilingiroglu, B. Cheyney, W. Shang, and J. D. Hosein. Maglev: A fast and reliable software network load balancer. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), pages 523--535, Mar. 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec. The many faces of publish/subscribe. ACM Computing Surveys (CSUR), 35(2):114--131, June 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Fisher. A look behind the future internet architectures efforts. SIGCOMM Computer Communication Review (CCR), 44(3):45--49, July 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker. Frenetic: A Network Programming Language. In International Conference on Functional Programming (ICFP), pages 279--291, Sept. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. IBM MQ. https://www-03.ibm.com/software/products/en/ibm-mq.Google ScholarGoogle Scholar
  18. V. Jacobson, D. K. Smetters, J. D. Thornton, M. F. Plass, N. H. Briggs, and R. L. Braynard. Networking named content. In ACM International Conference on Emerging Networking Experiments and Technologies (CoNEXT), pages 1--12, Dec. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. X. Jin, J. Gossels, J. Rexford, and D. Walker. Covisor: A compositional hypervisor for software-defined networks. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), pages 87--101, Oakland, CA, May 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. X. Jin, X. Li, H. Zhang, R. Soulé, J. Lee, N. Foster, C. Kim, and I. Stoica. NetCache: Balancing Key-Value Stores with Fast In-Network Caching. In ACM Symposium on Operating Systems Principles (SOSP), Oct. 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Open-sourcing Katran, a scalable network load balancer. https://code.fb.com/open-source/open-sourcing-katran-a-scalable-network-load-balancer/.Google ScholarGoogle Scholar
  22. T. Koponen, M. Chawla, B.-G. Chun, A. Ermolinskiy, K. H. Kim, S. Shenker, and I. Stoica. A Data-oriented (and Beyond) Network Architecture. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 181--192, Aug. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Kreps, N. Narkhede, and J. Rao. Kafka: A distributed messaging system for log processing. In 6th International Workshop on Networking Meets Databases (NetDB), June 2011.Google ScholarGoogle Scholar
  24. P. Lapukhov. Internet-scale virtual networking using identifier-locator addressing. https://www.nanog.org/sites/default/files/20161018_Lapukhov_Internet-Scale_Virtual_Networking_v1.pdf.Google ScholarGoogle Scholar
  25. X. Li, R. Sethi, M. Kaminsky, D. G. Andersen, and M. J. Freedman. Be fast, cheap and in control with switchkv. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), pages 31--44, Mar. 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Liu, W. Hallahan, C. Schlesinger, M. Sharif, J. Lee, R. Soulé, H. Wang, C. Caşcaval, N. McKeown, and N. Foster. P4v: Practical verification for programmable data planes. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 490--503, Aug. 2018. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. C. Monsanto et al. Composing Software-Defined Networks. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), pages 1--13, Apr. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Narayana, A. Sivaraman, V. Nathan, P. Goyal, V. Arun, M. Alizadeh, V. Jeyakumar, and C. Kim. Language-directed hardware design for network performance monitoring. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 85--98, Aug. 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. E. Nordström, D. Shue, P. Gopalan, R. Kiefer, M. Arye, S. Y. Ko, J. Rexford, and M. J. Freedman. Serval: An end-host stack for service-centric networking. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), Apr. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Papalini, A. Carzaniga, K. Khazaei, and A. L. Wolf. Scalable routing for tag-based information-centric networking. In Proceedings of the 1st International Conference on Information-centric Networking (HotICN), pages 17--26, Sept. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Papalini, K. Khazaei, A. Carzaniga, and D. Rogora. High throughput forwarding for ICN with descriptors and locators. In ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), pages 43--54, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. D. Perino, M. Varvello, L. Linguaglossa, R. Laufer, and R. Boislaigue. Caesar: A content router for high-speed forwarding on content names. In ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), pages 137--148, Oct. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. R. Potharaju and N. Jain. Demystifying the dark side of the middle: A field study of middlebox failures in datacenters. In ACM SIGCOMM Internet Measurement Conference (IMC), pages 9--22, Oct. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. J. Sherry, S. Hasan, C. Scott, A. Krishnamurthy, S. Ratnasamy, and V. Sekar. Making middleboxes someone else's problem: Network processing as a cloud service. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 13--24, Aug. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Siena Synthetic Benchmark Generator. http://www.inf.usi.ch/carzaniga/cbn/forwarding/.Google ScholarGoogle Scholar
  36. S. Smolka, S. Eliopoulos, N. Foster, and A. Guha. A fast compiler for netkat. In International Conference on Functional Programming (ICFP), pages 328--341, Sept. 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. R. Soulé, S. Basu, P. J. Marandi, F. Pedone, R. Kleinberg, E. G. Sirer, and N. Foster. Merlin: A Language for Provisioning Network Resources. In ACM International Conference on Emerging Networking Experiments and Technologies (CoNEXT), Dec. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Tibco rendezvous. https://www.tibco.com/products/tibco-rendezvous.Google ScholarGoogle Scholar
  39. Y. Wang, B. Xu, D. Tai, J. Lu, T. Zhang, H. Dai, B. Zhang, and B. Liu. Fast name lookup for named data networking. In IEEE International Symposium of Quality of Service (IWQoS), pages 198--207, May 2014.Google ScholarGoogle ScholarCross RefCross Ref
  40. XPliant Ethernet Switch Product Family. www.cavium.com/XPliant-Ethernet-Switch-Product-Family.html.Google ScholarGoogle Scholar
  41. H. Yang and S. S. Lam. Real-time verification of network properties using atomic predicates. In IEEE International Conference on Network Protocols (ICNP), pages 1--11, Oct. 2013.Google ScholarGoogle ScholarCross RefCross Ref
  42. H. Yuan and P. Crowley. Reliably scalable name prefix lookup. In ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), pages 111--121, May 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library

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 '18: Proceedings of the 17th ACM Workshop on Hot Topics in Networks
    November 2018
    191 pages
    ISBN:9781450361200
    DOI:10.1145/3286062

    Copyright © 2018 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: 15 November 2018

    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