Qdisc layer. Fast enough for 10G wirespeed? Jesper Dangaard Brouer Hannes Frederic Sowa Daniel Borkmann Florian Westphal
|
|
- Joseph Dennis Hoover
- 6 years ago
- Views:
Transcription
1 Qdisc layer Fast enough for 10G wirespeed? Jesper Dangaard Brouer Hannes Frederic Sowa Daniel Borkmann Florian Westphal Network-Services-Team, Red Hat inc. 1/17 Netfilter Workshop, July 2014
2 Overview Analysing qdisc code path Estimating and measuring overhead Batching Results with bulk dequeue Lockless FIFO implementation Results and comparisons 2/17
3 Basic question? Basic problem/question: Is qdisc code path fast enough for 10G wirespeed? 10Gbit/s wirespeed smallest frame: Mpps -> Time Budget: 67.2 ns per packet 3/17
4 Locking: in qdisc code path Optimal "fast-path" where the qdisc is empty The following locking occurs: In dev_xmit_skb(): (1) spin_lock(root_lock) (detect qdisc empty, allow direct xmit) calling sch_direct_xmit() In sch_direct_xmit(): (2) spin_unlock(root_lock) In sch_direct_xmit(): (3) HARD_TX_LOCK(dev, txq, smp_processor_id()); In sch_direct_xmit(): (4) HARD_TX_UNLOCK(dev, txq); In sch_direct_xmit(): (5) spin_lock(root_lock); Return to dev_xmit_skb(): (6) spin_unlock(root_lock); LOCK cost on this arch: approx 8 ns 8 ns * 6 LOCK-ops = 48 ns pure lock overhead 4/17
5 Test: Remove qdisc from device Remove qdisc from device, like software/virtual devices qdisc path skipped, if (qdisc->enqueue == NULL) Run time hack (by Eric Dumazet) ifconfig $DEV txqueuelen 0 tc qdisc add dev $DEV root sfq tc qdisc del dev $DEV root Gotcha's Still takes the TXQ lock HARD_TX_{LOCK,UNLOCK} Thus, "only" avoiding 4 LOCK calls on fast-path Don't respect TXQ/device "full" state e.g. ignoring netif_xmit_frozen_or_stopped(txq) 5/17
6 Result: Remove qdisc from device Measurement done on CPU E5-2695(ES) with trafgen, packet config: udp_example01 Using qdisc NULL hack (Clean kernel rc6) pps = ns -- qdisc-path pps = ns -- qdisc NULL hack pps = ns -- improvement Theory: 4 locks saved = 32ns remaining 2 locks = 16ns Derived remaining cost of qdisc path = 12.5 ns Locking: Significant part of qdisc cost 6/17
7 Measured overhead vs. wirespeed Qdisc code path measured overhead: 60 ns Problematic for wirespeed 67.2 ns budget How can we reduce this overhead? Batching to amortize locking cost Lockless FIFO implementation 7/17
8 Difficult testing batching Must accumulate queue in qdisc Before batching of packets can happen Missing fast enough packet generator For single CPU overloading test Because default qdisc tied to HW TXQ queue Options External pktgen forwarding traffic Modify pktgen to send to qdisc layer Simply install single queue pfifo qdisc 8/17
9 Test setup Choose to simply use pfifo qdisc Mostly as quick solution Using trafgen, on multiple CPUs (option cpus) Remember use --qdisc-path option Trafgen packet config:udp_example01.trafgen fgen/udp_example01.trafgen Measurements done on CPU E5-2695(ES) 9/17
10 Results: pfifo baseline Baseline results, clean kernel rc6 Cpu 1: 1,570,083 pps baseline cpus /17
11 Implement: Bulk qdisc dequeue By bulk qdisc dequeue Amortize root lock, unlock+lock per N packets Actually helps enqueue'ers get root lock Reduce time dequeue blocks root lock for enqueue Still TXQ lock for every packet Due to SKB's have assigned a TXQ on enqueue 11/17
12 Results: Bulk qdisc dequeue Bulk dequeue results Cpu 1: 1,565,117 pps baseline bulk-dequeue cpus /17
13 Implement: Lockless FIFO qdisc Needs John Fastabend qdisc RCU work My hack just ignores stats Based on: Multi-Producer-Multi-Consumer ring queue Requiring LOCK'ed cmpxchg Bulk dequeue amortize cost of cmpxchg Enqueue cmpxchg on every packet Higher number of CPUs Hotspot/sync-point on cmpxchg retry loop 13/17
14 Results: Lockless FIFO qdisc Lockless FIFO with bulk dequeue Cpu 1: 1,726,467 pps baseline bulk-dequeue lockless cpus /17
15 Comparing default use-case: Single CPU Lockless compared to qdisc NULL hack pps = ns -- qdisc-path (clean kernel) pps = ns -- qdisc NULL hack pps = ns -- Lockless qdisc Difference against NULL qdisc: very close pps => ns Improvement against clean kernel: pps => ns Better than expected Likely due to ignoring stats 15/17
16 Lockless: Forcing through MPMC Want to measure clean overhead of MPMC queue Test: single CPU forced through MPMC By removing TCQ_F_CAN_BYPASS flag Expect added cost of two cmpxchg Results lockless qdisc w/o TCQ_F_CAN_BYPASS pps = ns -- with BYPASS pps = ns -- no BYPASS pps => ns -- Difference to bypass Were expecting to see 2x LOCK cost But only see approx 1x LOCK cost 16/17
17 The End Open discussion Where should we start? Need John Fastabend's qdisc RCU work Should we just bypass qdisc layer? We/Red Hat Will allocate resources/persons to project Open to collaborate 17/17
18 Extra Extra slides 18/17
19 Using TSQ TCP Small Queue (TSQ) Use queue build up in TSQ To send a bulk xmit To take advantage of HW TXQ tail ptr update Should we allow/use Qdisc bulk enqueue Detecting qdisc is empty allowing direct_xmit_bulk? 19/17
TX bulking and qdisc layer
Session: Linux packet processing performance improvements TX bulking and qdisc layer Jesper Dangaard Brouer (Red Hat) John Fastabend (Intel) John Ronciak (Intel) 1/16 Linux Plumbers Conference 16 th Oct
More informationNetwork stack challenges at increasing speeds
Network stack challenges at increasing speeds The 100Gbit/s challenge Jesper Dangaard Brouer Red Hat inc. Netfilter Workshop, June 2015 1/43 Overview Understand 100Gbit/s challenge and time budget Measurements:
More informationNetwork stack challenges at increasing speeds
Network stack challenges at increasing speeds The 100Gbit/s challenge Jesper Dangaard Brouer Principal kernel Engineer Red Hat inc. 1/34 Driving-IT, Nov 2015 Overview Understand 100Gbit/s challenge and
More informationNetwork stack challenges at increasing speeds
Network stack challenges at increasing speeds The 100Gbit/s challenge Jesper Dangaard Brouer Principal kernel Engineer Red Hat inc. DevConf, Feb 2016 1/35 Overview Understand 100Gbit/s challenge and time
More informationNetwork Performance BoF
Network Performance BoF 1 BoF organizer: Jesper Dangaard Brouer Principal Engineer, Red Hat Date: 10th to 12th February 2016 Venue: NetDev 1.1, Seville, Spain Presentors: Jesper Dangaard Brouer, Red Hat
More informationWho fears the spectres?
Who fears the spectres? Performance impacts of spectre/meltdown counter-measures and possible improvements Paolo Abeni - Red Hat NetConf, Boston 2018 Outline Performance impact of PTI and retpoline on
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 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 informationPerformance of Wireless IEEE e-Based Devices with Multiple Hardware Queues
Performance of Wireless IEEE 802.11e-Based Devices with Multiple Hardware Queues Gabriel Lazăr, Virgil Dobrotă, Member, IEEE, Tudor Blaga, Member, IEEE 1 Agenda I. Linux Network Subsystem II. Linux Traffic
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 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 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 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 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 informationMultimedia Communication. Project 6: Intelligent DiffServ
Multimedia Communication Project 6: Intelligent DiffServ Preliminary Design and interface definition (2003-07-08) Steffen Moser - 1 / 9 - Necessary tasks of a DiffServ aware router: Classifying Marking
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 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 informationThe State of the Art in Bufferbloat Testing and Reduction on Linux
The State of the Art in Bufferbloat Testing and Reduction on Linux Toke Høiland-Jørgensen Roskilde University IETF 86, 12th March 2013 1 / 31 Outline Introduction Recent changes in the Linux kernel Testing
More informationNetfilter: Making large iptables rulesets scale. OpenSourceDays 2008 d.4/
Netfilter: Making large iptables rulesets scale OpenSourceDays 2008 d.4/10-2008 by Jesper Dangaard Brouer Master of Computer Science ComX Networks A/S ComX Networks A/S Who am I Name: Jesper
More informationA Userspace Packet Switch for Virtual Machines
SHRINKING THE HYPERVISOR ONE SUBSYSTEM AT A TIME A Userspace Packet Switch for Virtual Machines Julian Stecklina OS Group, TU Dresden jsteckli@os.inf.tu-dresden.de VEE 2014, Salt Lake City 1 Motivation
More informationENDING THE ANOMALY ACHIEVING LOW LATENCY AND AIRTIME FAIRNESS IN WIFI
ENDING THE ANOMALY ACHIEVING LOW LATENCY AND AIRTIME FAIRNESS IN WIFI Toke Høiland-Jørgensen (Karlstad University), Michał Kazior (Tieto Poland), Dave Täht (Teklibre), Per Hurtig and Anna Brunstrom (Karlstad
More informationMeasuring Application's network behaviour
EuroNGI PhD measurement workshop - 1 Measuring Application's network behaviour EuroNGI PhD measurement workshop University of Linz,, Austria May, 12th 2006 Sven Hessler http://dps.uibk.ac.at/~sven Institute
More informationnetfilters connection tracking subsystem
netfilters connection tracking subsystem Florian Westphal 4096R/AD5FF600 fw@strlen.de 80A9 20C5 B203 E069 F586 AE9F 7091 A8D9 AD5F F600 Red Hat netdev 2.1, Montreal, April 2017 connection tracking flow
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 informationA linear-list Data Structure where - addition of elements to and - removal of elements from are restricted to the first element of the list.
A linear-list Data Structure where - addition of elements to and - removal of elements from are restricted to the first element of the list. the first element of the list a new element to (the Top of)
More informationMaximum Performance. How to get it and how to avoid pitfalls. Christoph Lameter, PhD
Maximum Performance How to get it and how to avoid pitfalls Christoph Lameter, PhD cl@linux.com Performance Just push a button? Systems are optimized by default for good general performance in all areas.
More informationMoonGen. A Scriptable High-Speed Packet Generator. Paul Emmerich. January 31st, 2016 FOSDEM Chair for Network Architectures and Services
MoonGen A Scriptable High-Speed Packet Generator Paul Emmerich January 31st, 216 FOSDEM 216 Chair for Network Architectures and Services Department of Informatics Paul Emmerich MoonGen: A Scriptable High-Speed
More informationQBone Scavenger Service Implementation for Linux
QBone Scavenger Service Implementation for Linux Mathieu Goutelle Pascale Primet Overview of the QBSS model The QBSS model has been proposed by the Internet2 QoS Working Group. It is part of the Non-Elevated
More informationCS510 Concurrent Systems. Jonathan Walpole
CS510 Concurrent Systems Jonathan Walpole Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms utline Background Non-Blocking Queue Algorithm Two Lock Concurrent Queue Algorithm
More informationKernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract
1 of 9 6/18/2006 7:41 PM Kernel Korner Analysis of the HTB Queuing Discipline Yaron Benita Abstract Can Linux do Quality of Service in a way that both offers high throughput and does not exceed the defined
More informationTD(07)037. The 10th COST 290 MC Meeting. Technische Universität Wien Wien, Austria October 1 2, 2007
TD(07)037 The 10th COST 290 MC Meeting Technische Universität Wien Wien, Austria October 1 2, 2007 Performance of Wireless IEEE 802.11e-Based Devices with Multiple Hardware Queues Gabriel Lazar, Virgil
More informationrx hardening & udp gso willem de bruijn
rx hardening & udp gso willem de bruijn Network rx stack hardening PoD [redacted (3x)] Local Priv CVE-2017-1000112: ufo overwrite skb_shared_info CVE-2017-1000111: packet_reserve use-after-free user namespaces
More informationTCP/misc works. Eric Google
TCP/misc works Eric Dumazet @ Google 1) TCP zero copy receive 2) SO_SNDBUF model in linux TCP (aka better TCP_NOTSENT_LOWAT) 3) ACK compression 4) PSH flag set on every TSO packet Design for TCP RX ZeroCopy
More informationDropping Packets in Ubuntu Linux using tc and iptables
Dropping Packets in Ubuntu Linux using tc and... 1 Dropping Packets in Ubuntu Linux using tc and iptables By Steven Gordon on Tue, 18/01/2011-8:13pm There are two simple ways to randomly drop packets on
More informationKathie Nichols CoDel. present by Van Jacobson to the IETF-84 Transport Area Open Meeting 30 July 2012 Vancouver, Canada
Kathie Nichols CoDel present by Van Jacobson to the IETF-84 Transport Area Open Meeting 30 July 2012 Vancouver, Canada 2 3 Sender Receiver 4 Sender Receiver 5 Sender Receiver Queue forms at a bottleneck
More informationCS24 Week 4 Lecture 2
CS24 Week 4 Lecture 2 Kyle Dewey Overview Linked Lists Stacks Queues Linked Lists Linked Lists Idea: have each chunk (called a node) keep track of both a list element and another chunk Need to keep track
More informationThis talk is not about XDP: From Resource Limits to SKB Lists. David S. Miller, Vancouver, 2018
This talk is not about XDP: From Resource Limits to SKB Lists David S. Miller, Vancouver, 2018 Two Big Issues 1) Clean and Maintainable Code 2) Isolation Clean And Maintainable Code The story of ahh, we
More informationTom Hart, University of Toronto Paul E. McKenney, IBM Beaverton Angela Demke Brown, University of Toronto
Making Lockless Synchronization Fast: Performance Implications of Memory Reclamation Tom Hart, University of Toronto Paul E. McKenney, IBM Beaverton Angela Demke Brown, University of Toronto Outline Motivation
More informationInformation Science 2
Information Science 2 - Basic Data Structures- Week 02 College of Information Science and Engineering Ritsumeikan University Today s class outline l Basic data structures: Definitions and implementation
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 informationA Quest for Predictable Latency Adventures in Java Concurrency. Martin Thompson
A Quest for Predictable Latency Adventures in Java Concurrency Martin Thompson - @mjpt777 If a system does not respond in a timely manner then it is effectively unavailable 1. It s all about the Blocking
More informationCS6202 - PROGRAMMING & DATA STRUCTURES I Unit IV Part - A 1. Define Stack. A stack is an ordered list in which all insertions and deletions are made at one end, called the top. It is an abstract data type
More informationSoftware Routers: NetMap
Software Routers: NetMap Hakim Weatherspoon Assistant Professor, Dept of Computer Science CS 5413: High Performance Systems and Networking October 8, 2014 Slides from the NetMap: A Novel Framework for
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 informationA Look at Intel s Dataplane Development Kit
A Look at Intel s Dataplane Development Kit Dominik Scholz Chair for Network Architectures and Services Department for Computer Science Technische Universität München June 13, 2014 Dominik Scholz: A Look
More informationSystem level traffic shaping in disk servers with heterogeneous protocols
Journal of Physics: Conference Series OPEN ACCESS System level traffic shaping in disk servers with heterogeneous protocols To cite this article: Eric Cano and Daniele Francesco Kruse 14 J. Phys.: Conf.
More informationSuricata Extreme Performance Tuning With Incredible Courage
Suricata Extreme Performance Tuning With Incredible Courage By Michal Purzynski (@MichalPurzynski ) Threat Management, Mozilla Peter Manev (@pevma) Suricata Core Team Lead QA and training instructor Stamus
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 informationNetchannel 2: Optimizing Network Performance
Netchannel 2: Optimizing Network Performance J. Renato Santos +, G. (John) Janakiraman + Yoshio Turner +, Ian Pratt * + HP Labs - * XenSource/Citrix Xen Summit Nov 14-16, 2007 2003 Hewlett-Packard Development
More informationCircular Queue can be created in three ways they are: Using single linked list Using double linked list Using arrays
Circular Queue: Implementation and Applications In linear queue, when we delete any element, only front increment by one but position is not used later. So, when we perform more add and delete operations,
More informationAdventures In Real-Time Performance Tuning, Part 2
Adventures In Real-Time Performance Tuning, Part 2 The real-time for Linux patchset does not guarantee adequate real-time behavior for all target platforms. When using real-time Linux on a new platform
More informationNetwork optimizations for PV guests
Network optimizations for PV guests J. Renato Santos G. (John) Janakiraman Yoshio Turner HP Labs Summit September 7-8, 26 23 Hewlett-Packard Development Company, L.P. The information contained herein is
More informationNetwork Debugging Toolkit: Netsniff-NG
Network Debugging Toolkit: Netsniff-NG Daniel Borkmann Swiss Federal Institute of Technology Zurich (ETH Zurich) Computer Engineering and Networks Laboratory Communication
More informationVoIP over wireless networks: a packet scheduling approach to provide QoS using Linux
VoIP over 82.11 wireless networks: a packet scheduling approach to provide QoS using Linux Terrence van Valkenhoef and Mishar Mahboob December 13, 25 Abstract In this work, we propose a layer three scheduler
More informationHow to Win Coding Competitions: Secrets of Champions. Week 2: Computational complexity. Linear data structures Lecture 5: Stack. Queue.
How to Win Coding Competitions: Secrets of Champions Week 2: Computational complexity. Linear data structures Lecture 5: Stack. Queue. Deque Pavel Krotkov Saint Petersburg 2016 General overview Stack,
More information1 P age DS & OOPS / UNIT II
UNIT II Stacks: Definition operations - applications of stack. Queues: Definition - operations Priority queues - De que Applications of queue. Linked List: Singly Linked List, Doubly Linked List, Circular
More informationPacket Sockets, BPF and Netsniff-NG
Packet Sockets, BPF and Netsniff-NG (Brief intro into finding the needle in the network haystack.) Daniel Borkmann Open Source Days, Copenhagen, March 9, 2013 D. Borkmann (Red Hat)
More informationData Structures. Outline. Introduction Linked Lists Stacks Queues Trees Deitel & Associates, Inc. All rights reserved.
Data Structures Outline Introduction Linked Lists Stacks Queues Trees Introduction dynamic data structures - grow and shrink during execution Linked lists - insertions and removals made anywhere Stacks
More informationParallelism and Data Synchronization
Project 5 Parallelism and Data Synchronization Out: In class on Tuesday, 10 Nov 2009 Due: 10am on Friday, 20 Nov 2009 In this project, you will be focusing on the theoretical side of parallelism and data
More informationCache-Aware Lock-Free Queues for Multiple Producers/Consumers and Weak Memory Consistency
Cache-Aware Lock-Free Queues for Multiple Producers/Consumers and Weak Memory Consistency Anders Gidenstam Håkan Sundell Philippas Tsigas School of business and informatics University of Borås Distributed
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 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 informationLinux Traffic Control
Linux Traffic Control Author: Ivan Delchev Course: Networks and Distributed Systems Seminar Instructor: Prof. Juergen Schoenwaelder International University Bremen, Spring 2006 Processing of Network Data
More informationCSC 1052 Algorithms & Data Structures II: Linked Queues
CSC 1052 Algorithms & Data Structures II: Linked Queues Professor Henry Carter Spring 2018 Recap A queue simulates a waiting line, where objects are removed in the same order they are added The primary
More informationResearch on the Implementation of MPI on Multicore Architectures
Research on the Implementation of MPI on Multicore Architectures Pengqi Cheng Department of Computer Science & Technology, Tshinghua University, Beijing, China chengpq@gmail.com Yan Gu Department of Computer
More informationLinux Plumbers Conference TCP-NV Congestion Avoidance for Data Centers
Linux Plumbers Conference 2010 TCP-NV Congestion Avoidance for Data Centers Lawrence Brakmo Google TCP Congestion Control Algorithm for utilizing available bandwidth without too many losses No attempt
More informationTraffic Engineering 2015/2016. Fernando M. Silva. Instituto Superior Técnico. QoS, Scheduling & priority queues.
Traffic Engineering 2015/2016 QoS, Scheduling & priority queues fernando.silva@tecnico.ulisboa.pt Instituto Superior Técnico Trafffic Engineering 2015/16 1 Outline Traffic optimization & QoS Scheduling
More informationOpen Source Traffic Analyzer
Open Source Traffic Analyzer Daniel Turull June 2010 Outline 1 Introduction 2 Background study 3 Design 4 Implementation 5 Evaluation 6 Conclusions 7 Demo Outline 1 Introduction 2 Background study 3 Design
More informationIntroduction to Data Structures. Introduction to Data Structures. Introduction to Data Structures. Data Structures
Philip Bille Data Structures Data structure. Method for organizing data for efficient access, searching, manipulation, etc. Goal. Fast. Compact Terminology. Abstract vs. concrete data structure. Dynamic
More informationRaw Packet Capture in the Cloud: PF_RING and Network Namespaces. Alfredo
Raw Packet Capture in the Cloud: PF_RING and Network Namespaces Alfredo Cardigliano cardigliano@ntop.org @acardigliano About ntop ntop develops high-performance network traffic monitoring technologies
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 informationNGN Progress Report. Table of Contents
NGN Progress Report Title: Simulator Scalability Testing Prepared by: Richard Nelson Date: 08 February, 2006 Table of Contents Introduction...2 Simulators...2 Test Method...2 Simulation Model...2 CPU Utilisation...2
More informationNetworking in a Vertically Scaled World
Networking in a Vertically Scaled World David S. Miller Red Hat Inc. LinuxTAG, Berlin, 2008 OUTLINE NETWORK PRINCIPLES MICROPROCESSOR HISTORY IMPLICATIONS FOR NETWORKING LINUX KERNEL HORIZONTAL NETWORK
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 informationKeeping Order:! Stacks, Queues, & Deques. Travis W. Peters Dartmouth College - CS 10
Keeping Order:! Stacks, Queues, & Deques 1 Stacks 2 Stacks A stack is a last in, first out (LIFO) data structure Primary Operations: push() add item to top pop() return the top item and remove it peek()
More informationQueues. A queue is a special type of structure that can be used to maintain data in an organized way.
A queue is a special type of structure that can be used to maintain data in an organized way. This data structure is commonly implemented in one of two ways: as an array or as a linked list. In either
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 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 informationAn efficient Unbounded Lock-Free Queue for Multi-Core Systems
An efficient Unbounded Lock-Free Queue for Multi-Core Systems Authors: Marco Aldinucci 1, Marco Danelutto 2, Peter Kilpatrick 3, Massimiliano Meneghin 4 and Massimo Torquati 2 1 Computer Science Dept.
More informationMemory management, part 2: outline. Operating Systems, 2017, Danny Hendler and Amnon Meisels
Memory management, part 2: outline 1 Page Replacement Algorithms Page fault forces choice o which page must be removed to make room for incoming page? Modified page must first be saved o unmodified just
More informationI/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)
I/O Devices Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Hardware Support for I/O CPU RAM Network Card Graphics Card Memory Bus General I/O Bus (e.g., PCI) Canonical Device OS reads/writes
More informationFlow Control Packet Marking Scheme: to identify the sources of Distributed Denial of Service Attacks
Flow Control Packet Marking Scheme: to identify the sources of Distributed Denial of Service Attacks A.Chitkala, K.S. Vijaya Lakshmi VRSE College,India. ABSTRACT-Flow Control Packet Marking Scheme is a
More informationSynchronization. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
Synchronization Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Types of Synchronization Mutual Exclusion Locks Event Synchronization Global or group-based
More informationChair for Network Architectures and Services Prof. Carle Department of Computer Science Technische Universität München.
Chair for Network Architectures and Services Prof. Carle Department of Computer Science Technische Universität München Network Analysis 2b) Deterministic Modelling beyond Formal Logic A simple network
More information1. Background. 2. Demand Paging
COSC4740-01 Operating Systems Design, Fall 2001, Byunggu Yu Chapter 10 Virtual Memory 1. Background PROBLEM: The entire process must be loaded into the memory to execute limits the size of a process (it
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 informationSynchronization. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
Synchronization Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu) Types of Synchronization
More informationAbstract vs concrete data structures HEAPS AND PRIORITY QUEUES. Abstract vs concrete data structures. Concrete Data Types. Concrete data structures
10/1/17 Abstract vs concrete data structures 2 Abstract data structures are interfaces they specify only interface (method names and specs) not implementation (method bodies, fields, ) HEAPS AND PRIORITY
More informationOperating Systems. 17. Sockets. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski
Operating Systems 17. Sockets Paul Krzyzanowski Rutgers University Spring 2015 1 Sockets Dominant API for transport layer connectivity Created at UC Berkeley for 4.2BSD Unix (1983) Design goals Communication
More informationNetwork device drivers in Linux
Network device drivers in Linux Aapo Kalliola Aalto University School of Science Otakaari 1 Espoo, Finland aapo.kalliola@aalto.fi ABSTRACT In this paper we analyze the interfaces, functionality and implementation
More informationMemory management, part 2: outline
Memory management, part 2: outline Page replacement algorithms Modeling PR algorithms o Working-set model and algorithms Virtual memory implementation issues 1 Page Replacement Algorithms Page fault forces
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 informationCSE502: Computer Architecture CSE 502: Computer Architecture
CSE 502: Computer Architecture Instruction Commit The End of the Road (um Pipe) Commit is typically the last stage of the pipeline Anything an insn. does at this point is irrevocable Only actions following
More informationFlexplane: An Experimenta0on Pla3orm for Resource Management in Datacenters. Amy Ousterhout, Jonathan Perry, Hari Balakrishnan, Petr Lapukhov
Flexplane: An Experimenta0on Pla3orm for Resource Management in Datacenters Amy Ousterhout, Jonathan Perry, Hari Balakrishnan, Petr Lapukhov Datacenter Networks Applica0ons have diverse requirements Dozens
More informationQueues 4/11/18. Many of these slides based on ones by Cynthia Lee
Queues 4/11/18 Many of these slides based on ones by Cynthia Lee Administrivia HW 4 due tomorrow night (list implementations) Reading: For Friday: Beginning of Chapter 7 (pp. 198-211) For Monday: Rest
More informationPriority Queues. Binary Heaps
Priority Queues An internet router receives data packets, and forwards them in the direction of their destination. When the line is busy, packets need to be queued. Some data packets have higher priority
More informationjelly-near jelly-far
sudo./run Two interfaces created: os0, os1 Two networks created: (add to /etc/networks) peanut where os0 will connect 192.168.0.0 grape where os1 will connect 192.168.1.0 Two IP addresses in peanut: (add
More informationLearning with Purpose
Network Measurement for 100Gbps Links Using Multicore Processors Xiaoban Wu, Dr. Peilong Li, Dr. Yongyi Ran, Prof. Yan Luo Department of Electrical and Computer Engineering University of Massachusetts
More informationQueuing Mechanisms. Overview. Objectives
Queuing Mechanisms Overview Objectives This module describes the queuing mechanisms that can be used on output interfaces. It includes the following topics: Queuing Overview FIFO Queuing Priority Queuing
More informationMuch Faster Networking
Much Faster Networking David Riddoch driddoch@solarflare.com Copyright 2016 Solarflare Communications, Inc. All rights reserved. What is kernel bypass? The standard receive path The standard receive path
More information