用于Linux的文件传输工具,支持零拷贝传输


2

是否有用于Linux的小而简单的文件传输工具,它可以使用“零拷贝”样式将文件从HDD(SSD)传输到tcp套接字,然后返回?

我想经常在两台PC之间发送大量不可压缩的独特数据(数百GB)以太网,1 Gbit或10 Gbit。我不需要加密,也不需要压缩,没有重复数据删除/增量传输,也不需要工具的任何额外校验和(因此,没有scp也没有默认值rsync); 只是高带宽的线性磁盘读取和高网络利用率。

而且我也想工具不是让大量的内存拷贝,而是用现代的Linux内核的“零拷贝”基础设施:系统调用splicevmsplicesendfile等有了零拷贝工具,可以跳过大多数数据复制程序,指示内核阅读一些来自HDD / SSD / RAID(DMA读取到页面缓存)的数据,然后将其重新打包成数据包并将网卡编程为直接从pagecache执行DMA。这种“zerocopy”方法将降低传输的系统负载,因为CPU不必崩溃文件数据的每个字节。转移的一方可能有慢CPU ......


Apache有sendfile支持。
Cristian Ciupitu

此问题可能更适合软件建议
Cristian Ciupitu

Cristian Ciupitu,Apache是​​一个巨大的守护进程。我寻找小而简单的东西,比如rsync + rsyncd / scp + ssd / netcat ...
osgx 2014年

1
来自fa.linux.kernel的有趣主题:groups.google.com/forum /#!topic/fa.linux.kernel/0Gw6MIvix_k“splice / vmsplice性能测试结果”,作者:Jim Schutt,2006-11-16,源代码为“ dnd“单文件磁盘 - 网络 - 磁盘传输工具。它有几种数据读/写/拼接方法。
osgx 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.