Brian O'Connor, Tomek Madejski, Jim Wanderer, Amin Vahdat, Yi Tseng, Maximilian Pudelko, C. Cascone, Abhilash Endurthi, You Wang, Alireza Ghaffarkhah, Devjit Gopalpur, Tom Everman
{"title":"Using P4 on Fixed-Pipeline and Programmable Stratum Switches","authors":"Brian O'Connor, Tomek Madejski, Jim Wanderer, Amin Vahdat, Yi Tseng, Maximilian Pudelko, C. Cascone, Abhilash Endurthi, You Wang, Alireza Ghaffarkhah, Devjit Gopalpur, Tom Everman","doi":"10.1109/ANCS.2019.8901885","DOIUrl":"https://doi.org/10.1109/ANCS.2019.8901885","url":null,"abstract":"Stratum is an open source network operating system (NOS)that provides a common implementation of P4Runtime and OpenConfig interfaces for white box switches. This demonstration will show an SDN leaf-spine fabric of Stratum-enabled white box switches managed by the ONOS SDN controller. The switching chips (ASICs)and platforms will come from different vendors, but they will share a common P4-defined pipeline and set of OpenConfig models.","PeriodicalId":405320,"journal":{"name":"2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122867267","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Paul Emmerich, Simon Ellmann, Fabian Bonk, A. Egger, Esaú García Sánchez-Torija, T. Günzel, Sebastian Di Luzio, Alexandru Obada, Maximilian Stadlmeier, Sebastian Voit, G. Carle
{"title":"The Case for Writing Network Drivers in High-Level Programming Languages","authors":"Paul Emmerich, Simon Ellmann, Fabian Bonk, A. Egger, Esaú García Sánchez-Torija, T. Günzel, Sebastian Di Luzio, Alexandru Obada, Maximilian Stadlmeier, Sebastian Voit, G. Carle","doi":"10.1109/ANCS.2019.8901892","DOIUrl":"https://doi.org/10.1109/ANCS.2019.8901892","url":null,"abstract":"Drivers are written in C or restricted subsets of C++ on all production-grade server, desktop, and mobile operating systems. They account for 66 % of the code in Linux, but 39 out of 40 security bugs related to memory safety found in Linux in 2017 are located in drivers. These bugs could have been prevented by using high-level languages for drivers. We present user space drivers for the Intel ixgbe 10 Gbit/s network cards implemented in Rust, Go, C#, Java, OCaml, Haskell, Swift, JavaScript, and Python written from scratch in idiomatic style for the respective languages. We quantify costs and benefits of using these languages: High-level languages are safer (fewer bugs, more safety checks), but run-time safety checks reduce throughput and garbage collection leads to latency spikes. Out-of-order CPUs mitigate the cost of safety checks: Our Rust driver executes 63 % more instructions per packet but is only 4 % slower than a reference C implementation. Go's garbage collector keeps latencies below 100 μs even under heavy load. Other languages fare worse, but their unique properties make for an interesting case study. All implementations are available as free and open source at https://githud.com/ixy-languages/ixy-languages.","PeriodicalId":405320,"journal":{"name":"2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130191109","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Perfect is the Enemy of Good: Lloyd-Max Quantization for Rate Allocation in Congestion Control Plane","authors":"Shiva Ketabi, Y. Ganjali","doi":"10.1109/ANCS.2019.8901887","DOIUrl":"https://doi.org/10.1109/ANCS.2019.8901887","url":null,"abstract":"Decoupling congestion control plane from datapath expedites the development of new congestion control solutions and creates opportunities for explicit rate allocation schemes. However, dealing with large numbers of flows remains a major challenge. Max-min fairness - the gold standard for rate allocation - has a running complexity proportional to the number of flows, which might be prohibitive in large-scale networks. To accelerate explicit rate allocation, we suggest using rate quantization, i.e. mapping the continuous range of flow rates to a small number of bins. We use Lloyd-max, a quantization method that generates bins according to the distribution of flow rates, to dynamically adjust the quantization bins over time. Our experimental evaluation shows that the distortion caused by this quantization scheme is small, while reducing the max-min rate allocation running time by 60 − 90%.","PeriodicalId":405320,"journal":{"name":"2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127407820","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Asma Islam Swapna, R. V. Rosa, Christian Esteve Rothenberg, I. Sakellariou, L. Mamatas, Panagiotis Papadimitriou
{"title":"Towards A Marketplace for Multi-domain Cloud Network Slicing: Use Cases","authors":"Asma Islam Swapna, R. V. Rosa, Christian Esteve Rothenberg, I. Sakellariou, L. Mamatas, Panagiotis Papadimitriou","doi":"10.1109/ANCS.2019.8901876","DOIUrl":"https://doi.org/10.1109/ANCS.2019.8901876","url":null,"abstract":"Dynamic end-to-end cloud network slices following a Slice-as-a-Service (SaaS) paradigm offer promising opportunities in support of diverse vertical industries attached to different administrative domains. This paper presents a distributed Marketplace model to dynamically create cloud network slices involving different slice resource providers. Portrayed through the lens of three reference use case scenarios, we discuss potential attributes of having a Marketplace and the outcomes feeding the use case requirements within a Slice Marketplace scope. Effective selection, negotiation, and proper monitoring and enforcement of service level agreements between multiple administrative and technological domains are among the prime challenges towards the realization of a distributed Marketplace of federated network and cloud resource providers.","PeriodicalId":405320,"journal":{"name":"2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)","volume":"106 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127533353","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"daPIPE a Data Plane Incremental Programming Environment","authors":"M. Baldi","doi":"10.1109/ANCS.2019.8901893","DOIUrl":"https://doi.org/10.1109/ANCS.2019.8901893","url":null,"abstract":"DaPIPE is a programming environment that supports a developer in writing P4 code to be integrated into the pre-existing data plane program of a network device, without affecting the pre-installed network operating system. This paper discusses the challenges related to such a task and how daPIPE addresses them. In presenting daPIPE we show how it is successfully used to add a novel feature required by a specific use case to a Tofino-based Cisco switch of the Nexus 3400 family.","PeriodicalId":405320,"journal":{"name":"2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129601812","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Sketch-based Entropy Estimation for Network Traffic Analysis using Programmable Data Plane ASICs","authors":"Yu-Kuen Lai, Ku-Yeh Shih, Po-Yu Huang, Ho-Ping Lee, Yu-Jau Lin, Te-Lung Liu, J. Chen","doi":"10.1109/ANCS.2019.8901888","DOIUrl":"https://doi.org/10.1109/ANCS.2019.8901888","url":null,"abstract":"Entropy can be used as a measure of concentration and dispersion on a particular header space for network traffic analysis. This work presents the implementation of a sketch-based entropy estimation on programmable data plane ASICs using P4. The estimation scheme, proposed by Clifford and Cosma, leverages the random projection of a maximally skewed stable distribution. On top of a Barefoot Tofino switch, this work transforms the complex computations of the random projection into fast lookup over pre-computed tables in the match-action pipeline. Performance is evaluated based on real-world network traffic traces. Minimum-sized Ethernet frames are generated by hardware traffic generator with pre-defined distributions. The system can estimate the entropy of network traffic accurately at full wire-speed of 100 Gbps throughput.","PeriodicalId":405320,"journal":{"name":"2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)","volume":"12 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116789702","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mário Kuka, Kamil Vojanec, J. Kucera, Pavel Benácek
{"title":"Accelerated DDoS Attacks Mitigation using Programmable Data Plane","authors":"Mário Kuka, Kamil Vojanec, J. Kucera, Pavel Benácek","doi":"10.1109/ANCS.2019.8901882","DOIUrl":"https://doi.org/10.1109/ANCS.2019.8901882","url":null,"abstract":"DDoS attacks are a significant threat to internet service or infrastructure providers. This poster presents an FPGA-accelerated device and DDoS mitigation technique to overcome such attacks. Our work addresses amplification attacks whose goal is to generate enough traffic to saturate the victims links. The main idea of the device is to efficiently filter malicious traffic at high-speeds directly in the backbone infrastructure before it even reaches the victim's network. We implemented our solution for two FPGA platforms using the high-level description in P4, and we report on its performance in terms of throughput and hardware resources.","PeriodicalId":405320,"journal":{"name":"2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133195353","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Paul Emmerich, Maximilian Pudelko, Simon Bauer, G. Carle
{"title":"User Space Network Drivers","authors":"Paul Emmerich, Maximilian Pudelko, Simon Bauer, G. Carle","doi":"10.1109/ANCS.2019.8901894","DOIUrl":"https://doi.org/10.1109/ANCS.2019.8901894","url":null,"abstract":"The rise of user space packet processing frameworks like DPDK and netmap makes low-level code more accessible to developers and researchers. Previously, driver code was hidden in the kernel and rarely modified-or even looked at-by developers working at higher layers. These barriers are gone nowadays, yet developers still treat user space drivers as black-boxes magically accelerating applications. We want to change this: every researcher building high-speed network applications should understand the intricacies of the underlying drivers, especially if they impact performance. We present ixy, a user space network driver designed for simplicity and educational purposes to show that fast packet IO is not black magic but careful engineering. ixy focuses on the bare essentials of user space packet processing: a packet forwarder including the whole NIC driver uses less than 1,000 lines of C code. This paper is partially written in tutorial style on the case study of our implementations of drivers for both the Intel 82599 family and for virtual VirtIO NICs. The former allows us to reason about driver and framework performance on a stripped-down implementation to assess individual optimizations in isolation. VirtIO support ensures that everyone can run it in a virtual machine. Our code is available as free and open source under the BSD license at https://github.com/emmericp/ixy.","PeriodicalId":405320,"journal":{"name":"2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132496316","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}