The Challenges of XDP Hardware Offload
|
|
- Percival Curtis
- 5 years ago
- Views:
Transcription
1 FOSDEM 18 Brussels, The Challenges of XDP Hardware Offload Quentin
2 ebpf and XDP Q. Monnet XDP Hardware Offload 2/29
3 ebpf, extended Berkeley Packet Filter Generic, efficient, secure in-kernel (Linux) virtual machine Programs are injected and attached in the kernel, event-based Networking tc (traffic control) XDP (network driver) Socket ebpf Tracing / Monitoring Kprobe/Uprobe Tracepoint Lightweight Tunnel Encapsulation Perf event Cgroup v1/v2 Others to come? Q. Monnet XDP Hardware Offload 3/29
4 ebpf architecture Evolution from former BPF version (cbpf, used by tcpdump) Assembly-like instructions, 4096 maximum in a program 11 registers (64-bit), 512 bytes stack Read and write access to context (for networking: packets) LLVM backend to compile from C to ebpf (or from Lua, Go, P4, Rust, ) In-kernel verifier to ensure safety, security JIT (Just-in-time) compiler available for main architectures Programs managed with bpf() system call, loaded with e.g. tc, ip Q. Monnet XDP Hardware Offload 4/29
5 ebpf features Maps: key-value entries (hash, array, ), shared between ebpf programs or with user space Tail calls: long jump from one program into an other, context is preserved Helpers: white-list of kernel functions to call from ebpf programs: get current time, print debug information, lookup or update maps, shrink or grow packets, Userspace Kernel Maps User program Tail calls Packets Max: 32 times ebpf program Q. Monnet XDP Hardware Offload 5/29
6 ebpf workflow C source code bpf_prog.c ELF-compiled ebpf bpf_prog.o User program (tc / ip / bcc tools ) LLVM/clang Userspace Kernel bpf() syscall Verifier Maps User program JIT BPF program attached and run Array Hashmap LPM Q. Monnet XDP Hardware Offload 6/29
7 XDP, express Data Path Introduced in Linux 4.8 ebpf hook at the driver level (ingress) Intercept packet before it reaches the stack, before allocating sk_buff Rationale: implement a faster data path which is part of the kernel, maintained by the kernel community Rather for simple use cases. Complex processing: forward to stack Not a kernel bypass, works in cooperation with the networking stack Q. Monnet XDP Hardware Offload 7/29
8 XDP architecture Userspace Kernel Network stack Sockets tc ingress tc egress Net device Packets Net device Q. Monnet XDP Hardware Offload 8/29
9 XDP architecture Userspace Kernel Network stack Sockets tc ingress tc egress Net device Packets Net device Q. Monnet XDP Hardware Offload 9/29
10 XDP architecture Edit and bounce XDP Drop (or Abort) Forward to stack tc ingress Redirect to any device Network stack Sockets tc egress Userspace Kernel Net device Packets Net device Q. Monnet XDP Hardware Offload 10/29
11 Use cases for ebpf and XDP Load balancing Protection, mitigation against DDoS Distributed firewall And a lot more Packet capture (Suricata) Network fabric (OVN), Container ACLs (Cilium) Virtual switching: Open vswitch back-end Stateful processing (BEBA research project) ILA (Identifier-Locator Addressing) routing QoS Q. Monnet XDP Hardware Offload 11/29
12 ebpf Hardware Offload Q. Monnet XDP Hardware Offload 12/29
13 Lower, faster Why offloading to hardware? ebpf is nearly self-contained, XDP is low-level: ideal for offload Get performances, and get programmability without putting the charge on CPUs Work with the kernel: push hardware offload support upstream Still requires NIC and firmware, but make driver and ebpf core available to the community Q. Monnet XDP Hardware Offload 13/29
14 The Challenges of ebpf Hardware Offload 1 Get the correct architecture Q. Monnet XDP Hardware Offload 14/29
15 Mapping ebpf to the NFP-based NIC 11 Registers (64 bit, 32 bit subregisters) General Purpose Registers CTM Cluster Target Memory (256 kb) LMEM (1 kb) Stack (512 bytes) Driver Thread (4 per core) Core (60 used for ebpf) CLS Cluster Local Scratch (64 kb) Island (6 per chip) Maps (varying size) IMEM (4 MB) DRAM (2 GB) Chip NIC Q. Monnet XDP Hardware Offload 15/29
16 JIT compiler, 32-bit ebpf, Optimisations How to get a program we can run? The driver has its own JIT, called by the kernel, and compiles to native instructions for the NIC. NIC has 32-bit registers: ebpf 32-bit support in the kernel Various optimisations in the JIT to reduce the number of instructions or speed up some tasks Q. Monnet XDP Hardware Offload 16/29
17 The Challenges of ebpf Hardware Offload 1 Get a compatible architecture NIC architecture Add 32-bit support for ebpf Use own JIT-compiler 2 Add offload support to the kernel Q. Monnet XDP Hardware Offload 17/29
18 Support for ebpf offload in kernel and driver C code bpf() syscall ELF-compiled ebpf program instructions program length type (cls, XDP, kprobe ) User program (tc / ip / bcc tools ) file descriptor TC cls_bpf Userspace Kernel Verifier ebpf program Verification Modification JIT Q. Monnet XDP Hardware Offload 18/29
19 Support for ebpf offload in kernel and driver C code ELF-compiled ebpf User program (tc / ip / bcc tools ) bpf() syscall program instructions program length type (cls, XDP, kprobe ) ifindex file descriptor Userspace Kernel TC cls_bpf Find device Verifier Verification Modification ebpf program Offloaded JIT Driver operations XDP attach Prepare verifier Check instruction Translate Destroy Offload object Driver RX ndo_setup_tc() XDP TX ndo_bpf() Q. Monnet XDP Hardware Offload 19/29
20 Support for ebpf offload in kernel and driver C code ELF-compiled ebpf User program (tc / ip / bcc tools ) bpf() syscall program instructions program length type (cls, XDP, kprobe ) ifindex file descriptor Userspace Kernel TC cls_bpf Find device Verifier Verification Modification ebpf program Offloaded JIT Driver operations XDP attach Prepare verifier Check instruction Translate Destroy Offload object Driver RX ndo_setup_tc() XDP TX ndo_bpf() Q. Monnet XDP Hardware Offload 20/29
21 Some notes on ebpf offload support in the kernel The verifier uses a callback to check each instruction from the driver perspective The driver has its own errors that we must expose to users: Verification time: reuse the log buffer from kernel verifier STD_ERR Program attachment time: use Netlink extended ack STD_ERR Q. Monnet XDP Hardware Offload 21/29
22 The Challenges of ebpf Hardware Offload 1 Get a compatible architecture NIC architecture Add 32-bit support for ebpf Use own JIT-compiler 2 Add offload support to the kernel Update verifier Make the core able to pass ebpf maps and programs Keep it human-friendly 3 Update the tools Q. Monnet XDP Hardware Offload 22/29
23 Tooling Upgrade tools for handling offloaded programs (tc, ip) Update command syntax Pass the ifindex to the kernel Also ask kernel to create maps on the NIC Create or update other tools to help working with ebpf bpftool List, load, pin, dump instructions (JIT-ed or not) for programs List, pin, dump, lookup, update, delete for maps List, attach, detach programs to cgroups llvm-mc: Compile from ebpf assembly to object file Q. Monnet XDP Hardware Offload 23/29
24 The Challenges of ebpf Hardware Offload 1 Get a compatible architecture NIC architecture Add 32-bit support for ebpf Use own JIT-compiler 2 Add offload support to the kernel Update the verifier Make the core able to pass ebpf maps and programs Keep it human-friendly 3 Update the tools tc, ip, llvm-mc, bpftool 4 Gain better performances, everywhere you can! Q. Monnet XDP Hardware Offload 24/29
25 What we have tc_cls and XDP hardware offload (specific JIT) 32-bit sub-registers support Various JIT optimisations Nearly all instructions supported; Stack; Some helpers Direct packet access, packet modification (header or payload) XDP actions: Bounce, Pass to stack, Drop; Packet encapsulation Maps: hashes and arrays (RO from program, R/W from user space) Error messages through integration with kernel verifier, extack Tooling tc, ip updated bpftool llvm-mc Q. Monnet XDP Hardware Offload 25/29
26 Performances Simple XDP load balancer (~ 800 ebpf insns, 4 map lookups) Based on kernel test tools/testing/selftests/bpf/test_l4lb.c, combined with example samples/bpf/xdp_tx_iptunnel_kern.c Per CPU array changed to standard array to run offloaded (No nice equivalent for per CPU at the moment on the NIC) Q. Monnet XDP Hardware Offload 26/29
27 What we work on Redirect action Atomic add operation Map caching: map access from ~1000 to ~300 cycles Packet caching: packet accesses from ~50 to ~3 cycles 32-bit ALU from LLVM where possible: ALUs from ~4 to 1 machine code instruction Remove firmware locks for maps: double memory bandwidth Tail calls; Multi-stage processing, split between NIC and host NIC Host XDP 1 XDP 2 XDP 3 XDP 4 XDP 5 XDP 6 Dump NFP instructions with bpftool: need patching binutils-dev More JIT optimisations Q. Monnet XDP Hardware Offload 27/29
28 The Challenges of ebpf Hardware Offload ebpf and XDP introduce fast and efficient networking inside Linux kernel Host CPU is a resource and must be used efficiently Getting faster networking without increasing CPU usage requires an efficient and transparent general offload infrastructure in cooperation with the kernel ebpf, XDP offload provides programmability and performances, but also a dynamically reloadable sandbox Kernel, driver: everything is upstream! Q. Monnet XDP Hardware Offload 28/29
29 Thank you! Questions? Additional resources: Open-NFP.org platform, with resources about ebpf offload Resources on BPF Dive into BPF: a list of reading material Upstream driver, ebpf bits Linux kernel tree, under drivers/net/ethernet/netronome/nfp/bpf Netronome website We re hiring! Q. Monnet XDP Hardware Offload 29/29
Comprehensive BPF offload
Comprehensive BPF offload Nic Viljoen & Jakub Kicinski Netronome Systems An NFP based NIC (1U) netdev 2.2, Seoul, South Korea November 8-10, 2017 Agenda Refresher Programming Model Architecture Performance
More informationebpf Offload to Hardware cls_bpf and XDP
ebpf Offload to Hardware cls_bpf and Nic Viljoen, DXDD (Based on Netdev 1.2 talk) November 10th 2016 1 What is ebpf? A universal in-kernel virtual machine 10 64-bit registers 512 byte stack Infinite size
More informationBPF Hardware Offload Deep Dive
BPF Hardware Offload Deep Dive Jakub Kicinski 2018 NETRONOME SYSTEMS, INC. BPF Sandbox As a goal of BPF IR JITing of BPF IR to most RISC cores should be very easy BPF VM provides a simple and well understood
More informationSmartNIC Data Plane Acceleration & Reconfiguration. Nic Viljoen, Senior Software Engineer, Netronome
SmartNIC Data Plane Acceleration & Reconfiguration Nic Viljoen, Senior Software Engineer, Netronome Need for Accelerators Validated by Mega-Scale Operators Large R&D budgets, deep acceleration software
More informationebpf Tooling and Debugging Infrastructure
ebpf Tooling and Debugging Infrastructure Quentin Monnet Fall ebpf Webinar Series 2018-10-09 Netronome 2018 Injecting Programs into the Kernel ebpf programs are usually compiled from C (or Go, Rust, Lua
More informationXDP Hardware Offload: Current Work, Debugging and Edge Cases
XDP Hardware Offload: Current Work, Debugging and Edge Cases Jakub Kicinski, Nicolaas Viljoen Netronome Systems Santa Clara, United States jakub.kicinski@netronome.com, nick.viljoen@netronome.com Abstract
More informationHost Dataplane Acceleration: SmartNIC Deployment Models
Host Dataplane Acceleration: SmartNIC Deployment Models Simon Horman 20 August 2018 2018 NETRONOME SYSTEMS, INC. Agenda Introduction Hardware and Software Switching SDN Programmability Host Datapath Acceleration
More informationAccelerating VM networking through XDP. Jason Wang Red Hat
Accelerating VM networking through XDP Jason Wang Red Hat Agenda Kernel VS userspace Introduction to XDP XDP for VM Use cases Benchmark and TODO Q&A Kernel Networking datapath TAP A driver to transmit
More informationBringing the Power of ebpf to Open vswitch. Linux Plumber 2018 William Tu, Joe Stringer, Yifeng Sun, Yi-Hung Wei VMware Inc. and Cilium.
Bringing the Power of ebpf to Open vswitch Linux Plumber 2018 William Tu, Joe Stringer, Yifeng Sun, Yi-Hung Wei VMware Inc. and Cilium.io 1 Outline Introduction and Motivation OVS-eBPF Project OVS-AF_XDP
More informationebpf Debugging Infrastructure Current Techniques and Additional Proposals
BPF Microconference 2018-11-15 ebpf Debugging Infrastructure Current Techniques and Additional Proposals Quentin Monnet Debugging Infrastructure What do we want to debug,
More informationA practical introduction to XDP
A practical introduction to XDP Jesper Dangaard Brouer (Red Hat) Andy Gospodarek (Broadcom) Linux Plumbers Conference (LPC) Vancouver, Nov 2018 1 What will you learn? Introduction to XDP and relationship
More informationAccelerating Load Balancing programs using HW- Based Hints in XDP
Accelerating Load Balancing programs using HW- Based Hints in XDP PJ Waskiewicz, Network Software Engineer Neerav Parikh, Software Architect Intel Corp. Agenda Overview express Data path (XDP) Software
More informationXDP: The Future of Networks. David S. Miller, Red Hat Inc., Seoul 2017
XDP: The Future of Networks David S. Miller, Red Hat Inc., Seoul 2017 Overview History of ebpf and XDP Why is it important. Fake News about ebpf and XDP Ongoing improvements and future developments Workflow
More informationOpen-NFP Summer Webinar Series: Session 4: P4, EBPF And Linux TC Offload
Open-NFP Summer Webinar Series: Session 4: P4, EBPF And Linux TC Offload Dinan Gunawardena & Jakub Kicinski - Netronome August 24, 2016 1 Open-NFP www.open-nfp.org Support and grow reusable research in
More informationXDP For the Rest of Us
이해력 XDP For the Rest of Us Jesper Dangaard Brouer - Principal Engineer, Red Hat Andy Gospodarek - Principal Engineer, Broadcom Netdev 2.2, November 8th, 2017 South Korea, Seoul Motivation for this talk
More informationBringing the Power of ebpf to Open vswitch
Bringing the Power of ebpf to Open vswitch William Tu 1 Joe Stringer 2 Yifeng Sun 1 Yi-Hung Wei 1 u9012063@gmail.com joe@cilium.io pkusunyifeng@gmail.com yihung.wei@gmail.com 1 VMware Inc. 2 Cilium.io
More informationNetronome NFP: Theory of Operation
WHITE PAPER Netronome NFP: Theory of Operation TO ACHIEVE PERFORMANCE GOALS, A MULTI-CORE PROCESSOR NEEDS AN EFFICIENT DATA MOVEMENT ARCHITECTURE. CONTENTS 1. INTRODUCTION...1 2. ARCHITECTURE OVERVIEW...2
More informationSuricata Performance with a S like Security
Suricata Performance with a S like Security É. Leblond Stamus Networks July. 03, 2018 É. Leblond (Stamus Networks) Suricata Performance with a S like Security July. 03, 2018 1 / 31 1 Introduction Features
More informationQuick Introduction to ebpf & BCC Suchakrapani Sharma. Kernel Meetup (Reserved Bit, Pune)
Quick Introduction to ebpf & BCC Suchakrapani Sharma Kernel Meetup (Reserved Bit, Pune) 24 th June 2017 ebpf Stateful, programmable, in-kernel decisions for networking, tracing and security One Ring by
More informationXDP now with REDIRECT
XDP - express Data Path XDP now with REDIRECT Jesper Dangaard Brouer, Principal Engineer, Red Hat Inc. LLC - Lund Linux Conf Sweden, Lund, May 2018 Intro: What is XDP? Really, don't everybody know what
More informationXDP: 1.5 years in production. Evolution and lessons learned. Nikita V. Shirokov
XDP: 1.5 years in production. Evolution and lessons learned. Nikita V. Shirokov Facebook Traffic team Goals of this talk: Show how bpf infrastructure (maps/helpers) could be used for building networking
More informationDPDK+eBPF KONSTANTIN ANANYEV INTEL
x DPDK+eBPF KONSTANTIN ANANYEV INTEL BPF overview BPF (Berkeley Packet Filter) is a VM in the kernel (linux/freebsd/etc.) allowing to execute bytecode at various hook points in a safe manner. It is used
More informationENG. WORKSHOP: PRES. Linux Networking Greatness (part II). Roopa Prabhu/Director Engineering Linux Software/Cumulus Networks.
ENG. WORKSHOP: PRES. Linux Networking Greatness (part II). Roopa Prabhu/Director Engineering Linux Software/Cumulus Networks. 3 4 Disaggregation Native Linux networking (= server/host networking) Linux
More informationSmartNIC Programming Models
SmartNIC Programming Models Johann Tönsing 206--09 206 Open-NFP Agenda SmartNIC hardware Pre-programmed vs. custom (C and/or P4) firmware Programming models / offload models Switching on NIC, with SR-IOV
More informationSmartNIC Programming Models
SmartNIC Programming Models Johann Tönsing 207-06-07 207 Open-NFP Agenda SmartNIC hardware Pre-programmed vs. custom (C and/or P4) firmware Programming models / offload models Switching on NIC, with SR-IOV
More informationCombining ktls and BPF for Introspection and Policy Enforcement
Combining ktls and BPF for Introspection and Policy Enforcement ABSTRACT Daniel Borkmann Cilium.io daniel@cilium.io Kernel TLS is a mechanism introduced in Linux kernel 4.13 to allow the datapath of a
More informationOn getting tc classifier fully programmable with cls bpf.
On getting tc classifier fully programmable with cls bpf. Daniel Borkmann Noiro Networks / Cisco netdev 1.1, Sevilla, February 12, 2016 Daniel Borkmann tc and cls bpf with ebpf February
More informationebpf Offload Getting Started Guide
ebpf Offload Getting Started Guide Netronome CX SmartNIC Revision 1.0 April 2018 ebpf Offload 1 Introduction 3 Kernel version support 4 Environment Setup 5 Kernel 5 Firmware 6 Driver 7 Setting up rings
More informationProgramming NFP with P4 and C
WHITE PAPER Programming NFP with P4 and C THE NFP FAMILY OF FLOW PROCESSORS ARE SOPHISTICATED PROCESSORS SPECIALIZED TOWARDS HIGH-PERFORMANCE FLOW PROCESSING. CONTENTS INTRODUCTION...1 PROGRAMMING THE
More informationAgilio OVS Software Architecture
WHITE PAPER Agilio OVS Software Architecture FOR SERVER-BASED NETWORKING THERE IS CONSTANT PRESSURE TO IMPROVE SERVER- BASED NETWORKING PERFORMANCE DUE TO THE INCREASED USE OF SERVER AND NETWORK VIRTUALIZATION
More informationOn getting tc classifier fully programmable with cls bpf.
On getting tc classifier fully programmable with cls bpf. Daniel Borkmann Cisco Switzerland daniel@iogearbox.net Abstract Berkely Packet Filter, short BPF, is an instruction set architecture that was designed
More informationCombining ktls and BPF for Introspection and Policy Enforcement
Combining ktls and BPF for Introspection and Policy Enforcement Daniel Borkmann, John Fastabend Cilium.io Linux Plumbers 2018, Vancouver, Nov 14, 2018 Daniel Borkmann, John Fastabend ktls and BPF Nov 14,
More informationNext Gen Virtual Switch. CloudNetEngine Founder & CTO Jun Xiao
Next Gen Virtual Switch CloudNetEngine Founder & CTO Jun Xiao Agenda Thoughts on next generation virtual switch Technical deep dive on CloudNetEngine virtual switch Q & A 2 Major vswitches categorized
More informationVirtual Switch Acceleration with OVS-TC
WHITE PAPER Virtual Switch Acceleration with OVS-TC HARDWARE ACCELERATED OVS-TC PROVIDES BETTER CPU EFFICIENCY, LOWER COMPLEXITY, ENHANCED SCALABILITY AND INCREASED NETWORK PERFORMANCE COMPARED TO KERNEL-
More informationOVS Acceleration using Network Flow Processors
Acceleration using Network Processors Johann Tönsing 2014-11-18 1 Agenda Background: on Network Processors Network device types => features required => acceleration concerns Acceleration Options (or )
More informationTracing Lustre. New approach to debugging. ORNL is managed by UT-Battelle for the US Department of Energy
Tracing Lustre New approach to debugging ORNL is managed by UT-Battelle for the US Department of Energy Current Lustre debugging tools Utility lctl handles profiling developed long before standard kernel
More informationAn interface for programmable IPv6 Segment Routing network functions in Linux
An interface for programmable IPv6 Segment Routing network functions in Linux Dissertation presented by Mathieu XHONNEUX for obtaining the Master s degree in Electrical Engineering Supervisor(s) Olivier
More information#ebpf You Cannot Stop This
#ebpf You Cannot Stop This David S. Miller, Red Hat Inc. davem_dokebi Van, The Man Ultimately, the true father of container networking and security Invented BPF in 1992 with Steven McCanne at LBL Recognized
More informationTraceLeft. A Configuration Driven ebpf Tracing Framework. Suchakra Sharma & Alban Crequy All Systems Go, 29th September 2018, Berlin
TraceLeft A Configuration Driven ebpf Tracing Framework Suchakra Sharma & Alban Crequy All Systems Go, 29th September 2018, Berlin Suchakra Sharma Alban Crequy Github: tuxology Twitter: @tuxology Email:
More informationXDP: a new fast and programmable network layer
XDP - express Data Path XDP: a new fast and programmable network layer Jesper Dangaard Brouer Principal Engineer, Red Hat Inc. Kernel Recipes Paris, France, Sep 2018 What will you learn? What will you
More informationUsing ebpf for network traffic analysis. Samuele Sabella Luca Deri
Using ebpf for network traffic analysis Samuele Sabella Luca Deri Network Monitoring In the past few years the need to better understand what s happening in our networks has lead from tools for volumetric
More informationntop Users Group Meeting
ntop Users Group Meeting PF_RING Tutorial Alfredo Cardigliano Overview Introduction Installation Configuration Tuning Use cases PF_RING Open source packet processing framework for
More informationLinux Network Programming with P4. Linux Plumbers 2018 Fabian Ruffy, William Tu, Mihai Budiu VMware Inc. and University of British Columbia
Linux Network Programming with P4 Linux Plumbers 2018 Fabian Ruffy, William Tu, Mihai Budiu VMware Inc. and University of British Columbia Outline Introduction to P4 XDP and the P4 Compiler Testing Example
More informationProgramming Netronome Agilio SmartNICs
WHITE PAPER Programming Netronome Agilio SmartNICs NFP-4000 AND NFP-6000 FAMILY: SUPPORTED PROGRAMMING MODELS THE AGILIO SMARTNICS DELIVER HIGH- PERFORMANCE SERVER- BASED NETWORKING APPLICATIONS SUCH AS
More informationToward an ebpf-based clone of iptables
Toward an ebpf-based clone of iptables Matteo Bertrone, Sebastiano Miano, Jianwen Pi, Fulvio Risso, Massimo Tumolo Netdev 0x12, Montréal (Canada), July 12th, 2018 Objective Started in Nov 2017, with a
More informationSuper Fast Packet Filtering with ebpf and XDP Helen Tabunshchyk, Systems Engineer, Cloudflare
Super Fast Packet Filtering with ebpf and XDP Helen Tabunshchyk, Systems Engineer, Cloudflare @advance_lunge Agenda 1. Background. 2. A tiny bit of theory about routing. 3. Problems that have to be solved.
More informationDemystifying Network Cards
Demystifying Network Cards Paul Emmerich December 27, 2017 Chair of Network Architectures and Services About me PhD student at Researching performance of software packet processing systems Mostly working
More informationFast packet processing in the cloud. Dániel Géhberger Ericsson Research
Fast packet processing in the cloud Dániel Géhberger Ericsson Research Outline Motivation Service chains Hardware related topics, acceleration Virtualization basics Software performance and acceleration
More informationEnabling Efficient and Scalable Zero-Trust Security
WHITE PAPER Enabling Efficient and Scalable Zero-Trust Security FOR CLOUD DATA CENTERS WITH AGILIO SMARTNICS THE NEED FOR ZERO-TRUST SECURITY The rapid evolution of cloud-based data centers to support
More informationProgrammable NICs. Lecture 14, Computer Networks (198:552)
Programmable NICs Lecture 14, Computer Networks (198:552) Network Interface Cards (NICs) The physical interface between a machine and the wire Life of a transmitted packet Userspace application NIC Transport
More informationUsing (Suricata over) PF_RING for NIC-Independent Acceleration
Using (Suricata over) PF_RING for NIC-Independent Acceleration Luca Deri Alfredo Cardigliano Outlook About ntop. Introduction to PF_RING. Integrating PF_RING with
More informationBuffer Management for XFS in Linux. William J. Earl SGI
Buffer Management for XFS in Linux William J. Earl SGI XFS Requirements for a Buffer Cache Delayed allocation of disk space for cached writes supports high write performance Delayed allocation main memory
More informationWhat is an L3 Master Device?
What is an L3 Master Device? David Ahern Cumulus Networks Mountain View, CA, USA dsa@cumulusnetworks.com Abstract The L3 Master Device (l3mdev) concept was introduced to the Linux networking stack in v4.4.
More informationTCP Tuning for the Web
TCP Tuning for the Web Jason Cook - @macros - jason@fastly.com Me Co-founder and Operations at Fastly Former Operations Engineer at Wikia Lots of Sysadmin and Linux consulting The Goal Make the best use
More informationAgilio CX 2x40GbE with OVS-TC
PERFORMANCE REPORT Agilio CX 2x4GbE with OVS-TC OVS-TC WITH AN AGILIO CX SMARTNIC CAN IMPROVE A SIMPLE L2 FORWARDING USE CASE AT LEAST 2X. WHEN SCALED TO REAL LIFE USE CASES WITH COMPLEX RULES TUNNELING
More informationHigh Speed Packet Filtering on Linux
past, present & future of High Speed Packet Filtering on Linux Gilberto Bertin $ whoami System engineer at Cloudflare DDoS mitigation team Enjoy messing with networking and low level things Cloudflare
More informationAdvanced Computer Networks. End Host Optimization
Oriana Riva, Department of Computer Science ETH Zürich 263 3501 00 End Host Optimization Patrick Stuedi Spring Semester 2017 1 Today End-host optimizations: NUMA-aware networking Kernel-bypass Remote Direct
More informationPacket Sniffing and Spoofing
Some of the slides borrowed from the book Computer Security: A Hands on Approach by Wenliang Du Packet Sniffing and Spoofing Chester Rebeiro IIT Madras Shared Networks Every network packet reaches every
More informationTLDK Overview. Transport Layer Development Kit Ray Kinsella February ray.kinsella [at] intel.com IRC: mortderire
TLDK Overview Transport Layer Development Kit Ray Kinsella February 2017 Email : ray.kinsella [at] intel.com IRC: mortderire Contributions from Keith Wiles & Konstantin Ananyev Legal Disclaimer General
More informationNetronome 25GbE SmartNICs with Open vswitch Hardware Offload Drive Unmatched Cloud and Data Center Infrastructure Performance
WHITE PAPER Netronome 25GbE SmartNICs with Open vswitch Hardware Offload Drive Unmatched Cloud and NETRONOME AGILIO CX 25GBE SMARTNICS SIGNIFICANTLY OUTPERFORM MELLANOX CONNECTX-5 25GBE NICS UNDER HIGH-STRESS
More informationTLDK Overview. Transport Layer Development Kit Keith Wiles April Contributions from Ray Kinsella & Konstantin Ananyev
TLDK Overview Transport Layer Development Kit Keith Wiles April 2017 Contributions from Ray Kinsella & Konstantin Ananyev Notices and Disclaimers Intel technologies features and benefits depend on system
More informationIsoStack Highly Efficient Network Processing on Dedicated Cores
IsoStack Highly Efficient Network Processing on Dedicated Cores Leah Shalev Eran Borovik, Julian Satran, Muli Ben-Yehuda Outline Motivation IsoStack architecture Prototype TCP/IP over 10GE on a single
More informationComparing Open vswitch (OpenFlow) and P4 Dataplanes for Agilio SmartNICs
Comparing Open vswitch (OpenFlow) and P4 Dataplanes for Agilio SmartNICs Johann Tönsing May 24, 206 206 NETRONOME Agenda Contributions of OpenFlow, Open vswitch and P4 OpenFlow features missing in P4,
More informationMotivation CPUs can not keep pace with network
Deferred Segmentation For Wire-Speed Transmission of Large TCP Frames over Standard GbE Networks Bilic Hrvoye (Billy) Igor Chirashnya Yitzhak Birk Zorik Machulsky Technion - Israel Institute of technology
More informationEvolution of the netmap architecture
L < > T H local Evolution of the netmap architecture Evolution of the netmap architecture -- Page 1/21 Evolution of the netmap architecture Luigi Rizzo, Università di Pisa http://info.iet.unipi.it/~luigi/vale/
More informationQUIC. Internet-Scale Deployment on Linux. Ian Swett Google. TSVArea, IETF 102, Montreal
QUIC Internet-Scale Deployment on Linux TSVArea, IETF 102, Montreal Ian Swett Google 1 A QUIC History - SIGCOMM 2017 Protocol for HTTPS transport, deployed at Google starting 2014 Between Google services
More informationProcessors, Performance, and Profiling
Processors, Performance, and Profiling Architecture 101: 5-Stage Pipeline Fetch Decode Execute Memory Write-Back Registers PC FP ALU Memory Architecture 101 1. Fetch instruction from memory. 2. Decode
More informationIntroducing the Cray XMT. Petr Konecny May 4 th 2007
Introducing the Cray XMT Petr Konecny May 4 th 2007 Agenda Origins of the Cray XMT Cray XMT system architecture Cray XT infrastructure Cray Threadstorm processor Shared memory programming model Benefits/drawbacks/solutions
More informationFulvio Risso, Matteo Bertrone, Mauricio Vasquez Bernal
Fulvio Risso, Matteo Bertrone, Mauricio Vasquez Bernal Politecnico di Torino, Italy COUPLING THE FLEXIBILITY OF OVN WITH THE EFFICIENCY OF IOVISOR: ARCHITECTURE AND DEMO 1 Datacenter Networking Datacenter
More informationNetwork Design Considerations for Grid Computing
Network Design Considerations for Grid Computing Engineering Systems How Bandwidth, Latency, and Packet Size Impact Grid Job Performance by Erik Burrows, Engineering Systems Analyst, Principal, Broadcom
More informationLatest Developments with NVMe/TCP Sagi Grimberg Lightbits Labs
Latest Developments with NVMe/TCP Sagi Grimberg Lightbits Labs 2018 Storage Developer Conference. Insert Your Company Name. All Rights Reserved. 1 NVMe-oF - Short Recap Early 2014: Initial NVMe/RDMA pre-standard
More informationLinux multi-core scalability
Linux multi-core scalability Oct 2009 Andi Kleen Intel Corporation andi@firstfloor.org Overview Scalability theory Linux history Some common scalability trouble-spots Application workarounds Motivation
More informationThe Path to DPDK Speeds for AF XDP
The Path to DPDK Speeds for AF XDP Magnus Karlsson, magnus.karlsson@intel.com Björn Töpel, bjorn.topel@intel.com Linux Plumbers Conference, Vancouver, 2018 Legal Disclaimer Intel technologies may require
More informationFaRM: Fast Remote Memory
FaRM: Fast Remote Memory Problem Context DRAM prices have decreased significantly Cost effective to build commodity servers w/hundreds of GBs E.g. - cluster with 100 machines can hold tens of TBs of main
More informationBackground. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW
Virtual Machines Background IBM sold expensive mainframes to large organizations Some wanted to run different OSes at the same time (because applications were developed on old OSes) Solution: IBM developed
More informationHigh Performance Packet Processing with FlexNIC
High Performance Packet Processing with FlexNIC Antoine Kaufmann, Naveen Kr. Sharma Thomas Anderson, Arvind Krishnamurthy University of Washington Simon Peter The University of Texas at Austin Ethernet
More informationLAS16-TR06 Remoteproc & rpmsg development. Bjorn Andersson
LAS16-TR06 Remoteproc & rpmsg development Bjorn Andersson remoteproc A framework for controlling the lifecycle of secondary processors in an asymmetric multiprocessor system ENGINEERS AND DEVICES WORKING
More informationNetworking Approaches in. a Container World. Flavio Castelli Engineering Manager
Networking Approaches in a Container World Flavio Castelli Engineering Manager fcastelli@suse.com Rossella Sblendido Engineering Manager rsblendido@suse.com Disclaimer There a many container engines, I
More informationLandlock LSM: toward unprivileged sandboxing
Landlock LSM: toward unprivileged sandboxing Mickaël Salaün ANSSI September 14, 2017 1 / 21 Secure user-space software How to harden an application? secure development follow the least privilege principle
More informationFast packet processing in linux with af_xdp
Fast packet processing in linux with af_xdp Magnus Karlsson and Björn Töpel, Intel Legal Disclaimer Intel technologies may require enabled hardware, specific software, or services activation. Check with
More informationXDP in practice: integrating XDP into our DDoS mitigation pipeline
XDP in practice: integrating XDP into our DDoS mitigation pipeline Gilberto Bertin Cloudflare Ltd. London, UK gilberto@cloudflare.com Abstract To absorb large DDoS (distributed denial of service) attacks,
More informationEfficient and Large Scale Program Flow Tracing in Linux. Alexander Shishkin, Intel
Efficient and Large Scale Program Flow Tracing in Linux Alexander Shishkin, Intel 16.09.2013 Overview Program flow tracing - What is it? - What is it good for? Intel Processor Trace - Features / capabilities
More informationPflua. Filtering packets with LuaJIT FOSDEM 2015 Andy Wingo. https://github.com/igalia/pflua
Pflua Filtering packets with LuaJIT FOSDEM 2015 Andy Wingo wingo@igalia.com https://github.com/igalia/pflua Agenda Story time High-performance packet filtering in software Pflua Forward-looking statements
More informationOpenStack and OVN What s New with OVS 2.7 OpenStack Summit -- Boston 2017
OpenStack and OVN What s New with OVS 2.7 OpenStack Summit -- Boston 2017 Russell Bryant (@russellbryant) Justin Pettit (@Justin_D_Pettit) Ben Pfaff (@Ben_Pfaff) Virtual Networking Overview Provides a
More informationSoftware Datapath Acceleration for Stateless Packet Processing
June 22, 2010 Software Datapath Acceleration for Stateless Packet Processing FTF-NET-F0817 Ravi Malhotra Software Architect Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions
More informationXen Network I/O Performance Analysis and Opportunities for Improvement
Xen Network I/O Performance Analysis and Opportunities for Improvement J. Renato Santos G. (John) Janakiraman Yoshio Turner HP Labs Xen Summit April 17-18, 27 23 Hewlett-Packard Development Company, L.P.
More informationHIGH PACKET RATES IN GSTREAMER
HIGH PACKET RATES IN GSTREAMER GStreamer Conference 22 October 2017, Prague Tim-Philipp Müller < > tim@centricular.com MORE OF A CASE STUDY REALLY HIGH PACKET RATES? RTP RAW VIDEO: PACKET AND DATA RATES
More informationOpen vswitch: A Whirlwind Tour. Jus8n Pe:t March 3, 2011
Open vswitch: A Whirlwind Tour Jus8n Pe:t March 3, 2011 Overview Visibility (NetFlow, sflow, SPAN/RSPAN) Fine- grained ACLs and QoS policies Centralized control through OpenFlow Port bonding, LACP, tunneling
More informationERSPAN in Linux. A short history and review. Presenters: William Tu and Greg Rose
ERSPAN in Linux A short history and review. Presenters: William Tu and Greg Rose 1 What is Port Mirroring? Port mirroring is one of the most common network troubleshooting techniques. SPAN - Switch Port
More informationPacketShader: A GPU-Accelerated Software Router
PacketShader: A GPU-Accelerated Software Router Sangjin Han In collaboration with: Keon Jang, KyoungSoo Park, Sue Moon Advanced Networking Lab, CS, KAIST Networked and Distributed Computing Systems Lab,
More informationHigh-Speed Forwarding: A P4 Compiler with a Hardware Abstraction Library for Intel DPDK
High-Speed Forwarding: A P4 Compiler with a Hardware Abstraction Library for Intel DPDK Sándor Laki Eötvös Loránd University Budapest, Hungary lakis@elte.hu Motivation Programmability of network data plane
More informationHigh-Speed Network Processors. EZchip Presentation - 1
High-Speed Network Processors EZchip Presentation - 1 NP-1c Interfaces Switch Fabric 10GE / N x1ge or Switch Fabric or Lookup Tables Counters SDRAM/FCRAM 64 x166/175mhz SRAM DDR NBT CSIX c XGMII HiGig
More informationDesign, Verification and Emulation of an Island-Based Network Flow Processor
Design, Verification and Emulation of an Island-Based Network Flow Processor Ron Swartzentruber CDN Live April 5, 2016 1 2016 NETRONOME SYSTEMS, INC. Problem Statements 1) Design a large-scale 200Gbps
More informationSupport for Smart NICs. Ian Pratt
Support for Smart NICs Ian Pratt Outline Xen I/O Overview Why network I/O is harder than block Smart NIC taxonomy How Xen can exploit them Enhancing Network device channel NetChannel2 proposal I/O Architecture
More informationERSPAN Support for Linux
ERSPAN Support for Linux William Tu VMware Inc. u9012063@gmail.com Greg Rose VMware Inc. gvrose8192@gmail.com Abstract Port mirroring is one of the most common network troubleshooting techiques. Switch
More informationXDP in Practice DDoS Gilberto Bertin
XDP in Practice DDoS Mitigation @Cloudflare Gilberto Bertin About me Systems Engineer at Cloudflare London DDoS Mitigation Team Enjoy messing with networking and Linux kernel Agenda Cloudflare DDoS mitigation
More informationSpring 2017 :: CSE 506. Device Programming. Nima Honarmand
Device Programming Nima Honarmand read/write interrupt read/write Spring 2017 :: CSE 506 Device Interface (Logical View) Device Interface Components: Device registers Device Memory DMA buffers Interrupt
More informationOpenContrail, Real Speed: Offloading vrouter
OpenContrail, Real Speed: Offloading vrouter Chris Telfer, Distinguished Engineer, Netronome Ted Drapas, Sr Director Software Engineering, Netronome 1 Agenda Introduction to OpenContrail & OpenContrail
More informationBe Fast, Cheap and in Control with SwitchKV. Xiaozhou Li
Be Fast, Cheap and in Control with SwitchKV Xiaozhou Li Goal: fast and cost-efficient key-value store Store, retrieve, manage key-value objects Get(key)/Put(key,value)/Delete(key) Target: cluster-level
More informationrtnl mutex, the network stack big kernel lock
rtnl mutex, the network stack big kernel lock Red Hat Florian Westphal 4096R/AD5FF600 fw@strlen.de 80A9 20C5 B203 E069 F586 AE9F 7091 A8D9 AD5F F600 netdev 2.2, Seoul, November 2017 Agenda 1 Intro: What
More information