SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Outline
                     Motivation
                    Background
                        Solution
          Performance evaluation
                       Summary




Ringmap Capturing Stack for High Performance
       Packet Capturing in FreeBSD

                    Alexander Fiveg
                 afiveg@freebsd.org



                   September 28, 2010



                 Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                             Background
                                 Solution
                   Performance evaluation
                                Summary


Outline


  1   Motivation

  2   Background

  3   Solution

  4   Performance evaluation

  5   Summary



                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
           Motivation
          Background     Problem
              Solution   Goal of the Project
Performance evaluation
             Summary




         Motivation




       Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                                                           Motivation
                                                          Background                             Problem
                                                              Solution                           Goal of the Project
                                                Performance evaluation
                                                             Summary


Problem
  Problems arising during packet capturing:
      High bit rates and packet rates
                            ⇒ high CPU load and packet loss


                    100                                                                          100




                                                                               Packet loss (%)
    CPU usage (%)




                     80                                                                          80




                     60                                                                          60




                     40                                                                          40




                     20                                                                          20




                      0                                                                           0

                      100       200       300        400         500     600                       100    200       300    400      500   600
                                      Bit-Rate (MBit/s)                                                         Bit-Rate (MBit/s)


                               Figure: Capturing 64-Bytes packets. (Bezier curves)

                                                           Alexander Fiveg                       Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                            Background     Problem
                                Solution   Goal of the Project
                  Performance evaluation
                               Summary


The reason of the Problems


  Inefficiency of standard capturing software

      To many “expensive” operations in terms of CPU cycles:
          System calls
          Packet copy operations
          Memory allocations
          etc. . .




                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                             Background     Problem
                                 Solution   Goal of the Project
                   Performance evaluation
                                Summary


Goal of the project


  Increase the capturing performance in FreeBSD
      Design and implementation the new capturing software to
      minimize the packet loss and CPU load during capturing.



  Supported Hardware:
     The following Intel GbE Controllers:
           8254x, 8257x, 8259x




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                             Background     Problem
                                 Solution   Goal of the Project
                   Performance evaluation
                                Summary


Approach


     Eliminating the packet copy operations
           by using shared memory buffers (memory mapping)

     Eliminating the memory allocations
           by using ring buffers




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                             Background     Problem
                                 Solution   Goal of the Project
                   Performance evaluation
                                Summary


Approach


     Eliminating the packet copy operations
           by using shared memory buffers (memory mapping)

     Eliminating the memory allocations
           by using ring buffers



  ⇒ ring + mapping = ringmap




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
           Motivation
                         Packet Capturing
          Background
                         How does it work
              Solution
                         Disadvantages
Performance evaluation
             Summary




        Background




       Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                                Motivation
                                              Packet Capturing
                               Background
                                              How does it work
                                   Solution
                                              Disadvantages
                     Performance evaluation
                                  Summary


Packet Capturing: Hardware View

  1   Receiving network packets
                                                            CPU’s
          receive at network adapter
          DMA transfer in RAM
                                                                  2

  2   Filtering the received                                            3   mass storage
      packets                                               RAM


          Berkeley Packet Filter
                                                                 1

  3   Storing to the hard disk
          using a system call

                                                      Network adapter




                            Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                                           Packet Capturing
                            Background
                                           How does it work
                                Solution
                                           Disadvantages
                  Performance evaluation
                               Summary


FreeBSD Packet Capturing Stack

     Network driver
         Receiving packets

     Berkley Packet Filter (BPF)
         Filtering packets

     User-space application
         Accessing received packets
         Initiates:
              Storing packets to hard drive
              Output packets information to the terminal



                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                   Motivation
                                 Packet Capturing
                  Background
                                 How does it work
                      Solution
                                 Disadvantages
        Performance evaluation
                     Summary




How does standard packet capturing
              work




               Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                                           Packet Capturing
                            Background
                                           How does it work
                                Solution
                                           Disadvantages
                  Performance evaluation
                               Summary


FreeBSD Standard Packet Capturing Stack




    Packet is received and saved
    in Adapter-FIFO

                                                Adapter-FIFO        Network adapter




                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                                            Packet Capturing
                             Background
                                            How does it work
                                 Solution
                                            Disadvantages
                   Performance evaluation
                                Summary


FreeBSD Standard Packet Capturing Stack




    DMA-Transfer
                                                 Paket-Buffer
    Packet is received and saved
    in Adapter-FIFO
                                                         1

                                                 Adapter-FIFO        Network adapter




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                                            Packet Capturing
                             Background
                                            How does it work
                                 Solution
                                            Disadvantages
                   Performance evaluation
                                Summary


FreeBSD Standard Packet Capturing Stack




    Interrupt
    DMA-Transfer
                                                 Paket-Buffer
    Packet is received and saved
    in Adapter-FIFO
                                                         1

                                                 Adapter-FIFO        Network adapter     Interrupt




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                                            Packet Capturing
                             Background
                                            How does it work
                                 Solution
                                            Disadvantages
                   Performance evaluation
                                Summary


FreeBSD Standard Packet Capturing Stack




    Interrupt Service Routine
    Interrupt
                                                                                       Kernel-Thread
    DMA-Transfer
                                                 Packet-Buffer
    Packet is received and saved                                                              xN


    in Adapter-FIFO                                               Network driver
                                                                                            ISR

                                                          1

                                                 Adapter-FIFO        Network adapter              Interrupt




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                                            Packet Capturing
                             Background
                                            How does it work
                                 Solution
                                            Disadvantages
                   Performance evaluation
                                Summary


