Ограничения к использованию LocalCluster? Сбой сохранения 50 ГБ данных в 90 ГБ памяти

Информация о системе: CentOS, python 3.5.2, 64 ядра, 96 ГБ ОЗУ

Поэтому я пытаюсь загрузить большой массив (50 ГБ) из файла hdf в оперативную память (96 ГБ). Каждый блок примерно на 1,5 ГБ меньше, чем предел рабочей памяти. Кажется, это никогда не завершается, иногда происходит сбой или перезапуск рабочих, также я не вижу увеличения использования памяти на веб-панели управления или выполнения задач.

Должно ли это работать или я что-то упускаю здесь очевидное?

import dask.array as da
import h5py

from dask.distributed import LocalCluster, Client
from matplotlib import pyplot as plt

lc = LocalCluster(n_workers=64)
c = Client(lc)

f = h5py.File('50GB.h5', 'r')
data = f['data']
# data.shape = 2000000, 1000
x = da.from_array(data, chunks=(2000000, 100))
x = c.persist(x)

1 ответ

Это было недоразумение о том, как куски и рабочие взаимодействуют. Конкретно меняя способ LocalCluster инициализируется устраняет проблему, как описано.

lc = LocalCluster(n_workers=1) # This way 1 works has 90GB of mem so can be persisted
Другие вопросы по тегам