Git Product home page Git Product logo

Comments (3)

gjulianm avatar gjulianm commented on June 19, 2024

Hello,

No, this project has been deprecated for some time and hasn't seen any new development. However, if you're interested in it it shouldn't be too difficult to update to newer DPDK versions, you can give it a try.

from dpdk2disk.

jmtobin-uh avatar jmtobin-uh commented on June 19, 2024

Thanks. I can run it with DPDK 22.11 now. I had some more questions - what duration were you able to sustain writing at/above 25Gbps? And what was the packet loss (if any)? I am having trouble writing packets reliably after about a second at 25Gbps. I can go into greater detail if this is something you have any interest in helping with (if not, no problem).

from dpdk2disk.

gjulianm avatar gjulianm commented on June 19, 2024

Capture without loss should be sustained until you reach approx. 75-90% of disk capacity, at that point it usually starts to degrade (depends on disk format, hardware and RAID configuration). If you're seeing losses after a second, the most likely issue is that your disks are not capable of actually ingesting at that speed, and it only works the first second without lossess because of caches.

Packet loss is usually more dependent on the hardware and configuration than the code itself. With the appropriate hardware we got capture at 40G without losses. Usually, packet loss is either due to a bottleneck either in the writing or the reception.

  • Check that the disks are capable of writing at that speed. Check hardware specs, and run some benchmarks (a quick way to check is by using dd, check here for examples) to ensure disks are capable of writing at that rate.
  • Make sure that the application can receive the traffic by itself. You can disable capture to disk with the APP_IO_RX_DROP_ALL_PACKETS compile-time define and check loss rate.

There are multiple ways to fix the loss, depending on the cause:

  • Any of them: ensure proper NUMA core allocation. The best allocation scheme usually is to have network card, DPDK cores and disks in the same core. However, performance in NUMA systems isn't always predictable so you can try with different combinations.
  • Disks: Check that the file format is appropriate for high speed capture (XFS has worked well for us).
  • Disks: If they exist, RAID configurations should be tuned for high speed writes (for example, high block sizes, RAID0 layouts).
  • CPU: Make sure that the core is not being throttled. Check that the scaling governor for the cores you're using is set to performance.
  • CPU: Ensure core isolation. Configure isolcpus in the boot parameters to tell the kernel to not schedule any process in the cores you want to use for capture. If hyperthreading is active, make sure that both virtual cores of each core are isolated and not just the one you're using.

I hope this helps you find the issue that's causing the packet loss.

from dpdk2disk.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.