为什么在EC2机器上复制内存会变慢?

时间:2016-04-09 21:49:39

标签: python memory amazon-ec2

我的EC2机器上的内存副本似乎出乎意料地慢了。我想找出原因。

在大多数计算机上,我观察到大容量内存复制带宽为3000 MB / s。请参阅以下Python代码段:

In [1]: data = b'0' * int(1e8)  # 100 MB

In [2]: %time len(data[1:])     # memcopy
CPU times: user 18.4 ms, sys: 8.62 ms, total: 27.1 ms
Wall time: 27.1 ms
Out[2]: 99999999

In [3]: 100000000 / 0.027 / 1e6  # MB/s
Out[3]: 3703.703703703704

但是,在EC2上,这会发生显着变化

In [1]: data = b'0' * int(1e8)  # 100 MB

In [2]: %time len(data[1:])     # memcopy
CPU times: user 44 ms, sys: 148 ms, total: 192 ms
Wall time: 192 ms
Out[2]: 99999999

In [3]: 100000000 / 0.192 / 1e6  # MB/s
Out[3]: 520.8333333333333

永远不会看到memcpy之前慢慢运行。可能的原因是什么?

设置

软件环境大致相同。我在每台机器上运行Ubuntu 14.04和Anaconda和Python 2.7。硬件 不同

  • 笔记本电脑(Thinkpad w540):Intel(R)Core(TM)i7-4700MQ CPU @ 2.40GHz
  • EC2 Machine(m4.xlarge):Intel(R)Xeon(R)CPU E5-2670 v2 @ 2.50GHz

0 个答案:

没有答案