【问题标题】:The fastest way to read a file in remote machine在远程机器中读取文件的最快方法
【发布时间】:2016-09-24 07:29:01
【问题描述】:

我想找到在远程机器上读取文件的最快方法。

我想要的远程 I/O 方式

要求是:

  1. 机器 B 从机器 A 中的磁盘 A 读取文件(或页面)。
  2. 用于快速传输、重叠 DiskI/O 和 Network I/O。
  3. 文件大小为一页(可能是64KB~4MB)
  4. 我不想使用 NFS、FTP 或类似的东西。

环境是:

  1. 我有 100 台机器在同一个房间里。
  2. 所有机器都通过Infiniband(带宽:1GB/s ~ 1.5GB/s)连接,所以我可以使用RDMA
  3. 每台机器都有 Intel PCI-E SSD(顺序读取带宽 1.0GB/s ~ 1.5 GB/s)
  4. 操作系统为 CentOS 6.4

是否有任何库或实现方式? 我听说过 MPI I/O,但我不明白它到底是什么。

请帮助我。 谢谢

【问题讨论】:

  • 远程机器有多远?同一个房间?同一栋楼?大陆?您的硬件预算是多少?
  • 这在某种程度上取决于文件的大小。如果它很小,NFS 可能是最快的。如果它很大,FTP 可能是最快的。
  • 编辑您的问题以改进它。见我之前的评论。提供更多细节:两台计算机有多远?什么确切的网络连接?什么操作系统?什么样的电脑和硬件
  • 连接延迟也很重要。一些传输协议不能很好地处理高延迟连接。不幸的是,TCP 就是其中之一。
  • 对不起,我迟到了。致 Basile Starynkevitch:我有 100 台机器,它们通过 infiniband(40Gbit) 连接并且在同一个房间里。我会修改我的问题。谢谢!致 Mark Setchell:我认为文件大小为 64KB~4M。但我不想使用 NFS 或 FTP,因为这不是我的目的。

标签: io mpi system-calls disk


【解决方案1】:

通常不应该在意。 (硬件)网络将始终成为瓶颈。尝试拥有您能负担得起的最快的网络硬件。

大多数网络(以太网、有线)连接速度为 1Gbits/秒(这些都是便宜的)。只有当两台计算机在物理上靠近(同一个房间或建筑物)并且在没有加载的网络上时,您才能获得该速度。

您可能会花费数百欧元或美元购买 10Gbits/sec 以太网卡。你需要两个(每边一个)。甚至如此快速的以太网也比磁盘或 SSD 慢得多......

没有软件解决方案能够避免网络瓶颈。一个标准的、配置良好的ftp 连接能够使网络饱和(在几个百分点内)。本地文件数据通常位于page cache 中(因此拥有更多 RAM 可能会稍微提高性能)。

MPI 与您的情况无关。

如果您负担得起,请购买两张 10Gb/s 以太网卡并使用 SSD。软件无关紧要。硬件是瓶颈。

附言。当然,它们是例外(例如,将文件传输到火星上的机器人)。但是你仍然需要在你的问题中解释更多你的限制。

【讨论】:

  • 我不同意这种简化。答案做出了OP未指定的假设。在很多情况下,软件很重要。考虑通过作为 Internet 一部分的 10 Gbps 路径进行的洲际文件传输。或者使用 128 Gbps HPC 互连的文件传输。或者是被防火墙和安全限制所困扰的连接。或者一个非常不可靠的互连......在任何这些情况下软件很重要ftp不会削减它。
猜你喜欢
  • 2010-10-29
  • 1970-01-01
  • 2012-08-26
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
相关资源
最近更新 更多