Ferramentas de transferência de arquivos para o linux com suporte a transferência de cópia zero

2

Existem pequenas e simples ferramentas de transferência de arquivos para o Linux, que podem usar o estilo "zero-copy" de transferir arquivos do HDD (SSD) para o soquete tcp e de volta?

Eu quero muitas vezes enviar uma quantidade enorme de dados exclusivos incompressíveis (dezenas de centenas de GB) com Ethernet, 1 Gbit ou pode ser 10 Gbit, entre dois PCs. Não preciso de criptografia nem compactação, nenhuma transferência de deduplicação / delta e nenhuma soma de verificação extra da ferramenta (portanto, não há scp nem padrão rsync ); apenas alta largura de banda de leituras de disco linear e alta utilização de rede.

E também quero que a ferramenta não faça muitas cópias de memória, mas use a infraestrutura "zero-copy" do kernel Linux moderno: syscalls splice , vmsplice , sendfile , etc. Com ferramenta de cópia zero pode ignorar a maioria dos procedimentos de cópia de dados, instruindo o kernel a ler alguns dados do HDD / SSD / RAID (DMA lido para pagecache) e, em seguida, reempacotá-lo em pacotes e programar a placa de rede para fazer DMA diretamente do pagecache. Essa abordagem "zerocopy" reduzirá a carga do sistema da transferência, porque a CPU não precisará desintegrar todos os bytes de dados de arquivo. Um lado da transferência pode ter CPU lenta ...

    
por osgx 28.05.2014 / 22:35

0 respostas