You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
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:
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
Beta Was this translation helpful? Give feedback.
All reactions