skip to main content
10.1145/3341302.3342076acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article
Public Access

Nitrosketch: robust and general sketch-based monitoring in software switches

Published:19 August 2019Publication History

ABSTRACT

Software switches are emerging as a vital measurement vantage point in many networked systems. Sketching algorithms or sketches, provide high-fidelity approximate measurements, and appear as a promising alternative to traditional approaches such as packet sampling. However, sketches incur significant computation overhead in software switches. Existing efforts in implementing sketches in virtual switches make sacrifices on one or more of the following dimensions: performance (handling 40 Gbps line-rate packet throughput with low CPU footprint), robustness (accuracy guarantees across diverse workloads), and generality (supporting various measurement tasks).

In this work, we present the design and implementation of NitroSketch, a sketching framework that systematically addresses the performance bottlenecks of sketches without sacrificing robustness and generality. Our key contribution is the careful synthesis of rigorous, yet practical solutions to reduce the number of per-packet CPU and memory operations. We implement NitroSketch on three popular software platforms (Open vSwitch-DPDK, FD.io-VPP, and BESS) and evaluate the performance. We show that accuracy is comparable to unmodified sketches while attaining up to two orders of magnitude speedup, and up to 45% reduction in CPU usage.

Skip Supplemental Material Section

Supplemental Material

p334-liu.mp4

mp4

1,021.6 MB

References

  1. Omid Alipourfard, Masoud Moshref, and Minlan Yu. 2015. Re-evaluating Measurement Algorithms in Software. In Proc. of ACM HotNets. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Omid Alipourfard, Masoud Moshref, Yang Zhou, Tong Yang, and Minlan Yu. 2018. A Comparison of Performance and Accuracy of Measurement Algorithms in Software. In Proc. of ACM SOSR. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Mohammad Alizadeh, Tom Edsall, Sarang Dharmapurikar, Ramanan Vaidyanathan, Kevin Chu, Andy Fingerhut, Vinh The Lam, Francis Matus, Rong Pan, Navindra Yadav, and George Varghese. 2014. CONGA: Distributed Congestion-aware Load Balancing for Datacenters. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mohammad Alizadeh, Shuang Yang, Milad Sharif, Sachin Katti, Nick McKeown, Balaji Prabhakar, and Scott Shenker. 2013. pFabric: Minimal Near-optimal Datacenter Transport. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Noga Alon, Yossi Matias, and Mario Szegedy. 1996. The Space Complexity of Approximating the Frequency Moments. In Proc. of ACM STOC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Eran Assaf, Ran Ben-Basat, Gil Einziger, and Roy Friedman. 2018. Pay for a sliding bloom filter and get counting, distinct elements, and entropy for free. In Proc. of IEEE INFOCOM.Google ScholarGoogle ScholarCross RefCross Ref
  7. Ziv Bar-Yossef, T. S. Jayram, Ravi Kumar, D. Sivakumar, and Luca Trevisan. 2002. Counting Distinct Elements in a Data Stream. In Proc. of RANDOM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ran Ben Basat, Gil Einziger, Roy Friedman, Marcelo Caggiani Luizelli, and Erez Waisbard. 2017. Constant Time Updates in Hierarchical Heavy Hitters. In Proc. of ACM SIGCOMM and CoRR/1707.06778. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ran Ben Basat, Gil Einziger, Roy Friedman, Marcelo Caggiani Luizelli, and Erez Waisbard. 2018. Volumetric Hierarchical Heavy Hitters. In Proc. of IEEE MASCOTS.Google ScholarGoogle ScholarCross RefCross Ref
  10. Ran Ben-Basat, Xiaoqi Chen, Gil Einziger, and Ori Rottenstreich. 2018. Efficient Measurement on Programmable Switches Using Probabilistic Recirculation. In Proc. of IEEE ICNP.Google ScholarGoogle ScholarCross RefCross Ref
  11. Theophilus Benson, Aditya Akella, and David A. Maltz. 2010. Network Traffic Characteristics of Data Centers in the Wild. In Proc. of ACM IMC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Theophilus Benson, Ashok Anand, Aditya Akella, and Ming Zhang. 2011. MicroTE: Fine Grained Traffic Engineering for Data Centers. In Proc. of ACM CoNEXT. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Supratik Bhattacharyya, Andre Madeira, S. Muthukrishnan, and Tao Ye. 2007. How to Scalably and Accurately Skip Past Streams. In Proc. of IEEE ICDE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. CAIDA. 2016. The CAIDA UCSD Anonymized Internet Traces equinix-chicago. http://www.caida.org/data/passive/passive_2016_dataset.xmlGoogle ScholarGoogle Scholar
  15. CAIDA. 2018. The CAIDA UCSD Anonymized Internet Traces equinix-chicago. http://www.caida.org/data/passive/passive_dataset.xmlGoogle ScholarGoogle Scholar
  16. Cameron. 2015. Fast Concurrent Queue. https://github.com/cameron314/readerwriterqueueGoogle ScholarGoogle Scholar
  17. Moses Charikar, Kevin Chen, and Martin Farach-Colton. 2002. Finding Frequent Items in Data Streams. In Proc. of ICALP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Xiaoqi Chen, Shir Landau Feibish, Yaron Koral, Jennifer Rexford, and Ori Rottenstreich. 2018. Catching the Microburst Culprits with Snappy. In Proc. of SelfDN Workshop. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Xiaoqi Chen, Shir Landau Feibish, Yaron Koral, Jennifer Rexford, Ori Rottenstreich, Steven A. Monetti, and Wang Tzuu-Yi. 2019. Fine-Grained Queue Measurement in the Data Plane. In Proc. of ACM CoNEXT.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kenjiro Cho. 2017. Recursive Lattice Search: Hierarchical Heavy Hitters Revisited. In Proc. of ACM IMC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Cisco. 2012. Introduction to Cisco IOS NetFlow. https://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/ios-netflow/prod_white_paper0900aecd80406232.htmlGoogle ScholarGoogle Scholar
  22. Cisco. 2015. Cisco Nexus 1000V Switch. https://www.cisco.com/c/en/us/products/switches/nexus-1000v-switch-vmware-vsphere/index.htmlGoogle ScholarGoogle Scholar
  23. Yann Collet. 2016. xxHash Library. http://www.xxhash.com/Google ScholarGoogle Scholar
  24. Gerald Combs. 1998. Wireshark. https://www.wireshark.orgGoogle ScholarGoogle Scholar
  25. Graham Cormode and Minos Garofalakis. 2007. Sketching Probabilistic Data Streams. In Proc. of ACM SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Graham Cormode, Flip Korn, S. Muthukrishnan, and Divesh Srivastava. 2008. Finding Hierarchical Heavy Hitters in Streaming Data. ACM Trans. Knowl. Discov. Data (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Graham Cormode and S. Muthukrishnan. 2005. An Improved Data Stream Summary: The Count-Min Sketch and Its Applications. J. Algorithms (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Andrew R. Curtis, Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma, and Sujata Banerjee. 2011. DevoFlow: Scaling Flow Management for High-performance Networks. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Intel Ethernet Networking Division. 2018. Intel Ethernet Controller 710 Series Datasheet. https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet.pdfGoogle ScholarGoogle Scholar
  30. Rick Durrett. 2010. Probability: Theory and Examples (4th ed.). Cambridge University Press. Google ScholarGoogle ScholarCross RefCross Ref
  31. Paul Emmerich, Sebastian Gallenmüller, Daniel Raumer, Florian Wohlfart, and Georg Carle. 2015. MoonGen: A Scriptable High-Speed Packet Generator. In Proc. of ACM IMC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Zaoxing Liu et al. 2019. NitroSketch Source Code. https://github.com/zaoxing/NitroSketchGoogle ScholarGoogle Scholar
  33. Seyed K. Fayaz, Yoshiaki Tobioka, Vyas Sekar, and Michael Bailey. 2015. Bohatei: Flexible and Elastic DDoS Defense. In Proc. of USENIX Security. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. FD.io. 2018. Vector Packet Processing. https://fd.io/technology/Google ScholarGoogle Scholar
  35. William Feller. 1943. Generalization of a Probability Limit Theorem of Cramér. Trans. Amer. Math. Soc. (1943).Google ScholarGoogle Scholar
  36. Pedro Garcia-Teodoro, Jesus E. Diaz-Verdejo, Gabriel Macia-Fernandez, and E. Vazquez. 2009. Anomaly-Based Network Intrusion Detection: Techniques, Systems and Challenges. Computers and Security (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Robert D Gordon. 1941. Values of Mills' Ratio of Area to Bounding Ordinate and of the Normal Probability Integral for Large Values of the Argument. The Annals of Mathematical Statistics (1941).Google ScholarGoogle Scholar
  38. Arpit Gupta, Rob Harrison, Marco Canini, Nick Feamster, Jennifer Rexford, and Walter Willinger. 2018. Sonata: Query-Driven Streaming Network Telemetry. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Sangjin Han, Keon Jang, Aurojit Panda, Shoumik Palkar, Dongsu Han, and Sylvia Ratnasamy. 2015. SoftNIC: A Software NIC to Augment Hardware. Technical Report.Google ScholarGoogle Scholar
  40. 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 Proc. of USENIX NSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Nan Hua, Bill Lin, Jun (Jim) Xu, and Haiquan (Chuck) Zhao. 2008. BRICK: ANovel Exact Active Statistics Counter Architecture. In Proc. of ACM/IEEE ANCS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Qi Huang, Ken Birman, Robbert van Renesse, Wyatt Lloyd, Sanjeev Kumar, and Harry C. Li. 2013. An Analysis of Facebook Photo Caching. In Proc. of ACM SOSP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Qun Huang, Xin Jin, Patrick P. C. Lee, Runhui Li, Lu Tang, Yi-Chao Chen, and Gong Zhang. 2017. SketchVisor: Robust Network Measurement for Software Packet Processing. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Qun Huang, Patrick PC Lee, and Yungang Bao. 2018. SketchLearn: Relieving User Burdens in ApproximateMeasurement with Automated Statistical Inference. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Intel. 2012. Intel Advanced Vector Extensions. https://software.intel.com/en-us/isa-extensions/intel-avxGoogle ScholarGoogle Scholar
  46. Intel. 2018. Intel VTune Amplifier. https://software.intel.com/en-us/vtuneGoogle ScholarGoogle Scholar
  47. T. S. Jayram, Andrew McGregor, S. Muthukrishnan, and Erik Vee. 2007. Estimating Statistical Aggregates on Probabilistic Data Streams. Proc. of ACM PODS (2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. 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 Proc. of ACM SOSP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Abdul Kabbani, Mohammad Alizadeh, Masato Yasuda, Rong Pan, and Balaji Prabhakar. 2010. AF-QCN: Approximate Fairness with Quantized Congestion Notification for Multi-tenanted Data Centers. In Prof. of IEEE HOTI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Maurice George Kendall, Alan Stuart, and Keith Ord. 1987. Kendall's Advanced Theory of Statistics. Oxford University Press, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Balachander Krishnamurthy, Subhabrata Sen, Yin Zhang, and Yan Chen. 2003. Sketch-based Change Detection: Methods, Evaluation, and Applications. In Proc. of ACM IMC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Ashwin Lall, Vyas Sekar, Mitsunori Ogihara, Jun Xu, and Hui Zhang. 2006. Data Streaming Algorithms for Estimating Entropy of Network Traffic. In Proc. of ACM SIGMETRICS/Performance. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Junda Liu, Aurojit Panda, Ankit Singla, Brighten Godfrey, Michael Schapira, and Scott Shenker. 2013. Ensuring Connectivity via Data Plane Mechanisms. In Proc. of USENIX NSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Zaoxing Liu, Zhihao Bai, Zhenming Liu, Xiaozhou Li, Changhoon Kim, Vladimir Braverman, Xin Jin, and Ion Stoica. 2019. DistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed Caching. In Proc. of USENIX FAST. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Zaoxing Liu, Antonis Manousis, Gregory Vorsanger, Vyas Sekar, and Vladimir Braverman. 2016. One Sketch to Rule Them All: Rethinking Network Flow Monitoring with UnivMon. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Zaoxing Liu, Greg Vorsanger, Vladimir Braverman, and Vyas Sekar. 2015. Enabling a "RISC" Approach for Software-Defined Monitoring Using Universal Streaming. In Proc. of ACM HotNets. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Yi Lu, Andrea Montanari, Balaji Prabhakar, Sarang Dharmapurikar, and Abdul Kabbani. 2008. Counter Braids: A Novel Counter Architecture for PerFlowMeasurement. In Proc. of ACM SIGMETRICS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. MACCDC. 2012. Capture Traces from Mid-Atlantic CCDC. http://www.netresec.com/?page=MACCDCGoogle ScholarGoogle Scholar
  59. Jiri Matousek and Jan Vondrak. 2008. The Probabilistic Method-Lecture Notes. http://www.cs.cmu.edu/~15850/handouts/matousek-vondrak-prob-ln.pdfGoogle ScholarGoogle Scholar
  60. Andrew McGregor, A Pavan, Srikanta Tirthapura, and David P. Woodruff. 2016. Space-Efficient Estimation of Statistics Over Sub-Sampled Streams. Algorithmica (2016). Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Ahmed Metwally, Divyakant Agrawal, and Amr El Abbadi. 2005. Efficient Computation of Frequent and Top-k Elements in Data Streams. In Proc. of ICDT. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Microsoft. 2016. Hyper-V Virtual Switch Overview. https://technet.microsoft.com/en-us/library/hh831823.aspxGoogle ScholarGoogle Scholar
  63. Jayadev Misra and David Gries. 1982. Finding Repeated Elements. Technical Report. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. M. Mitzenmacher, T. Steinke, and J. Thaler. 2012. Hierarchical Heavy Hitters with the Space Saving Algorithm. In Proc. of ALENEX. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Srinivas Narayana, Anirudh Sivaraman, Vikram Nathan, Prateesh Goyal, Venkat Arun, Mohammad Alizadeh, Vimalkumar Jeyakumar, and Changhoon Kim. 2017. Language-Directed Hardware Design for Network Performance Monitoring. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. George Nychis, Vyas Sekar, David G. Andersen, Hyong Kim, and Hui Zhang. 2008. An Empirical Evaluation of Entropy-based Traffic Anomaly Detection. In Proc. of ACM IMC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Ben Pfaff, Justin Pettit, Teemu Koponen, Ethan Jackson, Andy Zhou, Jarno Rajahalme, Jesse Gross, Alex Wang, Joe Stringer, Pravin Shelar, Keith Amidon, and Martin Casado. 2015. The Design and Implementation of Open vSwitch. In Proc. of USENIX NSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Robert Schweller, Ashish Gupta, Elliot Parsons, and Yan Chen. 2004. Reversible Sketches for Efficient and Accurate Change Detection over Network Data Streams. In Proc. of ACM IMC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Vibhaalakshmi Sivaraman, Srinivas Narayana, Ori Rottenstreich, S. Muthukrishnan, and Jennifer Rexford. 2017. Heavy-Hitter Detection Entirely in the Data Plane. In Proc. of ACM SOSR. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Eric V Slud. 1977. Distribution inequalities for the binomial law. The Annals of Probability (1977).Google ScholarGoogle Scholar
  71. Mea Wang, Baochun Li, and Zongpeng Li. 2004. sFlow: Towards Resource-Efficient and Agile Service Federation in Service Overlay Networks. In Proc. of IEEE ICDCS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Li Yang, Wu Hao, Pan Tian, Dai Huichen, Lu Jianyuan, and Liu Bin. 2016. CASE: Cache-assisted Stretchable Estimator for High Speed Per-flow Measurement. In Proc. of IEEE INFOCOM.Google ScholarGoogle Scholar
  73. Tong Yang, Jie Jiang, Peng Liu, Qun Huang, Junzhi Gong, Yang Zhou, Rui Miao, Xiaoming Li, and Steve Uhlig. 2018. Elastic Sketch: Adaptive and Fast Network-wide Measurements. In Proc. of ACM SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Lei Ying, R. Srikant, and Xiaohan Kang. 2015. The Power of Slightly More than One Sample in Randomized Load Balancing. In Proc. of IEEE INFOCOM.Google ScholarGoogle ScholarCross RefCross Ref
  75. Da Yu, Yibo Zhu, Behnaz Arzani, Rodrigo Fonseca, Tianrong Zhang, Karl Deng, and Lihua Yuan. 2019. dShark: A General, Easy to Program and Scalable Framework for Analyzing In-network Packet Traces. In Proc. of USENIX NSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Minlan Yu, Lavanya Jose, and Rui Miao. 2013. Software Defined Traffic Measurement with OpenSketch. In Proc. of USENIX NSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Nitrosketch: robust and general sketch-based monitoring in software switches

      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
        SIGCOMM '19: Proceedings of the ACM Special Interest Group on Data Communication
        August 2019
        526 pages
        ISBN:9781450359566
        DOI:10.1145/3341302

        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: 19 August 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate554of3,547submissions,16%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader