我试图从多台(8台)远程计算机向单台计算机(主进程)传输大量数据(long int数组)。所有这些都通过一个100 MBps的局域网连接,并且是相同的机器(所以不用担心内存不足)。通过套接字传输大型数组的最快方法
每台远程机器都有一个长8GB的int数组,我必须将它传输到单台计算机进行处理。我的问题是将这些阵列快速转移到主流程的最佳方式是什么。我尝试使用传统的TCP来完成这项工作,并且传输数据需要大量时间(大约28分钟)。有什么办法可以提高速度吗? 。将切换到UDP帮助我吗?会使用多个端口/套接字帮我缓冲吗?什么是解决这些问题的最佳方法?
我可能不会压缩数据(其中大部分是唯一的),我需要发送的一切(我的主要工序进行重要的操作)
只是一个想法 - 你有没有尝试过压缩? –
你真的需要一次发送所有的数据吗?也许你可以将它存储在某个地方(例如,在某个数据库中)并通过块递增获取它?如果您不解释数据的真实含义以及它来自哪里,我们无法提供帮助...... –
尝试将算法移至数据,而不是将数据移至算法。也许map-reduce可以帮助你。 – nwp