【问题标题】:Ipyparallel module load on a cluster extremely slow集群上的 Ipyparallel 模块加载速度极慢
【发布时间】:2016-08-25 14:10:46
【问题描述】:

我创建了一个由 host0 到 host47 组成的 48 节点集群(所有节点都是具有 no NFS 的 g2.2xlarge Amazon EC2 实例)。 根据https://ipyparallel.readthedocs.io/en/latest/process.html,我在host0 上创建了一个控制器,在host1 到host47 上创建了47 个引擎。我已经从StarCluster 项目复制了sshipyparallel 集群的大部分配置(但是,正如我所说,没有NFS)。 集群工作并且似乎产生了正确的结果,但加载模块有时需要很长时间。 例如,

import ipyparallel as ipp
client = ipp.Client('/path/to/ipcontroller-client.json',sshkey='mykey')
view = client[:]
view.block=True

with view.sync_imports():
    import time
    import numpy
    from keras.models import Sequential
    from keras.layers import Dense, Dropout
    from keras.regularizers import l1
    from keras.optimizers import SGD
    from subprocess import check_output

需要 30 多分钟才能完成。如果我更改为block=False 和view.wait(),这不会改变。同样使用view.execute("import time; import numpy; import keras.models ...") 也无济于事。我知道加载keras 模块有点慢,但在我的本地机器上通常不到 1 分钟就可以完成。我已经尝试过 pickle 和 json (un)packing。 我应该提到,当我使用 same 集群进行另一个计算时,模块的加载工作正常。我猜加载的模块在某处缓存。但是当我终止实例、创建新实例并配置新的ipyparallel 集群时,我在模块加载方面遇到了同样的问题。

查看ipcontroller的日志,可以发现大部分请求对应sync_imports

2016-08-25 12:12:02.310 [IPControllerApp] queue::client '\x00"_\x0b\x0b'
submitted request '46244cf0-ad0a-4748-a84c-8d3d69d8252c' to 0

在几分钟内完成。但是,其中一些需要大约 30 分钟。请参阅以下来自 ipcontroller 日志的 complete_time - submit_time 直方图。

我最近才开始使用 python,但我不知道这里可能出现什么问题。似乎完成时间和提交时间之间的最大时间差随着集群大小的增加而增加。 任何指向可能问题的指针都非常受欢迎。

顺便说一句:我使用的是 Python 2.7.6 和 Ipyparallel 5.1.1

【问题讨论】:

    标签: python amazon-ec2 theano keras ipython-parallel


    【解决方案1】:

    我目前最好的猜测是问题是由 EBS 卷的初始化引起的——有时这可能有点慢。 集群实例总是从图像开始,并在计算完成后立即终止。从快照创建的 EBS 卷必须从 S3 获取其数据。见AWS EBS documentation

    新的 EBS 卷会在它们出现的那一刻获得最大性能 可用且不需要初始化(以前称为 预热)。但是,已还原的卷上的存储块 必须初始化来自快照(从 Amazon S3 和 写入卷),然后才能访问该块。这 初步行动需要时间,并可能导致显着增加 第一次访问每个块时 I/O 操作的延迟。 对于大多数应用程序,在整个生命周期内摊销此成本 量是可以接受的。数据恢复后性能恢复 访问一次。

    【讨论】:

      猜你喜欢
      • 2018-05-07
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多