FreeBSD Standard Packet Capturing Stack



                                                                  Userspace

    Packet filtering                                               Kernelspace
                                                  BPF-Buffer                               BPF
    Interrupt Service Routine
    Interrupt
                                                          2                            Kernel-Thread
    DMA-Transfer
                                                 Packet-Buffer
    Packet is received and saved                                                              xN


    in Adapter-FIFO                                               Network driver
                                                                                            ISR

                                                          1

                                                 Adapter-FIFO        Network adapter              Interrupt




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                                Motivation
                                              Packet Capturing
                               Background
                                              How does it work
                                   Solution
                                              Disadvantages
                     Performance evaluation
                                  Summary


FreeBSD Standard Packet Capturing Stack


                                                                                         User-Application
                                                    User-Buffer
    Access packets                                                  Userspace
                                                                                     Libpcap-Functions



    Packet filtering                                         3
                                                                    Kernelspace
                                                    BPF-Buffer                                 BPF
    Interrupt Service Routine
    Interrupt
                                                            2                             Kernel-Thread
    DMA-Transfer
                                                   Packet-Buffer
    Packet is received and saved                                                                  xN


    in Adapter-FIFO                                                 Network driver
                                                                                               ISR

                                                            1

                                                   Adapter-FIFO        Network adapter               Interrupt




                            Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                                          Motivation
                                                            Packet Capturing
                                         Background
                                                            How does it work
                                             Solution
                                                            Disadvantages
                               Performance evaluation
                                            Summary


Disadvantages of Standard Packet Capturing Stack

         Three copies per packet
             1   DMA: FIFO ⇒ Packet Buffer
             2   Packet Buffer ⇒ BPF Buffer
             3   BPF Buffer ⇒ Userspace Buffer (*)

         Memory allocations
                 For each new received packet will be a new mbuf allocated

         System calls
                 User-space application receives the packets using read(2)(*)
                 Saving packets to the hard disk
  (*) Using Zero-Copy BPF eliminates the last copy and system call



                                      Alexander Fiveg       Ringmap Capturing Stack for High Performance Packet Captur
Outline
           Motivation
                         Ringmap Capturing Stack
          Background
                         From generic to ringmap
              Solution
                         Overview
Performance evaluation
             Summary




             Solution




       Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                            Motivation
                                          Ringmap Capturing Stack
                           Background
                                          From generic to ringmap
                               Solution
                                          Overview
                 Performance evaluation
                              Summary


Ringmap Packet Capturing Stack




     Ringmap: The new packet capturing stack
     based on standard FreeBSD packet capturing stack:
         based on generic network drivers and libpcap
              but network driver and libpcap require small modifications




                        Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                          Motivation
                                        Ringmap Capturing Stack
                         Background
                                        From generic to ringmap
                             Solution
                                        Overview
               Performance evaluation
                            Summary


What did we change in generic
                                                           User-Application

                                                           Libpcap-Functions
                                         Userspace

                                         Kernelspace
                                                                  BPF




                                                                                    TCP/IP-Stack
                                                             Kernel-Thread



                                                                    xN

                                                                  ISR
                                         Network driver                                Software


                                         Network adapter                Interrupt     Hardware




                      Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                                           Ringmap Capturing Stack
                            Background
                                           From generic to ringmap
                                Solution
                                           Overview
                  Performance evaluation
                               Summary


What did we change in generic
                                                              User-Application

                                                              Libpcap-Functions
                                            Userspace
    Disabled TCP/IP-Stack
                                            Kernelspace
        Only packet capturing                                        BPF




                                                                                       TCP/IP-Stack
                                                                Kernel-Thread



                                                                       xN

                                                                     ISR
                                            Network driver                                Software


                                            Network adapter                Interrupt     Hardware




                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                                           Ringmap Capturing Stack
                            Background
                                           From generic to ringmap
                                Solution
                                           Overview
                  Performance evaluation
                               Summary


What did we change in generic

                                                              User-Application

                                                              Libpcap-Functions
                                            Userspace
    Disabled TCP/IP-Stack
                                            Kernelspace
        Only packet capturing                                        BPF



    BPF is accessible in both                                                          TCP/IP-Stack
    kernel and user-space                                       Kernel-Thread



                                                                       xN

                                                                     ISR
                                            Network driver                                Software


                                            Network adapter                Interrupt     Hardware




                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                                           Ringmap Capturing Stack
                            Background
                                           From generic to ringmap
                                Solution
                                           Overview
                  Performance evaluation
                               Summary


What did we change in generic

                                                              User-Application

                                                              Libpcap-Functions
                                            Userspace
    Disabled TCP/IP-Stack
                                            Kernelspace
        Only packet capturing                                        BPF



    BPF is accessible in both                                                          TCP/IP-Stack
    kernel and user-space                                       Kernel-Thread



                                                                       xN

    Network driver and Libpcap                                       ISR
    is modified                              Network driver                                Software

        BPF is unchanged                    Network adapter                Interrupt     Hardware




                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
              Motivation
                            Ringmap Capturing Stack
             Background
                            From generic to ringmap
                 Solution
                            Overview
   Performance evaluation
                Summary




From generic to ringmap




          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                          Motivation
                                        Ringmap Capturing Stack
                         Background
                                        From generic to ringmap
                             Solution
                                        Overview
               Performance evaluation
                            Summary


From generic to ringmap
                                                                                 User-Application
                                              User-Buffer
    generic                                                    Userspace
                                                                                 Libpcap-Functions



                                                               Kernelspace
                                              BPF-Buffer                               BPF




                                                                                   Kernel-Thread


                                             Packet-Buffer
                                                                                          xN

                                                                                        ISR
                                                               Network driver



                                             Adapter-FIFO      Network adapter                Interrupt




                      Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                                           Ringmap Capturing Stack
                            Background
                                           From generic to ringmap
                                Solution
                                           Overview
                  Performance evaluation
                               Summary


From generic to ringmap
                                                                                    User-Application
                                                 User-Buffer
    generic                                                       Userspace
                                                                                    Libpcap-Functions


    Eliminate packet copies and                                   Kernelspace
    syscalls                                     BPF-Buffer                               BPF




                                                                                      Kernel-Thread


                                                Packet-Buffer
                                                                                             xN

                                                                                           ISR
                                                                  Network driver



                                                Adapter-FIFO      Network adapter                Interrupt




                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                                            Ringmap Capturing Stack
                             Background
                                            From generic to ringmap
                                 Solution
                                            Overview
                   Performance evaluation
                                Summary


From generic to ringmap
                                                                                     User-Application
                                                  User-Buffer
    generic                                                                          Libpcap-Functions


    Eliminate packet copies and                                    Userspace
    syscalls                                      BPF-Buffer
                                                                   Kernelspace
                                                                                           BPF


    BPF-Buffer is then not
    necessary
                                                                                       Kernel-Thread
        Packet filtering is possible
        in both kernel and                       Packet-Buffer
                                                                                              xN
        user-space
                                                                                            ISR
                                                                   Network driver



                                                 Adapter-FIFO      Network adapter                Interrupt




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                                            Ringmap Capturing Stack
                             Background
                                            From generic to ringmap
                                 Solution
                                            Overview
                   Performance evaluation
                                Summary


From generic to ringmap
                                                                                     User-Application
                                                  User-Buffer
    generic                                                                          Libpcap-Functions


    Eliminate packet copies and                                    Userspace
    syscalls                                                       Kernelspace
                                                                                           BPF


    BPF-Buffer is then not
    necessary
                                                                                       Kernel-Thread
        Packet filtering is possible
        in both kernel and                       Packet-Buffer
                                                                                              xN
        user-space
                                                                                            ISR
    Mapping the Packet-Buffer                                       Network driver


    to user-space                                                  Network adapter                Interrupt
                                                 Adapter-FIFO




                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                              Motivation
                                            Ringmap Capturing Stack
                             Background
                                            From generic to ringmap
                                 Solution
                                            Overview
                   Performance evaluation
                                Summary


From generic to ringmap
                                                                                     User-Applications
                                                 Packet-Buffer
    generic                                                                          Libpcap-Functions


    Eliminate packet copies and                                    Userspace
    syscalls                                                       Kernelspace
                                                                                           BPF


    BPF-Buffer is then not
    necessary
                                                                                       Kernel-Thread
        Packet filtering is possible
        in both kernel and                       Packet-Buffer
                                                                                              xN
        user-space
                                                                                            ISR
    Mapping the Packet-Buffer                                       Network driver


    to user-space                                                  Network adapter                Interrupt
                                                 Adapter-FIFO
 ⇒ ringmap

                          Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                                                 Motivation
                                                                    Ringmap Capturing Stack
                                                Background
                                                                    From generic to ringmap
                                                    Solution
                                                                    Overview
                                      Performance evaluation
                                                   Summary


Overview

   Packet Copy                            Functions                       Packet Copy                           Functions

                                            User-Applications                                                     User-Applications
     User-Buffer                                                           Packet-Buffer
                                           Libpcap-Functions                                                      Libpcap-Functions
                        Userspace

                        Kernelspace                                                           Userspace
     BPF-Buffer                                   BPF                                                                   BPF
                                                                                              Kernelspace




                                             Kernel-Thread                                                          Kernel-Thread


    Packet-Buffer                                                          Packet-Buffer
                                                      xN                                                                    xN

                                                  ISR                                                                    ISR
                        Network driver                                                        Network driver



    Adapter-FIFO        Network adapter                 Interrupt          Adapter-FIFO       Network adapter                  Interrupt


                    standard Capturing Stack                                               ringmap Capturing Stack



                                               Alexander Fiveg      Ringmap Capturing Stack for High Performance Packet Captur
Outline
                 Motivation
                               Measurement setup
                Background
                               Testing sequence
                    Solution
                               Results
      Performance evaluation
                   Summary




Measurements and performance
         evaluation




             Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                            Motivation
                                          Measurement setup
                           Background
                                          Testing sequence
                               Solution
                                          Results
                 Performance evaluation
                              Summary


Goal of measurements




     Conducting performance evaluations of ringmap capturing
     stack
         CPU-Load and packet loss during capturing

     Benchmarking: generic vs. ringmap




                        Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                                    Motivation
                                                  Measurement setup
                                   Background
                                                  Testing sequence
                                       Solution
                                                  Results
                         Performance evaluation
                                      Summary


Testbed

          Capturer                                                    Packet generator

          FreeBSD                                                       Linux-SMP




            control traffic
                                              Linux
            generated packets


                                      Test control system




                                Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                                           Measurement setup
                            Background
                                           Testing sequence
                                Solution
                                           Results
                  Performance evaluation
                               Summary


Measurement setup

  Traffic generation
      Linux Kernel Packet Generator (pktgen)
          generates network packets at very high speed with different:
               packet sizes
               bit-rate and packet-rate
  Capturing
      ringmap and generic stacks
      Libpcap-application
          accessing packets through call pcap loop()
          counting the captured packets



                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                               Motivation
                                             Measurement setup
                              Background
                                             Testing sequence
                                  Solution
                                             Results
                    Performance evaluation
                                 Summary


Calculation of results


      System load
          Percentage proportion of time the CPU spent in system mode
          Interrupt load is not considered
               because of interrupt-throttling it is always constant for
               generic and ringmap
          syst = 1 − intr − user − nice − idle

      Packet loss
          Difference between generated and captured packets
          Packetsloss = Packetssend − Packetsreceived



                           Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                               Motivation
                                             Measurement setup
                              Background
                                             Testing sequence
                                  Solution
                                             Results
                    Performance evaluation
                                 Summary


Testing sequence
    1   Login to the capturer to
            start of capturing
            start of system load measurement applications
    2   Login to the Packet-Generator to
            generate traffic with:
                 a certain number of packets
                 a certain bit-rate and packet-rate
    3   Login to the capturer to
            stop capturing- and measurement-applications
    4   Storing of measured values

        Each experiment is repeated five times
        The mean and standard deviation is calculated
                           Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
           Motivation
                         Measurement setup
          Background
                         Testing sequence
              Solution
                         Results
Performance evaluation
             Summary




               Results




       Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                                                 Motivation
                                                                           Measurement setup
                                                Background
                                                                           Testing sequence
                                                    Solution
                                                                           Results
                                      Performance evaluation
                                                   Summary


generic vs. ringmap: Packet loss
                          100
                                     64-bytes packets ringmap
                                     200-bytes packets ringmap
                                     300-bytes packets ringmap
                                     64-bytes packets generic
                                     200-bytes packets generic
                          80         300-bytes packets generic
                                     Standard deviation




                          60
        packet loss (%)




                          40




                          20




                           0

                                0   100     200      300         400     500           600   700   800   900   1000
                                                                   Bit-Rate (MBit/s)



                                               Alexander Fiveg             Ringmap Capturing Stack for High Performance Packet Captur
Outline
                                               Motivation
                                                                         Measurement setup
                                              Background
                                                                         Testing sequence
                                                  Solution
                                                                         Results
                                    Performance evaluation
                                                 Summary


generic vs. ringmap: System-load
                        100
                                   64-bytes packets ringmap
                                   200-bytes packets ringmap
                        90         300-bytes packets ringmap
                                   64-bytes packets generic
                                   200-bytes packets generic
                        80         300-bytes packets generic
                                   Standard deviation

                        70


                        60
       Systemload (%)




                        50


                        40


                        30


                        20


                        10


                         0
                              0   100     200      300         400     500           600   700   800   900   1000
                                                                 Bit-Rate (MBit/s)



                                             Alexander Fiveg             Ringmap Capturing Stack for High Performance Packet Captur
Outline
           Motivation
          Background     Achieved Goals
              Solution   Future Works
Performance evaluation
             Summary




           Summary




       Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                            Motivation
                           Background     Achieved Goals
                               Solution   Future Works
                 Performance evaluation
                              Summary


Achieved goals

     Enhanced Capturing-Performance
         very low system load (below 12%) and very low packet loss
         (below 0.02%)
              only during capturing smallest 64-Bytes packets
              for maximal reached packet-rate (> 450000pkts/sec)
     Stability and usability of implemented software
         during all experiments, no kernel panics and no segmentation
         faults occurred
         very simple install and remove
              two Shell-Scripts to installing and removing the ringmap
              Capturing Stacks
         Libpcap-applications don’t require modification in order to run
         with the ringmap

                        Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                            Background     Achieved Goals
                                Solution   Future Works
                  Performance evaluation
                               Summary


Achieved goals 2


      Ringmap is easily portable to the other network
      controllers
          The software contains hardware dependent and hardware
          independent parts. Only hardware dependent part require
          modifications.
          The generic driver and libpcap should contain a few hooks for
          calling ringmap-functions.
      Packet Filtering
          Packet filtering can be accomplished using both libpcap- and
          kernel-BPF.



                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                             Motivation
                            Background     Achieved Goals
                                Solution   Future Works
                  Performance evaluation
                               Summary


Achieved goals 3



      Multithreaded Capturing
          Multiple applications can capture from the same interface.
      Partly ported to the 10GbE controller
          Currently only one queue is used while capturing. The work on
          supporting multiqueue is in progress.




                         Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur
Outline
                            Motivation
                           Background     Achieved Goals
                               Solution   Future Works
                 Performance evaluation
                              Summary


Future works


     Benchmarking: Zero-Copy BPF vs. ringmap
     Support for hardware time stamping
     Writing the packets to the disc from within the kernel
     Enabling TCP/IP stack
     10-GbE-Packet-Capturing:
         Multiqueue support
         Support for hardware packet filtering
     Extending ringmap for packet transmission



                        Alexander Fiveg   Ringmap Capturing Stack for High Performance Packet Captur

Más contenido relacionado

Destacado

Cours de télédétection entrée
Cours de télédétection entréeCours de télédétection entrée
Cours de télédétection entréeFSTT
 
Розв"язування вправ на множення раціональних чисел
Розв"язування вправ на множення раціональних чиселРозв"язування вправ на множення раціональних чисел
Розв"язування вправ на множення раціональних чиселsveta7940
 
Презентація:Властивості множення раціональних чисел
Презентація:Властивості множення раціональних чиселПрезентація:Властивості множення раціональних чисел
Презентація:Властивості множення раціональних чиселsveta7940
 
Le corbusier (1887 1965)
Le corbusier (1887 1965) Le corbusier (1887 1965)
Le corbusier (1887 1965) Alfai Bene
 
History of makeup
History of makeupHistory of makeup
History of makeupShaina Diaz
 
Digitaalse õppevara autoriõigus
Digitaalse õppevara autoriõigusDigitaalse õppevara autoriõigus
Digitaalse õppevara autoriõigusHans Põldoja
 
Bosch sensores y actuadores ek4
Bosch sensores y actuadores ek4Bosch sensores y actuadores ek4
Bosch sensores y actuadores ek4rjsender
 
7 Tips para usar Facebook como una plataforma de ventas
7 Tips para usar Facebook como una plataforma de ventas7 Tips para usar Facebook como una plataforma de ventas
7 Tips para usar Facebook como una plataforma de ventasExistaya.com
 
Ontogénesis del desarrollo, etapa de la infancia temprana. Desviaciones e Int...
Ontogénesis del desarrollo, etapa de la infancia temprana. Desviaciones e Int...Ontogénesis del desarrollo, etapa de la infancia temprana. Desviaciones e Int...
Ontogénesis del desarrollo, etapa de la infancia temprana. Desviaciones e Int...Teresa Morales Martínez
 
Tamil comics - Paranthu vantha payankara mirugam
Tamil comics - Paranthu vantha payankara mirugamTamil comics - Paranthu vantha payankara mirugam
Tamil comics - Paranthu vantha payankara mirugamtamilweb
 
Успехът, който изглежда далеч - лекция Севлиево
Успехът, който изглежда далеч - лекция СевлиевоУспехът, който изглежда далеч - лекция Севлиево
Успехът, който изглежда далеч - лекция СевлиевоJustine Toms
 

Destacado (18)

Office correspondence
Office correspondenceOffice correspondence
Office correspondence
 
Cours de télédétection entrée
Cours de télédétection entréeCours de télédétection entrée
Cours de télédétection entrée
 
Búsqueda en scopus y cinahl
Búsqueda en scopus y cinahlBúsqueda en scopus y cinahl
Búsqueda en scopus y cinahl
 
Розв"язування вправ на множення раціональних чисел
Розв"язування вправ на множення раціональних чиселРозв"язування вправ на множення раціональних чисел
Розв"язування вправ на множення раціональних чисел
 
Презентація:Властивості множення раціональних чисел
Презентація:Властивості множення раціональних чиселПрезентація:Властивості множення раціональних чисел
Презентація:Властивості множення раціональних чисел
 
Le corbusier (1887 1965)
Le corbusier (1887 1965) Le corbusier (1887 1965)
Le corbusier (1887 1965)
 
History of makeup
History of makeupHistory of makeup
History of makeup
 
Gafa Update 2015 H2
Gafa Update 2015 H2Gafa Update 2015 H2
Gafa Update 2015 H2
 
Digitaalse õppevara autoriõigus
Digitaalse õppevara autoriõigusDigitaalse õppevara autoriõigus
Digitaalse õppevara autoriõigus
 
Subestaciones
SubestacionesSubestaciones
Subestaciones
 
Bosch sensores y actuadores ek4
Bosch sensores y actuadores ek4Bosch sensores y actuadores ek4
Bosch sensores y actuadores ek4
 
7 Tips para usar Facebook como una plataforma de ventas
7 Tips para usar Facebook como una plataforma de ventas7 Tips para usar Facebook como una plataforma de ventas
7 Tips para usar Facebook como una plataforma de ventas
 
Enfermedad de chagas
Enfermedad de chagasEnfermedad de chagas
Enfermedad de chagas
 
Metodología de la investigacion
Metodología de la investigacionMetodología de la investigacion
Metodología de la investigacion
 
Ontogénesis del desarrollo, etapa de la infancia temprana. Desviaciones e Int...
Ontogénesis del desarrollo, etapa de la infancia temprana. Desviaciones e Int...Ontogénesis del desarrollo, etapa de la infancia temprana. Desviaciones e Int...
Ontogénesis del desarrollo, etapa de la infancia temprana. Desviaciones e Int...
 
Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL) Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL)
 
Tamil comics - Paranthu vantha payankara mirugam
Tamil comics - Paranthu vantha payankara mirugamTamil comics - Paranthu vantha payankara mirugam
Tamil comics - Paranthu vantha payankara mirugam
 
Успехът, който изглежда далеч - лекция Севлиево
Успехът, който изглежда далеч - лекция СевлиевоУспехът, който изглежда далеч - лекция Севлиево
Успехът, който изглежда далеч - лекция Севлиево
 

Similar a Ringmap slides

Performance Characterization of In-Memory Data Analytics on a Modern Cloud Se...
Performance Characterization of In-Memory Data Analytics on a Modern Cloud Se...Performance Characterization of In-Memory Data Analytics on a Modern Cloud Se...
Performance Characterization of In-Memory Data Analytics on a Modern Cloud Se...Ahsan Javed Awan
 
Adaptive Query Execution: Speeding Up Spark SQL at Runtime
Adaptive Query Execution: Speeding Up Spark SQL at RuntimeAdaptive Query Execution: Speeding Up Spark SQL at Runtime
Adaptive Query Execution: Speeding Up Spark SQL at RuntimeDatabricks
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaShiao-An Yuan
 
Static analysis of java enterprise applications
Static analysis of java enterprise applicationsStatic analysis of java enterprise applications
Static analysis of java enterprise applicationsAnastasiοs Antoniadis
 
Understanding Memory Management In Spark For Fun And Profit
Understanding Memory Management In Spark For Fun And ProfitUnderstanding Memory Management In Spark For Fun And Profit
Understanding Memory Management In Spark For Fun And ProfitSpark Summit
 
Advanced Silverlight
Advanced SilverlightAdvanced Silverlight
Advanced Silverlightrsnarayanan
 
SDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeSDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeIntel® Software
 
Grow and Shrink - Dynamically Extending the Ruby VM Stack
Grow and Shrink - Dynamically Extending the Ruby VM StackGrow and Shrink - Dynamically Extending the Ruby VM Stack
Grow and Shrink - Dynamically Extending the Ruby VM StackKeitaSugiyama1
 
Build, train, and deploy Machine Learning models at scale (May 2018)
Build, train, and deploy Machine Learning models at scale (May 2018)Build, train, and deploy Machine Learning models at scale (May 2018)
Build, train, and deploy Machine Learning models at scale (May 2018)Julien SIMON
 
深度學習在AOI的應用
深度學習在AOI的應用深度學習在AOI的應用
深度學習在AOI的應用CHENHuiMei
 
Possibilities of generative models
Possibilities of generative modelsPossibilities of generative models
Possibilities of generative modelsAlison B. Lowndes
 
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011Mike Long
 
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...Databricks
 
Oow2007 performance
Oow2007 performanceOow2007 performance
Oow2007 performanceRicky Zhu
 
Boosting spark performance: An Overview of Techniques
Boosting spark performance: An Overview of TechniquesBoosting spark performance: An Overview of Techniques
Boosting spark performance: An Overview of TechniquesAhsan Javed Awan
 
Stefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine LearningStefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine LearningNeotys_Partner
 
SnappyData Ad Analytics Use Case -- BDAM Meetup Sept 14th
SnappyData Ad Analytics Use Case -- BDAM Meetup Sept 14thSnappyData Ad Analytics Use Case -- BDAM Meetup Sept 14th
SnappyData Ad Analytics Use Case -- BDAM Meetup Sept 14thSnappyData
 
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PROIDEA
 

Similar a Ringmap slides (20)

Performance Characterization of In-Memory Data Analytics on a Modern Cloud Se...
Performance Characterization of In-Memory Data Analytics on a Modern Cloud Se...Performance Characterization of In-Memory Data Analytics on a Modern Cloud Se...
Performance Characterization of In-Memory Data Analytics on a Modern Cloud Se...
 
Adaptive Query Execution: Speeding Up Spark SQL at Runtime
Adaptive Query Execution: Speeding Up Spark SQL at RuntimeAdaptive Query Execution: Speeding Up Spark SQL at Runtime
Adaptive Query Execution: Speeding Up Spark SQL at Runtime
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Static analysis of java enterprise applications
Static analysis of java enterprise applicationsStatic analysis of java enterprise applications
Static analysis of java enterprise applications
 
Understanding Memory Management In Spark For Fun And Profit
Understanding Memory Management In Spark For Fun And ProfitUnderstanding Memory Management In Spark For Fun And Profit
Understanding Memory Management In Spark For Fun And Profit
 
Advanced Silverlight
Advanced SilverlightAdvanced Silverlight
Advanced Silverlight
 
SDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeSDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's Stampede
 
Grow and Shrink - Dynamically Extending the Ruby VM Stack
Grow and Shrink - Dynamically Extending the Ruby VM StackGrow and Shrink - Dynamically Extending the Ruby VM Stack
Grow and Shrink - Dynamically Extending the Ruby VM Stack
 
Build, train, and deploy Machine Learning models at scale (May 2018)
Build, train, and deploy Machine Learning models at scale (May 2018)Build, train, and deploy Machine Learning models at scale (May 2018)
Build, train, and deploy Machine Learning models at scale (May 2018)
 
深度學習在AOI的應用
深度學習在AOI的應用深度學習在AOI的應用
深度學習在AOI的應用
 
Possibilities of generative models
Possibilities of generative modelsPossibilities of generative models
Possibilities of generative models
 
Dr.s.shiyamala fpga ppt
Dr.s.shiyamala  fpga pptDr.s.shiyamala  fpga ppt
Dr.s.shiyamala fpga ppt
 
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
 
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
 
Oow2007 performance
Oow2007 performanceOow2007 performance
Oow2007 performance
 
Boosting spark performance: An Overview of Techniques
Boosting spark performance: An Overview of TechniquesBoosting spark performance: An Overview of Techniques
Boosting spark performance: An Overview of Techniques
 
Stefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine LearningStefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine Learning
 
SnappyData Ad Analytics Use Case -- BDAM Meetup Sept 14th
SnappyData Ad Analytics Use Case -- BDAM Meetup Sept 14thSnappyData Ad Analytics Use Case -- BDAM Meetup Sept 14th
SnappyData Ad Analytics Use Case -- BDAM Meetup Sept 14th
 
Stress your DUT
Stress your DUTStress your DUT
Stress your DUT
 
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
PLNOG20 - Paweł Małachowski - Stress your DUT–wykorzystanie narzędzi open sou...
 

Último

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 

Último (20)

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 

Ringmap slides

  • 1. Outline Motivation Background Solution Performance evaluation Summary Ringmap Capturing Stack for High Performance Packet Capturing in FreeBSD Alexander Fiveg afiveg@freebsd.org September 28, 2010 Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 2. Outline Motivation Background Solution Performance evaluation Summary Outline 1 Motivation 2 Background 3 Solution 4 Performance evaluation 5 Summary Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 3. Outline Motivation Background Problem Solution Goal of the Project Performance evaluation Summary Motivation Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 4. Outline Motivation Background Problem Solution Goal of the Project Performance evaluation Summary Problem Problems arising during packet capturing: High bit rates and packet rates ⇒ high CPU load and packet loss 100 100 Packet loss (%) CPU usage (%) 80 80 60 60 40 40 20 20 0 0 100 200 300 400 500 600 100 200 300 400 500 600 Bit-Rate (MBit/s) Bit-Rate (MBit/s) Figure: Capturing 64-Bytes packets. (Bezier curves) Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 5. Outline Motivation Background Problem Solution Goal of the Project Performance evaluation Summary The reason of the Problems Inefficiency of standard capturing software To many “expensive” operations in terms of CPU cycles: System calls Packet copy operations Memory allocations etc. . . Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 6. Outline Motivation Background Problem Solution Goal of the Project Performance evaluation Summary Goal of the project Increase the capturing performance in FreeBSD Design and implementation the new capturing software to minimize the packet loss and CPU load during capturing. Supported Hardware: The following Intel GbE Controllers: 8254x, 8257x, 8259x Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 7. Outline Motivation Background Problem Solution Goal of the Project Performance evaluation Summary Approach Eliminating the packet copy operations by using shared memory buffers (memory mapping) Eliminating the memory allocations by using ring buffers Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 8. Outline Motivation Background Problem Solution Goal of the Project Performance evaluation Summary Approach Eliminating the packet copy operations by using shared memory buffers (memory mapping) Eliminating the memory allocations by using ring buffers ⇒ ring + mapping = ringmap Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 9. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary Background Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 10. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary Packet Capturing: Hardware View 1 Receiving network packets CPU’s receive at network adapter DMA transfer in RAM 2 2 Filtering the received 3 mass storage packets RAM Berkeley Packet Filter 1 3 Storing to the hard disk using a system call Network adapter Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 11. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary FreeBSD Packet Capturing Stack Network driver Receiving packets Berkley Packet Filter (BPF) Filtering packets User-space application Accessing received packets Initiates: Storing packets to hard drive Output packets information to the terminal Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 12. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary How does standard packet capturing work Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 13. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary FreeBSD Standard Packet Capturing Stack Packet is received and saved in Adapter-FIFO Adapter-FIFO Network adapter Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 14. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary FreeBSD Standard Packet Capturing Stack DMA-Transfer Paket-Buffer Packet is received and saved in Adapter-FIFO 1 Adapter-FIFO Network adapter Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 15. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary FreeBSD Standard Packet Capturing Stack Interrupt DMA-Transfer Paket-Buffer Packet is received and saved in Adapter-FIFO 1 Adapter-FIFO Network adapter Interrupt Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 16. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary FreeBSD Standard Packet Capturing Stack Interrupt Service Routine Interrupt Kernel-Thread DMA-Transfer Packet-Buffer Packet is received and saved xN in Adapter-FIFO Network driver ISR 1 Adapter-FIFO Network adapter Interrupt Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 17. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary FreeBSD Standard Packet Capturing Stack Userspace Packet filtering Kernelspace BPF-Buffer BPF Interrupt Service Routine Interrupt 2 Kernel-Thread DMA-Transfer Packet-Buffer Packet is received and saved xN in Adapter-FIFO Network driver ISR 1 Adapter-FIFO Network adapter Interrupt Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 18. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary FreeBSD Standard Packet Capturing Stack User-Application User-Buffer Access packets Userspace Libpcap-Functions Packet filtering 3 Kernelspace BPF-Buffer BPF Interrupt Service Routine Interrupt 2 Kernel-Thread DMA-Transfer Packet-Buffer Packet is received and saved xN in Adapter-FIFO Network driver ISR 1 Adapter-FIFO Network adapter Interrupt Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 19. Outline Motivation Packet Capturing Background How does it work Solution Disadvantages Performance evaluation Summary Disadvantages of Standard Packet Capturing Stack Three copies per packet 1 DMA: FIFO ⇒ Packet Buffer 2 Packet Buffer ⇒ BPF Buffer 3 BPF Buffer ⇒ Userspace Buffer (*) Memory allocations For each new received packet will be a new mbuf allocated System calls User-space application receives the packets using read(2)(*) Saving packets to the hard disk (*) Using Zero-Copy BPF eliminates the last copy and system call Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 20. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary Solution Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 21. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary Ringmap Packet Capturing Stack Ringmap: The new packet capturing stack based on standard FreeBSD packet capturing stack: based on generic network drivers and libpcap but network driver and libpcap require small modifications Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 22. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary What did we change in generic User-Application Libpcap-Functions Userspace Kernelspace BPF TCP/IP-Stack Kernel-Thread xN ISR Network driver Software Network adapter Interrupt Hardware Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 23. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary What did we change in generic User-Application Libpcap-Functions Userspace Disabled TCP/IP-Stack Kernelspace Only packet capturing BPF TCP/IP-Stack Kernel-Thread xN ISR Network driver Software Network adapter Interrupt Hardware Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 24. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary What did we change in generic User-Application Libpcap-Functions Userspace Disabled TCP/IP-Stack Kernelspace Only packet capturing BPF BPF is accessible in both TCP/IP-Stack kernel and user-space Kernel-Thread xN ISR Network driver Software Network adapter Interrupt Hardware Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 25. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary What did we change in generic User-Application Libpcap-Functions Userspace Disabled TCP/IP-Stack Kernelspace Only packet capturing BPF BPF is accessible in both TCP/IP-Stack kernel and user-space Kernel-Thread xN Network driver and Libpcap ISR is modified Network driver Software BPF is unchanged Network adapter Interrupt Hardware Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 26. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary From generic to ringmap Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 27. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary From generic to ringmap User-Application User-Buffer generic Userspace Libpcap-Functions Kernelspace BPF-Buffer BPF Kernel-Thread Packet-Buffer xN ISR Network driver Adapter-FIFO Network adapter Interrupt Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 28. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary From generic to ringmap User-Application User-Buffer generic Userspace Libpcap-Functions Eliminate packet copies and Kernelspace syscalls BPF-Buffer BPF Kernel-Thread Packet-Buffer xN ISR Network driver Adapter-FIFO Network adapter Interrupt Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 29. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary From generic to ringmap User-Application User-Buffer generic Libpcap-Functions Eliminate packet copies and Userspace syscalls BPF-Buffer Kernelspace BPF BPF-Buffer is then not necessary Kernel-Thread Packet filtering is possible in both kernel and Packet-Buffer xN user-space ISR Network driver Adapter-FIFO Network adapter Interrupt Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 30. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary From generic to ringmap User-Application User-Buffer generic Libpcap-Functions Eliminate packet copies and Userspace syscalls Kernelspace BPF BPF-Buffer is then not necessary Kernel-Thread Packet filtering is possible in both kernel and Packet-Buffer xN user-space ISR Mapping the Packet-Buffer Network driver to user-space Network adapter Interrupt Adapter-FIFO Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 31. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary From generic to ringmap User-Applications Packet-Buffer generic Libpcap-Functions Eliminate packet copies and Userspace syscalls Kernelspace BPF BPF-Buffer is then not necessary Kernel-Thread Packet filtering is possible in both kernel and Packet-Buffer xN user-space ISR Mapping the Packet-Buffer Network driver to user-space Network adapter Interrupt Adapter-FIFO ⇒ ringmap Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 32. Outline Motivation Ringmap Capturing Stack Background From generic to ringmap Solution Overview Performance evaluation Summary Overview Packet Copy Functions Packet Copy Functions User-Applications User-Applications User-Buffer Packet-Buffer Libpcap-Functions Libpcap-Functions Userspace Kernelspace Userspace BPF-Buffer BPF BPF Kernelspace Kernel-Thread Kernel-Thread Packet-Buffer Packet-Buffer xN xN ISR ISR Network driver Network driver Adapter-FIFO Network adapter Interrupt Adapter-FIFO Network adapter Interrupt standard Capturing Stack ringmap Capturing Stack Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 33. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary Measurements and performance evaluation Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 34. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary Goal of measurements Conducting performance evaluations of ringmap capturing stack CPU-Load and packet loss during capturing Benchmarking: generic vs. ringmap Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 35. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary Testbed Capturer Packet generator FreeBSD Linux-SMP control traffic Linux generated packets Test control system Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 36. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary Measurement setup Traffic generation Linux Kernel Packet Generator (pktgen) generates network packets at very high speed with different: packet sizes bit-rate and packet-rate Capturing ringmap and generic stacks Libpcap-application accessing packets through call pcap loop() counting the captured packets Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 37. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary Calculation of results System load Percentage proportion of time the CPU spent in system mode Interrupt load is not considered because of interrupt-throttling it is always constant for generic and ringmap syst = 1 − intr − user − nice − idle Packet loss Difference between generated and captured packets Packetsloss = Packetssend − Packetsreceived Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 38. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary Testing sequence 1 Login to the capturer to start of capturing start of system load measurement applications 2 Login to the Packet-Generator to generate traffic with: a certain number of packets a certain bit-rate and packet-rate 3 Login to the capturer to stop capturing- and measurement-applications 4 Storing of measured values Each experiment is repeated five times The mean and standard deviation is calculated Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 39. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary Results Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 40. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary generic vs. ringmap: Packet loss 100 64-bytes packets ringmap 200-bytes packets ringmap 300-bytes packets ringmap 64-bytes packets generic 200-bytes packets generic 80 300-bytes packets generic Standard deviation 60 packet loss (%) 40 20 0 0 100 200 300 400 500 600 700 800 900 1000 Bit-Rate (MBit/s) Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 41. Outline Motivation Measurement setup Background Testing sequence Solution Results Performance evaluation Summary generic vs. ringmap: System-load 100 64-bytes packets ringmap 200-bytes packets ringmap 90 300-bytes packets ringmap 64-bytes packets generic 200-bytes packets generic 80 300-bytes packets generic Standard deviation 70 60 Systemload (%) 50 40 30 20 10 0 0 100 200 300 400 500 600 700 800 900 1000 Bit-Rate (MBit/s) Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 42. Outline Motivation Background Achieved Goals Solution Future Works Performance evaluation Summary Summary Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 43. Outline Motivation Background Achieved Goals Solution Future Works Performance evaluation Summary Achieved goals Enhanced Capturing-Performance very low system load (below 12%) and very low packet loss (below 0.02%) only during capturing smallest 64-Bytes packets for maximal reached packet-rate (> 450000pkts/sec) Stability and usability of implemented software during all experiments, no kernel panics and no segmentation faults occurred very simple install and remove two Shell-Scripts to installing and removing the ringmap Capturing Stacks Libpcap-applications don’t require modification in order to run with the ringmap Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 44. Outline Motivation Background Achieved Goals Solution Future Works Performance evaluation Summary Achieved goals 2 Ringmap is easily portable to the other network controllers The software contains hardware dependent and hardware independent parts. Only hardware dependent part require modifications. The generic driver and libpcap should contain a few hooks for calling ringmap-functions. Packet Filtering Packet filtering can be accomplished using both libpcap- and kernel-BPF. Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 45. Outline Motivation Background Achieved Goals Solution Future Works Performance evaluation Summary Achieved goals 3 Multithreaded Capturing Multiple applications can capture from the same interface. Partly ported to the 10GbE controller Currently only one queue is used while capturing. The work on supporting multiqueue is in progress. Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur
  • 46. Outline Motivation Background Achieved Goals Solution Future Works Performance evaluation Summary Future works Benchmarking: Zero-Copy BPF vs. ringmap Support for hardware time stamping Writing the packets to the disc from within the kernel Enabling TCP/IP stack 10-GbE-Packet-Capturing: Multiqueue support Support for hardware packet filtering Extending ringmap for packet transmission Alexander Fiveg Ringmap Capturing Stack for High Performance Packet Captur