Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Increasing Write Speed to File from Packets Received Through DPDK #1419

Unanswered
izlim asked this question in Q&A
Discussion options

Dear all,
We are using DPDK to transfer files and write to SSD on the receiver side.
On the sender side, we are splitting the files into 1024-byte packets before sending over to the receiver.
Currently, on the sender side, we are using a worker lcore to retrieve the packets and storing the file data in a buffer while the main lcore writes the data to file using write().

However, we are realizing that the write speed is not fast enough to keep up with the number of packets being received.
We have tried using io_uring to aid speeding up the writing but it seems to be even slower than just writing the file normally.

We are looking at a few solutions, each with their own issues:

  • Kernel polling (requires file names to be registered beforehand and might have issues with dynamic file transfer)
  • Offload the wait_cqe/peek_cqe to a different thread/DPDK lcore (requires more complicated management of resources)
  • O_DIRECT to eliminate copying to kernel space (buffer storing file data needs to be continuous and flat, requiring copying of data to another buffer in userspace)

We would like to check with the community if you have any DPDK compatible suggestions that would help improve file transfer and write performance based on your experience.

Thank you very much in advance.
Best Regards,
Isaac LIM

You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /