Python 3.7, Странная проблема многопроцессорности, Ядра внезапно замедлились - PullRequest
0 голосов
/ 02 марта 2019

Я использую свой новый Mac OSX 10.14 для обработки пакетного задания.Ipyparallel работал нормально, пока вдруг не начал работать медленнее.В первый раз, когда это произошло, я перезагрузил компьютер, и это, похоже, решило проблему.В следующий раз, когда это произошло, я (тупо) прекратил процессы Ipcluster на мониторе активности.Теперь кластер всегда работает медленнее, чем одно ядро, если раньше он работал быстрее.

Можно ли повредить аппаратное / программное обеспечение, остановив процесс таким образом?Я также заметил, что кластеры используют 100% моего процессора, когда раньше этого не было (1200% на моем 6-ядерном компьютере).Я скопировал приложение на мой старый Mac, и оно работает там быстрее с ipyparallel.Я попытался переустановить Anaconda и до сих пор нет результатов.

import numpy as np
from ipyparallel import Client
rc = Client(profile='default')
dview = rc[:]

with dview.sync_imports():
import numpy

data = np.array([np.random.rand(100000)] * 6)

%%timeit
result = np.zeros(data.shape)
for i in np.arange(0,6):
result[i,:] = np.sin(data[i,:])
result
--707 µs ± 11.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

%px import numpy as np

def sin_fun(i):
return np.sin(data[i,:])
dview.push({'data': data})

%%timeit
results = dview.map_sync(sin_fun, np.arange(0,6))
results
--74.3 ms ± 4.57 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

ipyparallel 6.2.3 py37_0 pyzmq 18.0.0 py37h0a44026_0 tornado 5.1.1 py37h1de35cc_0

...